Diffusion causes pattern, not uniformity
Intuition says diffusion smooths things out — mix two chemicals and they blend into a uniform grey. Turing showed the opposite can happen: if a fast-diffusing inhibitor and a slow-diffusing activator react with each other, small random fluctuations get amplified into a stable, repeating pattern. This is diffusion-driven instability, and it is the leading mathematical model for how a uniform embryo develops spots, stripes and segments. A cellular automaton version discretises Turing's original system of coupled partial differential equations: space becomes a grid of cells, time advances in fixed ticks, and diffusion becomes an average over a cell's neighbours — the qualitative behaviour survives the simplification almost unchanged.
From PDE to grid: discretising the Laplacian
The continuous reaction-diffusion equation for a chemical concentration u is ∂u/∂t = D·∇²u + f(u,v). On a grid, the Laplacian ∇²u — which measures how much a cell's value differs from its surroundings — becomes a simple stencil:
∇²u[i,j] ≈ u[i-1,j] + u[i+1,j] + u[i,j-1] + u[i,j+1] − 4·u[i,j] A cellular automaton keeps this update strictly local and synchronous — every cell reads only its immediate neighbours from the previous grid, and all cells update together, the same double-buffering discipline used in Conway's Game of Life.
The three-step cellular automaton rule
Each cell holds two numbers: the concentration of an activator chemical A and an inhibitor chemical B. Every tick, every cell runs the same local rule: diffuse — blend each chemical toward the average of its neighbourhood, weighted by its own diffusion rate; react — activator is produced autocatalytically and consumed by the inhibitor, while the inhibitor is produced by the activator and decays on its own; clamp — bound both concentrations to a valid range so the automaton stays numerically stable indefinitely. The activator diffuses slowly and self-amplifies — the signal that says "become a spot here" — while the inhibitor diffuses quickly and suppresses the activator at long range: local activation, lateral inhibition, the general recipe behind every Turing pattern.
The Gray-Scott model
The Gray-Scott model is the most widely used concrete recipe. Two chemicals U (substrate) and V (activator) react as U + 2V → 3V — V autocatalytically converts U into more of itself — with a feed rate F replenishing U and a kill rate k removing V:
ΔU = D_u · ∇²U − U·V² + F·(1 − U) ΔV = D_v · ∇²V + U·V² − (F + k)·V Typical diffusion constants: D_u = 0.16, D_v = 0.08 — the inhibitor diffuses roughly twice as fast as the substrate, satisfying Turing's core requirement.
Spots, stripes and labyrinths: sweeping F and k
Almost the entire visual vocabulary of Turing patterns comes from sweeping just two parameters. Spots (Turing's "leopard" regime) appear around F ≈ 0.035, k ≈ 0.065 — isolated activator blobs surrounded by inhibitor. Stripes and mazes (zebra regime) appear around F ≈ 0.029, k ≈ 0.057 — connected ridges instead of isolated spots. Self-replicating spots (mitosis-like regime) appear around F ≈ 0.03, k ≈ 0.06, where spots split as they grow past a critical size. Narrow bands between the stable regimes produce chaotic, worm-like patterns that never settle. The boundary between "pattern forms" and "everything decays to a uniform grey" is itself a Turing bifurcation — the diffusion ratio D_v/D_u must exceed a critical threshold for the instability to occur at all.
Where these patterns show up in biology
Zebrafish stripes arise from pigment cell interactions (xanthophores and melanophores) that follow activator-inhibitor kinetics remarkably close to the Gray-Scott model. Leopard and giraffe coat patterns show spot size and spacing correlating with predicted Turing wavelengths for the corresponding skin morphogen diffusion rates. Digit formation in vertebrate limb buds involves Sox9/BMP/Wnt signalling that behaves like a reaction-diffusion system periodically spacing digits. And the growing edge of a mollusc's shell is effectively a 1D Turing system whose output is recorded as a 2D pattern over time — which is why seashell pigmentation looks like cellular-automaton output.
Frequently asked questions
Why does diffusion create patterns instead of smoothing everything out?
Ordinary intuition says diffusion blends things into a uniform grey. Turing showed the opposite can happen when a fast-diffusing inhibitor and a slow-diffusing activator react with each other: small random fluctuations get amplified into a stable, repeating pattern. This is diffusion-driven instability, and it is the leading mathematical model for how a uniform embryo develops spots, stripes and segments.
How is the continuous reaction-diffusion equation turned into a grid?
The Laplacian term in the continuous equation, which measures how much a cell's value differs from its surroundings, becomes a discrete 5-point stencil: subtract the cell's own value from the sum of its four neighbours. Every cell reads only its immediate neighbours from the previous grid and all cells update together, the same double-buffering discipline used in Conway's Game of Life.
What do the feed and kill parameters control in the Gray-Scott model?
Sweeping just two parameters, feed rate F and kill rate k, produces almost the entire visual vocabulary of Turing patterns: isolated spots around F ≈ 0.035, k ≈ 0.065; connected stripes and mazes around F ≈ 0.029, k ≈ 0.057; and self-replicating, mitosis-like spots around F ≈ 0.03, k ≈ 0.06.
Try it live
Everything above runs in your browser — open Turing Patterns and sweep the feed and kill rates live to watch spots, stripes and self-replicating blobs emerge from a random-noise seed on a grid. Nothing is installed, nothing is uploaded.
▶ Open Turing Patterns simulation