Technique · Simulations

Reaction-diffusion

Two chemicals that feed and spread grow spots, stripes, mazes and coral. Poke the surface to plant new growth.

Reaction-diffusion is a simulation that evolves step by step. Every piece on Synapse Drip is made from a recipe that layers techniques like this one, and you can change any of it in the Studio.

Good to know

  • Alan Turing's paper on the chemical basis of morphogenesis appeared in 1952, two years before he died; he called the hypothetical chemicals morphogens.
  • J. D. Murray's Turing-type models explain why a small patterned animal can have a striped tail but a spotted body, as leopards do.
  • Some corals, fish skins and seashells carry patterns that look very much like these solutions.
  • In 1952 Alan Turing showed that two chemicals diffusing at different speeds can spontaneously form spots and stripes; experiments since have found such patterns in chemical reactions and in the spacing of mouse toes.
  • The Gray-Scott model has two dials, feed and kill; John Pearson's 1993 survey of them found a zoo of patterns: spots that divide, worms, mazes and travelling solitons.

The mathematics

  • The model is dA/dt = Da (laplacian A) - A B^2 + f (1 - A) and dB/dt = Db (laplacian B) + A B^2 - (k + f) B, here with f = 0.055: B turns two copies of itself and one of A into three of B.
  • The spacing of the pattern is set by how far each chemical diffuses before it reacts: double both diffusion rates and the whole pattern grows by the square root of two, about 1.41.
  • Diffusion smooths and reaction sharpens; a pattern appears only when the two chemicals spread at different speeds.

In art

  • Jonathan McCabe's multi-scale Turing patterns, from around 2010, layer reaction-diffusion at several scales to make silky, cell-like images.
  • The patterns of animal coats, from tabby stripes to giraffe patches, are a subject where mathematics and natural history meet.

More ways to use it

Related techniques

Cellular automata · Sandpile · Grain growth · Slime mould · Flocking boids · Attractor cloud · Elementary automaton · Synchrony

All 90 techniques