dinner suggested dressing EA characters in CA
clothes. “Well, none of us had any say about things
like that,” said Alan. “I was sitting with all engineers.”
I use CA patterns for making the page borders for
my webzine Flurb ( flurb.net). I run a CA program in
which the display area is only 64 pixels wide, then
I save a number of narrow images to use as page
borders in my zine. CAs adjust themselves to
whatever space you give them to compute in, so
the patterns fit nicely into the narrow rectangles.
My idea was to procedurally generate something
like the borders that used to be on the edges of
the early Mad comics and the late Weirdo comix.
THE UNDERLYING PRINCIPLES
At this point, I should explain a little more about
what a cellular automaton is. The idea is to fill a
region of space with identical cells, each holding a
smoothly varying number, called its value. To each
value, we assign a color. The tricky part is how we
update the cell values. A computer program tells
each cell to look at its present value relative to the
values of its nearest neighbors, after which it applies
a simple rule to adjust itself to its environment.
What kind of rule? One of the simplest and most
interesting rules is to have the cell average its value
with the values of its neighbors, add some small
increment, and if the result is larger than, say, 100,
72 Make: Volume 12
CA IN THE REAL WORLD: Barbie and Donna Borecky
wearing dresses with 2D CA wave equation patterns;
Donna sewed the dresses. The author’s webzine Flurb
gives each story a custom CA-generated sidebar,
cultured in a 65×1200 pixel world. FACING PAGE: A 3D
representation of a 2D CA of the Belousov-Zhabotinsky
type. Cell intensities are represented as heights.
drop back down to 0. This produces a dynamic
pattern that can resemble a lava lamp!
Some readers may have heard of John Conway’s
Game of Life, an early CA program in which the cell
values are either 0 or 1. For a nice Java implementation, see math.com/students/wonders/life/life.html.
In the Capow CAs, we allow the cells to have a
continuous range of values, which is why they’re
so good at modeling nature.
I work with both one-dimensional and two-dimensional cellular automata, that is, 1D CAs
and 2D CAs. In a 1D CA we’re looking at something
like a vibrating string, and in a 2D CA we’re looking
at something like a vibrating membrane.
When displaying a 1D CA, we fill up the screen by
showing a kind of space-time diagram; we show
successive generations of the rule, one atop the
other, with the upper rows representing successively earlier generations.
When displaying a 2D CA, we’re simply looking
down at a little plane of virtual computers working
away like mad in parallel. In Capow, you can put the
cursor into “touch” mode and click on one of the
images, as if throwing a rock into a virtual pond.
CAs are a good match for the physics of the
natural world: both are parallel processes based on
local interactions. When you set off ripples in a pool,
nature is doing something very much like running
Photography by Alan Borecky (left and center) and Rudy Rucker (right)