I suspect, if you’re like me, that you find the idea of modeling aspects of the natural world a bit more interesting than, say, creating an accounting program (no disrespect to accountants intended). I first got excited by programming precisely because I (finally) made the connection between math and life and glimpsed the potential of code to actually model this relationship. As a painter I used to look at nature and try to deconstruct it visually: what colors could I see in the leaves; how did the horizon recede into the distance; what made highlights and shadows appear. When I moved to code I asked many of the same questions, but could now go much deeper, beneath the surface to the very forces that created what I was looking at: what determined a tree’s branch structure; how do migrating birds organize themselves into a V; what causes the patterns in tree bark, marble, clouds, etc. And when I first began to be able to code small examples of some of these things, it was incredibly exciting—like discovering a magic box of paints. I continue to be awed and inspired by this potential of code to literally hack life.
KeywordsCellular Automaton Pixel Array Conditional Block Live Neighbor Cell Object
Unable to display preview. Download preview PDF.