The Tickle Trunk

Turing's Reaction-Diffusion Model of Morphogenesis

Send Feedback      Home Page > The Tickle Trunk > Reaction-Diffusion

Generating Natural Textures

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.

Multi-stage Textures

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:


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

Source Code


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:

Blank Images

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, 3772 (1952)

April 14, 2002 Updated January 01, 2011