patterns — rings

generator verdict no votes yet
source — color/gen_e.g10_rings
def g10_rings(rng):
    """Two concentric dots per cell — a bullseye that steps the ramp twice."""
    steps = rng.randint(5, 7)
    N = rng.choice([25, 30, 40])
    c = Canvas(N, _pal(rng), steps, "rings", "dots")
    f = Field(rng, rng.choice(["linear", "mesh"]), warp=rng.uniform(0.3, 0.6), steps=steps)
    c.ground_from(f)
    for j in range(N):
        for i in range(N):
            u, v = c.uv(i, j)
            k = f.idx(u, v)
            cx, cy = c.center(i, j)
            c.dot(cx, cy, 0.46 * c.C, (k + 2) % steps)
            c.dot(cx, cy, 0.22 * c.C, (k + 4) % steps)
    return c
rings-dots-30-d29f
rings-dots-30-d29f
rings-dots-25-d36c
rings-dots-25-d36c
rings-dots-25-7f68
rings-dots-25-7f68
rings-dots-40-a0b7
rings-dots-40-a0b7
rings-dots-40-9faa
rings-dots-40-9faa
rings-dots-30-86e7
rings-dots-30-86e7

generator