Spinning EDDY
written by elsif
I started with the idea behind one of my earliest fxhash projects, k-NN!, where colored points (seeds) are randomly scattered onto a 2D canvas to influence the colors of pixels around them. Unlike k-NN! where each pixel's color was inferred based on many neighboring seeds to create a faceted look, EDDY uses a voronoi algorithm to define a cell around each seed, then fills the cell with a gradient. The gradient is based on the cell's seed color and the color from one of its nearby seeds chosen at random.
To improve the composition, I added a random centroid to the canvas that attracts the seeds to it.
I really liked these outputs and that's why you can press "r" in EDDY to see them. However they didn't feel happy enough to me. I tried applying a fractal based warping using some of my code from Elswhere Atlas, and the outputs reminded me of Volatile Moods' beautiful project Slumbers. I liked the playfulness of the outputs, but the overall look still didn't feel right, so I decided to explore different warping methods to create a circular fluid feeling.
a∗maxAngle∗cos(b∗PI/2)The basic idea is simple, translate each pixel by an amount based on its distance to the center, along the equidistant circle. I used the equation above where 'a' is a function of the normalized distance and 'b' controls how much to move the pixel. Varying 'a', 'b', and maxAngle can achieve a variety of different swirling effects.
I can write a lot more about other aspect of the project such as colors, texture, and optimizations, but I think this is enough for one article. I'll leave you with a couple of small undocumented features.
If you need some help with printing your piece please feel free to contact me. Saurabh pointed out to me that pressing [6] to render the highest resolution image may not work on some machines.