making-of
techniques
progression
Spinning EDDY

Spinning EDDY

written by elsif

09 Dec 202217 EDITIONS
3 TEZ

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.

cells near the centroid are denser and smaller
cells near the centroid are denser and smaller

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.

amaxAnglecos(bPI/2)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.

press "u" to remove the white margin
press "u" to remove the white margin
press "g" for grayscale
press "g" for grayscale

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.

project name project name project name

stay ahead with our newsletter

receive news on exclusive drops, releases, product updates, and more

feedback