I'm going to start every lecture with a promise and an artist to reference.
I promise that by the end of this lecture you'll be able to understand how images are made and stored on computers, and how they can be used to store more than "just" imagery.
I think alot of Anna's work is about images and systems for making images, which is why she's perfect for today's lecture - which is on exactly those things!
The main things I want you keep in mind today is that images can also be thought of as two dimensional arrays of pixel data. The way that images are usually stored in memory is in one giant one dimensional array - with all the rows of image data stacked side by side. Pixels in p5.js are (usually) stored in RGBA order, something you can move through with a pair of nested for loops - one for dealing with the rows and one for dealing with the columns in those rows.
By the end of this lecture, you'll know more about:
- Moving to four dimensions
- Artists working with space and time
- How p5.js works with images
- Spatial compression and Temporal compression
- The Fast Fourier transform
- Three kinds of feedback: audio, visual and interactive
- Conway's Game of Life, Cellular Automata and rules 30 and 110
- Boids, Evolved Virtual Creatures and emergence
- How you can use p5.js to simulate different systems
Moving to four dimensions.
Artists working with space and time.
How p5.js works with images.
Spatial compression and Temporal compression.
The Fast Fourier transform.
Three kinds of feedback: audio, visual and interactive.
Conway's Game of Life, Cellular Automata and rules 30 and 110.
Boids, Evolved Virtual Creatures and emergence.
- Boids was an artifical life system developed by Craig Reynolds in 1986. It simulated realistic flocking with just three simple rules. Compare the simulation to this murmuration.
- Evolved Virtual Creatures was a film created by Karl Sims in 1994 that showed how virtual creatures could evolve the ability to walk.
- Both are examples of emergence - or the idea that "the whole is greater than the sum of the parts".
- A great interactive essay on complex systems, how things spread - from viruses to knowledge. This area of interactive essays is interesting in itself - a good Twitter thread on the subject.
- Learning JS Data - "this guide teaches the basics of manipulating data using JavaScript in the browser, or in node.js." - very useful tutorial on reading in data in JavaScript.
How you can use p5.js to simulate different systems