I recently saw a very interesting photo of a sea shell on Flickr.
The patterns on the shell appear to be very similar to that of a mathematical structure called a Sierpinski triangle – and this is no coincidence.
A snail’s shell can grow only by adding on new material in a thin layer on the lip the shell. The pigmentation cells lie in a narrow band on this lip, and decide whether to switch on or off depending on the pigmentation of the area immediately around it. In short, the pigmentation patterns can be modelled as elementary cellular automata very accurately.
Several elementary cellular automata rule sets produce similar structures to that seen on the shell. Combine these basic rules with a little bit of noise due to nature, and you get these beautiful pattens with a bare minimum of computational effort.
The snail that grew the shell above is from the family Conidae. Other species have slightly different rules for pigmentation, but all produce their patterns by a method that can be modelled as cellular automata.