The Temple of Whollyness

blóm - Generative Art for TheCARDSProject

When we talk about generative art, we say things that like pixels, screens, projection mapping, processing, cinder. We say names like Robert Hodgin, Jer Thorp, Casey Reas. I'd like to add Nature to that list.

Everytime I go outside, I'm overwhelmed by what nature produces. From the patterns in butterfly wings to the shape of reptile scales to the character of trees to the forms of distant mountains, I see deceptively simple patterns that actually contain an infinite amount of variation. blóm is a study into that world, where a small algorithm can create vastly different, yet cohesive iterations.


I wanted to create a series of 150 visually-pleasing roses for TheCARDSProject. Each rose would be printed onto a trading card, but I wanted to export high-resolution images in case I wanted to make any larger prints. Each rose should be recreatable via a config file specific to each rose.

Technical Details

blóm is an openFrameworks app that generates abstract flowers. An image is generated roughly every 15-30 seconds, and the app starts by assigning about 20 random numbers to variables and placing between 30 and 300 particles in a circle that's displaced by perlin noise. The particles are attracted towards the centerpoint, but as they move the perlin noise increased in both amplitude and frequency, making the displacement stronger. As the timer ticks, the particle's positions are rendered to screen in a variety of 2D drawing styles that consider factors like the particle's velocity, index, position, and neighbors. Eventually the app saves a 25-megapixel image along with a settings file documenting the initialization variables for reference, and then it starts over with a new set of random numbers.


I always start generative art in monotone and then add colors later. I thought of the app as two components: the form and the rendering, with the effort being roughly split between the two. Much to my surprise, it took about 10 times longer to generate friendly color schemes than to define the form.

All of the variables are assigned randomly within certain ranges that were the result of running the app hundreds of times and studying the initialization variables. I would hone in on a 'sweet spot' that was especially pleasing, and slowly extend the degree of randomness until the piece began to lose its integrity. Simultaneously, I would also tweak the rendering algorithm to better highlight the form.

Because of the random nature of the algorithm, I'm often surprised by the output. Some pieces feel sinister while others are elegant.

Want to see them in person?

Come to the PDX Creative Coders meetup June 24th to buy your pack of cards that has 1 blóm print and an additional 9 prints from other amazing artists, or follow me on twitter @lucastswick to stay up to date with my generative art projects.