{RP}

Generative Art


Conway's Game of Life Simulated in Tears

While not a school or work related project, I have been working on a generative art project. I am using the p5.js library to create a generative art piece. I have been using the library for a while now, but have never used it to make a generative art piece. I have been learning about the library and experimenting with it. I have been inspired by the work of Daniel Shiffman and his coding challenges on YouTube. I have also been inspired by the work of the artist, James Jarvis. I have been using the library to create a piece that is based on the work of Jarvis. I have been using the library to create a piece that is based on the work of Jarvis. I have been using the library to create a piece that is based on the work of Jarvis. I have been using the library to create a piece that is based on the work of Jarvis.

Starting out


My first experiments were with TouchDesigner. I was trying to create a piece that was simple and abstract. The idea of a "loading icon" came to mind. So I first created looping noise with colors.

Simplicity

Then I created a handful of flat rectangular shapes with their scale, rotation, and position being controlled by the noise. The colors of the rectangles were generated using a simple color "neighbor" algorithm. This allowed me to create a simple color palette, based on a single "center" color. I hooked up a few triggers to the piece, so that I could randomize the colors and noise values at the push of a button. After a few iterations, and some tweaking, I was happy with the result. The image to the left is a screenshot of one of my first iterations.

After more experimentation, I switched out the rectangles for circles. I also added a few more controls to the piece. This allowed me to tweak the number of circles, the size of the circles, and the speed of the noise. While I was happy with the result, I felt that the piece was a bit too simple. I wanted to add a bit more complexity to the piece. I figured the obvious next step would be moving from 2d to 3d. So I switched out the circles for spheres and began experimenting once again.

A little more complexity


After a few iterations with opaque spheres, it was clear transparency was the way to go. Here is a recording of one of my first iterations with transparent spheres. I'm happy with the result, but while I liked the look of the spheres, I felt that the 3d aspect of the piece was a bit limiting. There is also a clear "bounce" effect where the noise "loops" (or really changes direction) to it's starting point. I did make the change to a noise loop that was a bit more subtle. Though by now, I was starting to loose interest in the piece. I felt that I had reached a point where I was just tweaking the piece to make it look a bit better. I was not really learning anything new. So I decided to move on to a new project.

Further Explorations


I ended up taking a break from loading icons for a while. I quickly experimented with a few other ideas, creating "slope fields" with long trailing lines. However, I found music reactive pieces to be a bit more interesting. I had a LED strip that I used to create a 1D music visualizer. I added "kick", "snare", and "bass" triggers to rapidly change the color of the LEDs to the music. I added a "paused" trigger to the piece, so that when the music was paused, the LEDs would slowly fade to black, then after a few seconds display random colors generated from 3d noise.

Simplicity

I was (and still am) very happy with the result. I had it setup in my room and it was a great way to experience music while working or relaxing. That said, the LED strip aesthetic wasn't my favorite so I ended up taking it down. I also wanted to port the piece to python and use a raspberry pi to control the LEDs. I worked on this for a while, but my limited knowledge of realtime signal processing made it a bit difficult to get the piece to work as I wanted. Cleaning the signal to create a stable frequency spectrum, all while keeping the piece realtime, was pretty tricky. Currently I'm taking a break from the project, but I plan on coming back to it in the future.

Made with ❤️