Posted on
2 minutes to read
A season of generative art
I've spent the last few months dabbling in the world of generative art.
To get my bearings I initially spent time reproducing early generative art like A. Michael Noll's 'Ninety Parallel Sinusoids With Linearly Increasing Period', before swiftly moving into exploring abstract minimalism, heavily leaning into the work of Ellsworth Kelly.
After I felt like I had a good understanding of the basic principles behind canvas-based static generative art, I moved into animated pieces and started adding more variables, gradients, and more complicated maths. Pieces like Exchange, Irregardless II, Lines II, and Rise III have been satisfying to produce. They might even contain the beginnings of a personal style?
A few notes on technicals and process:
- All of the pieces are produced on a 800x800 2D JavaScript Canvas.
- I built my own system for defining the parameters of each piece of artwork - number of lines, grid sizes, opacity, and things like that - as well as the interface for selecting their values and dynamically redrawing the artwork with the selected settings.
- The number of available colour palettes is growing all the time. "Felipe" is my current favourite.
- I've tried to avoid embedding "magic numbers" into pieces so that in theory they will work on any size of canvas.
- After a time I've gained a better understanding of how to define and use gradients, which has added depth to recent pieces.
- Dynamically adding noise to a canvas is computationally expensive!
- Using requestAnimationFrame is much better for animations than setTimeout or setInterval.
- Math is still not my strong point, and the hardest bit of this whole endeavour.
I will continue to make generative art. Season two starts in a few days. Thanks if you've taken the time to tinker with the work from season one.