patterns — sqcircle

generator verdict no votes yet
source — color/gen_e.g16_sqcircle
def g16_sqcircle(rng):
    """Square, inset square, inset dot. Three ramp steps stacked in one cell."""
    steps = rng.randint(5, 7)
    N = rng.choice([25, 30])
    c = Canvas(N, _pal(rng), steps, "sqcircle", "mixed")
    f = Field(rng, "mesh", warp=rng.uniform(0.15, 0.4), steps=steps)
    c.ground_from(f)
    C = c.C
    for j in range(N):
        for i in range(N):
            u, v = c.uv(i, j)
            k, t = f.idx(u, v), f.raw(u, v)
            ins = C * (0.10 + 0.12 * t)
            c.sq(i * C + ins, j * C + ins, C - 2 * ins, C - 2 * ins, (k + 2) % steps)
            cx, cy = c.center(i, j)
            c.dot(cx, cy, C * (0.08 + 0.16 * t), (k + 4) % steps)
    return c
sqcircle-mixed-25-c9de
sqcircle-mixed-25-c9de
sqcircle-mixed-25-4342
sqcircle-mixed-25-4342
sqcircle-mixed-30-3006
sqcircle-mixed-30-3006
sqcircle-mixed-25-09c1
sqcircle-mixed-25-09c1
sqcircle-mixed-30-81ab
sqcircle-mixed-30-81ab
sqcircle-mixed-30-0e45
sqcircle-mixed-30-0e45

generator