patterns — bloom

generator verdict no votes yet
source — color/auto/e002_bloom.g52_bloom
def g52_bloom(rng):
    """Dots wider than their own cell, one per 2x2 macro-cell, radius capped so
    neighbouring blooms never touch — the grid stays legible instead of clumping."""
    steps = rng.randint(5, 7)
    N = rng.choice([30, 40])
    c = Canvas(N, rng.choice(PALETTE_NAMES), steps, "bloom", "dots")
    f = Field(rng, "mesh", warp=rng.uniform(0.25, 0.5), steps=steps)
    c.ground_from(f)
    for j in range(0, N - 1, 2):
        for i in range(0, N - 1, 2):
            u, v = c.uv(i, j)
            t = f.raw(u, v)
            c.dot((i + 1) * c.C, (j + 1) * c.C, (0.30 + 0.55 * t) * c.C,
                  (f.idx(u, v) + 3) % steps)
    return c
bloom-dots-40-e3d7
bloom-dots-40-e3d7
bloom-dots-40-482b
bloom-dots-40-482b
bloom-dots-30-9e59
bloom-dots-30-9e59
bloom-dots-40-203a
bloom-dots-40-203a

generator