Shell patterns

Ever wonder how beautiful sea shell patterns form?

This model roughly simulates the patterns formed on certain Mollusc sea shells.

The simplest model of such a pattern is based on a single rule. We can describe this rule in terms of coloring-in blank squares:

You will see that, within each new row, color spreads to local neighbors (positive feedback), resulting in diagonal lines. Diagonals that meet cancel out (negative feedback), resulting in empty spaces. Each step, color only spreads locally, but results in interesting global patterns seen in certain sea shells. Run the Scratch model to see the results and look at the drag and drop code.

A model that yields more realistic patterns uses a simple infection and recovery model. Let’s examine this in some depth. You can start by looking at the models.  We have one version in Scratch (drag and drop code, but lower resolution), and another in NetLogo (higher resolution).

How it works

The model simulates pattern formation on a growing shell. It uses a single horizontal row of Sprites (the Sprites are called turtles if using the higher resolution NetLogo version of shell patterning) to simulate cells that spread pigment. The Sprites change color over time, then they move down a row and leave a permanent record of the color change on the shell surface. Repeating that process creates a pattern.

The program first creates a row of Sprites (turtles in NetLogo). A few Sprites are “infected” (shown as red). At each time step, the infection spreads to the two susceptible neighbors on the right and left of the infected one.

After a Sprite is infected, that Sprite recovers and is immune for the next few time steps, after which the Sprite returns to being susceptible to infection.

At each time step, the infected Sprite (which is colored red) leaves a “stamp” of itself on the patch behind it, so leaves a red square on the background image. The row of Sprites moves down to the next row of patches. This process of turtles stamping on the patches (simulating a shell surface), leaves a permanent record (like a time-space diagram or plot), resulting in the type of patterns on certain shells.

The percentage of Sprites recovering with immunity at each time step is a key part of the pattern formation (see below).

This process creates a pattern roughly as seen in certain Mollusc shells.

How to use it

In Scratch, click the green flag. 

In the NetLogo version, you click setup then click go. 

Things to notice

If there were no infection process, then the stamping would just produce verticle red stripes. But the infection process allows the red to sread horizontally as well as vertically.

Infection only travels sideways, horizontally, because there is a single horizontal row of Sprites. So the red spreads out to the sides from each initially infected Sprites. The combination of sideways spread and downwards motion of the row leaves V shaped (or upside down V shaped) patterns. If there were no immunity the red color would eventually just spread over most all the shell. The immunity leaves blank spots inside the red V shapes.

The percentage of Sprites recovering with immunity at each time step is very important part of the process. Why do you think?

Things to try

Try turning off the infection process. Vertical stripes should result, as described above. 

Try adjusting the likelihood of recovering with immunity. The most shell-like patterns occur when the percentage of Sprites recovering with immunity at each time step is set between about 50% to 90%. But you can adjust to see what happens. (In NetLogo adjust with the slider called %recover-with-immunity).

Credits and references

The model is based on Meinhardt’s modeling of sea shell patterns. I (Chris Keane) made several simplifications and adaptions for implementing in NetLogo and Scratch.

This is a case of emerging pattern formation. The model is roughly based on the pigment pattern formation on mollusc shells as outlined by Meinhardt (2003, see also Meinhardt and Klingler, 1987, for a more general treatment). The proposed process involves incorporation of pigment during shell growth along the edge. The pigment spreads only in a linear bi-directional way, horizontally, but leaves a record in the vertical direction (direction of shell growth), resulting in a two dimensional pattern. The second dimension is a record of what happens over time, a space-time diagram.

https://www.eb.tuebingen.mpg.de/emeriti/hans-meinhardt/shells/

http://algorithmicbotany.org/papers/shells.sig92.pdf

Meinhardt H. 2003, 2009 The algorithmic beauty of sea shells, 4th edn. Heidelberg, Germany: Springer.