Cellular Automata


In the best known example of Cellular Automata – Conway’s Game of Life, each cell has a binary state – it is either On or Off.
However, it is possible to explore similar automata where the state of each cell can be any real number in a given range – Continuous Cellular Automata.

The video above shows such a CCA in grasshopper. Each cell has a height value, which interacts with the values of its neighbours according to a simple* equation. This is a way of generating 3-Dimensional forms even though the cells only use a 2-dimensional Moore neighbourhood.

You can download the grasshopper definition here:
CAheights2.ghx

I made this by taking a Game of Life definition which Baldino had already made and simply copy-pasting some code from one of my earlier processing sketches into the VB component (well, I had to change a couple of bits of syntax, but surprisingly little).

The processing sketch uses colours instead of heights to show the value of each cell, and is mouse reactive:

fizzy

Click image for Live Interactive version + sourcecode

Its strange the way it varies between periods of calm and chaos, without ever completely settling down or degenerating to noise.

* though it took me a fair bit of trial and error to come up with this particular equation. Just like the different rulesets explored by Wolfram, little changes can give quite different results, and I ran through all sorts of odd glitchiness before finding one I liked.

Advertisements
neighbours

Click image for Live Interactive version

A little toy which demonstrates how complex and chaotic behaviour can arise from very simple rules and local interactions.

This is a type of Continuous Cellular Automata. Each cell has a scalar value which changes, based on the values of its neighbours. Then by taking the difference between the values of neighbouring cells, this scalar field is converted into a vector field.

You might also like to try the fizzy version, the musical version, the many glitchy variations, or the monster version, and I’ve also started playing with a 3D version

Source Code provided (just follow the links)