This week I'm releasing A Hill Of Seven Colors, a new generative piece that derives emergent, three-dimensional volumes from a pretty straightforward two-dimensional algorithm.
The name is a reference to the Cerro de los Siete Colores near Purmamarca, Argentina. While the piece is abstract, I wanted to make something that had a strong sense of place, merging visual ideas from textiles, geological strata, and living organisms.
A stack of paths
The main idea behind the algorithm is simple — it's just a stack of gradually deformed paths.
- Start with a grid. For each column, precompute a random 2d vector using a Gaussian distribution.
- Draw lines along each row in the grid. These are our paths.
- Use the random vectors from step 1 to displace each point in each path.
Notice how the points in each column get displaced in the same direction — the only difference is that points near the bottom are displaced less.
Smoothing
Once we have our stack of paths, I use Chaikin's algorithm to smooth them out. The result is lovely, almost handwritten looking lines. Even at this stage, you can start to see the rhythm that gives the piece its character.
Line quality
After that, I copy each path 5 times, then add a small amount of uniform noise to each point in each copy. It still looks like a single line, but the line quality's a little rougher.
The actual piece uses a grid with a lot of rows, so let's increase that before we keep going.
Flower era, soil era
When I'm generating the paths for each row, I mark some as belonging to a "flower era" and some to a "soil era." (I call them eras as a nod to the geological inspiration behind the piece.)
Paths during a flower era draw the eye with saturated colors, while paths during a soil era use a muted palette that fades into the background.
To decide which era a path belongs to, I add together three sinusoids with different frequencies. If the sum of the sinusoids is above a certain threshold, it's part of the flower era.
Three-dimensional shapes
The most interesting thing about this piece, in my opinion, is a very small detail.
I draw the paths starting from the bottom of the image, so higher paths cover up lower paths.
This decision, so small that it might seem trivial on the surface, is how this piece manages to create three-dimensional shapes despite having no awareness of the z-axis.
Color
The last piece of the puzzle is color. And to be real, this was the hardest part. I did a ton of experiments with different colors and different approaches and they were mostly unsuccessful.
That said, I think it worked out fine — the rusty pinks and reds echo the earth tones you see in geological strata, which is what I was going for — but it's something I want to pay special attention to in my future work.
I used two handmade probabilistic palettes, one for each era. The flower era is far darker and more saturated. Mostly pinks and reds, but with a light dusting of grey, blue, beige, and black. The soil era, by contrast, is very lightly saturated neutral tones.
Side note: color perception
One of the things that makes color tricky is how impressively full of quirks our color perception is.
For example, take a look at the beige margin on the bold palette versus the washed out palette. See how the margin on the bold palette looks brighter? They're actually identical, but when you put a neutral beige next to dark, saturated colors like in the bold palette, the contrast gives it an illusory boost in brightness.
What's next?
You can see more images from this piece here. If you have comments or you'd like to see more of my art, I'd love to hear from you on Twitter!