Pixels and Cellular Automata

Link to Sketch: https://editor.p5js.org/nkumar23/sketches/WMqaK0_ts

Assignment: Create a 1 minute experience of color by manipulating image or video at the pixel level.

Idea and Inspiration:

When I worked at Coursera, I would often take courses from different university partners to “dogfood” the product and get a sense of what was working/not working in my user experience. One of those courses was Model Thinking from Scott Page at the University of Michigan. This course covers a number of approaches to modeling human and system behaviors. One memorable section uses cellular automata to show how individual preferences for how similar or dissimilar they would like their neighbors to be in their home neighborhood could lead to different levels of diversity and segregation in cities. This simulation popped in my mind as we discussed pixels in class; I had a hunch that we could use the outputs of each generation of a cellular automata simulation to control pixel characteristics (like color or brightness.)

After watched Dan Shiffman’s videos on Cellular Automata and Image Processing I learned just how common this idea was— in fact, it’s one of the foundational techniques in image processing!

After getting the Game of Life model working and connecting it to a single image, Lulu and I began experimenting with styling. Lulu found an interesting effect when she plugged in an image of a desert with a blue sky, and drew lines as cells changed state to produce something akin to rain. I plugged in a segregation map of Chicago — I traveled quite a bit to Chicago in the last few years and was struck by just how segregated the city was— and changed the styling to represent movement across the map until the cells all reached a state of stasis.

Descriptive Words:

Our descriptive words for the piece overall were:

  • Cycles

  • Nature

  • Rhythms

  • Unique

  • Obscured

  • Occupation

Our descriptive words for the sections were:

  • Life

  • Death

  • Stasis