

I start with one pixel and grow a tree from it like in Prim's algorithm, except edge weights aren't decided ahead of time. At each iteration I take the next edge that maximizes (minimize works too) the angle difference between the two angles f(next_node - starting_node) and f(current_node - starting_node), where f(x, y) = (np.arctan2(y, x) + spiral_factor * (x**2 + y**2) ** 2) % tau. The pixels are colored according to the order in which they were explored, using a space filling curve through RGB space from black to white. Oh, and the pixel neighborhoods are knight jumps.
See https://www.reddit.com/r/generative/comments/1jx6r1x/disco_katamari_all_rgb_colors_exactly_once/ for discussion.
Date | |
---|---|
Colors | 16,777,216 |
Pixels | 16,777,216 |
Dimensions | 4,096 × 4,096 |
Bytes | 39,688,671 |