Color Mountains
An art experiment with Clojure and Chaikin curves
2019-06-17
A beautiful aspect of generative art is that you always start from the (almost) absolute zero, and as the times goes on you build a set of functions around you that stores all the various things you tried and let you create your own art (and code) style. This toolbelt of methods is made of lines, triangles, paths, shapes, debug functions, rendering tricks... Pretty much anything. With time, this let you build a structure to ease out your future works by quite a lot, giving you also more resources to create bigger and more complex artworks. I recently changed my whole workflow, so I had to start from the ground up once again with an empty toolbelt. Right now I already create all the most basic and useful function to do the simpler shapes and lines, but I was still lacking of some sort of path smoothing system for my drawings. So, these weeks I played with a wonderful algorithm to approximate curves in a very neat and elegant way called Chaikin's Algorithm for curves. I instantly fell in love with this algorithm because it can be tuned and modified in such interesting ways that can give your curves a unique and cool look. The algorithm has very distinct iteration steps, so I can easily draw each of its sub-iterations to give a more complex and detailed look to the lines.
With slight randomization of the Chaikin parameters, you can give each line a more unpredictable outcome.
Since each line is an array of points, those can be easily converted into paths describing 2D shapes.
While experimenting with parameters, I even found out this "little happy accident" (Bonus points to who get this quote): when you use a Chaikin parameter greater than 0.5 and crank up the iterations count, the system creates a fractal like pattern inside each path's vertex.
A unique shape gradient and blending can be achieved given the randomization and the iterative nature of the algorithm.
I really like how these shapes blends between each others and the background, so, after some experiment on various set of shapes and colors I found this style very pleasing and cool looking to give it some more work and polish. The following images are few results of this work, which I called "Color Mountains" Series.