Turing's Reaction-Diffusion Model of Morphogenesis
Send Feedback Home Page > The Tickle Trunk > Reaction-Diffusion
This is a small companion piece to my page on
L-systems. As mentioned there, in 1952
Alan
Turing wrote a paper
[2]
proposing a reaction-diffusion model as the basis of the development of patterns
such as the spots and
stripes seen in animal skin.
Inspired by the methods described in [1], I wrote the small applet that appears on this
page. By entering different constants for the
equations, it is possible to produce a variety of natural-looking textures.
Since the state of the system is initially random noise, repeating the
computation with the same constants will produce a different image with a
similar pattern. The algorithm behaves as if the "cells" were arranged on the surface of a torus,
which results in textures that can be tiled seamlessly.
Many animals develop their coat patterns in stages. Typically, a secondary pattern will emerge as the animal transitions to adulthood. The following examples all use multiple stages, as does the "ripple" pattern used as the background of this web site:
To create a multi-stage texture, uncheck the Randomize Cells at the Start of Each Run box and drop the number of iterations to a low value (between 100–400) to give you better control over the results.
The applet requires that your browser support at least the Java 6 runtime. If the applet doesn't work properly, this is almost certainly the problem. Click this button to install the latest version of Java:
Some combinations of constant values will not reach a stable state. Typically, trying to solve such a system will eventually underflow the floating point arithmetic used by the applet, producing a blank image. Just pick a different set of values and try again.
Return to Home Page Return to Tickle Trunk Send Feedback
[1] Rafael Collantes. Algorithm Alley. Dr. Dobb's Journal, December 1996.
[2] Alan M. Turing. The chemical basis of morphogenesis. Philosophical Transactions of the Royal Society of London. B 327, 37–72 (1952)
April 14, 2002 — Updated January 10, 2010