⟵ Artificial Wasteland  ·  Pattern seam  ·  the technical honeypot

The Spots That Smoothing Makes

SUBJECT  diffusion-driven instability AFTER  A. Turing, 1952 MODEL  activator + inhibitor CHECK  wavelength, live

Diffusion erases differences. Drop ink in water and it spreads until the cup is one flat grey. So how does it draw the stripes on a fish?

In 1952 Alan Turing published one paper far outside logic and computing — a last great idea, and the only biology paper to appear in his lifetime. It asked how an egg, a near-uniform ball of cells, decides where to put a stripe. His answer was the most counterintuitive thing in mathematical biology, and it was about diffusion.

Diffusion is the universe's great equalizer. It is what makes a hot poker cool, a smell fill a room, a drop of dye vanish into a glass. Left alone, it always smooths — it carries stuff from where there's more to where there's less until there's the same everywhere. It is the enemy of structure.

Turing proved that two diffusing chemicals, under one precise condition, do the exact opposite. Together they take a uniform mixture — one that is provably stable if you forbid it to diffuse — and tear it into a regular pattern of spots or stripes, because they diffuse. He called it diffusion-driven instability. The condition is almost a riddle: it works only when the ingredient that builds the pattern spreads slower than the ingredient that destroys it.

This page builds Turing's mechanism from scratch and lets you run it. There are two instruments. The first is the proof — it computes, live, whether a uniform state will hold or break, and if it breaks, the exact size of the pattern it will break into. The second lets that pattern actually grow in front of you, and checks the prophecy: the wavelength the algebra predicted, against the wavelength the chemistry produced.

I · The proof — will it break, and how big?

The model is the simplest honest one (the Schnakenberg system, the textbook minimal example): two chemicals, an activator u that makes more of itself and of its enemy, and an inhibitor v that suppresses the activator. Mixed in a beaker, they settle to one flat steady state and stay there — any nudge dies away (you can read the proof of that below: both eigenvalues of the reaction have negative real part). The question Turing asked is what happens when you let them spread across space at different speeds.

A spatial ripple of any size — a wavenumber k — grows or shrinks at a rate the linear theory hands you exactly. Drag the one knob that matters, the ratio d = Dv/Du of how fast the inhibitor diffuses relative to the activator, and watch the growth-rate curve. Below a sharp threshold the whole curve sits under zero: every ripple dies, the beaker stays flat. Push past it and a band of ripples rises above zero — those sizes grow. The fastest-growing one wins, and its wavelength is the pattern's.

Instrument I — the dispersion relation λ(k)computed in-browser
40.0×
reaction alone
stable
Tr<0, Det>0
threshold dₐ
8.57×
below this: never
verdict at this d
PATTERN
band k∈…
fastest mode k*
50.29
wins the race
predicted wavelength
0.125
= 2π / k*

The activator diffuses at speed 1; only the ratio d matters. Slide below 8.57× and the curve drops entirely under the zero line — diffusion can no longer build anything.

That threshold — d ≈ 8.57 here — is the riddle made precise. The inhibitor must diffuse several times faster than the activator or nothing happens at all. This is the famous principle behind it: local activation, long-range inhibition. A spot of activator builds itself up locally; its inhibitor races outward and shuts down the neighbourhood, leaving a ring of "no". The next spot can only form beyond that ring — so spots, and stripes, land at a fixed spacing. Set the two speeds equal and the inhibition can't outrun the activation; the magic is gone.

II · The pattern — watch it happen

Here is the same model, no longer linearized — the full nonlinear chemistry, integrated on a grid in your browser, starting from the flat steady state plus an invisible whisper of random noise. Press play and watch diffusion do the thing diffusion isn't supposed to do. Then read the verdict: the wavelength the algebra above predicted, against the spacing this pattern actually chose, measured from its own power spectrum.

Instrument II — the living pattern (Schnakenberg, in-browser)real PDE · explicit FD
40.0×

Drag d down through 8.57× and the pattern dissolves back to flat — proof it was diffusion, not the reaction, that built it.

low u high activator
forming…

The algebra predicted spots about an eighth of the field apart — 2π/k* = 0.125, eight across — and that is the scale the pattern picks, give or take one. Linear theory predicts the onset wavelength, the one that grows first; the fully-grown nonlinear pattern then settles a couple percent shorter, which on this small field is the slack between eight features and nine. Drag the diffusion ratio and the predicted scale climbs as d falls, the pattern tracking it:

     d      predicted onset λ      ≈ features
     12          0.097                 10
     20          0.108                  9
     40          0.125                  8        (the pattern saturates within one of these)

The cleanest test removes the small-field rounding entirely: run the same model on a large field (≈17 wavelengths, room to settle freely) and the raw onset prediction matches the measured spacing to ~2% (predicted 0.473, measured 0.463) — that residue being the genuine nonlinear shift, which the theory honestly only bounds. That run, the threshold, and every other number on this page are reproduced from scratch in the lab notebook (/research/turing-patterns/): the steady state, the proof of reaction-only stability, the dispersion relation, the critical ratio, and the FFT-measured wavelengths.

Is any of this how a real leopard works?

Turing's idea sat as beautiful mathematics for almost forty years before anyone caught the chemistry doing it. The clean proof came in 1990, when a group in Bordeaux ran the chlorite–iodide–malonic-acid reaction in a gel and photographed a stationary array of spots that held its place — an unambiguous Turing pattern in a test tube, exactly the kind Turing predicted.

Biology is harder to pin down, and honesty requires the distinction. There is now strong evidence that real organisms use Turing-type mechanisms: the stripes of a marine angelfish rearrange over weeks as the fish grows, branching and merging precisely as a reaction-diffusion model says they must (Kondo & Asai, 1995) — patterns that move are hard to fake any other way. And the number and spacing of your fingers appears to be set by a Turing-like mechanism whose wavelength is tuned by Hox genes (Sheth et al., 2012): turn the knob, get more, thinner digits — the wavelength control this page makes you drag, run in a real limb.

But the morphogens are usually unidentified, other mechanisms compete, and "this looks like a Turing pattern" is not the same as "this is one." The fair summary: the chemical case is settled; the biological cases are strong and growing, not closed. (And don't confuse this with the Belousov–Zhabotinsky reaction's hypnotic spirals — those are travelling waves of an oscillating reaction, a different beast. Turing patterns stand still.)

A uniform state, stable on its own, broken into structure by the one force whose whole job is to smooth. That is the idea — and it predicts the size of its own handiwork.

Sources & apparatus

1952A. M. Turing, The Chemical Basis of Morphogenesis, Phil. Trans. R. Soc. Lond. B 237 (641), 37–72. The founding paper; introduces diffusion-driven instability.
1972A. Gierer & H. Meinhardt, A theory of biological pattern formation, Kybernetik 12, 30–39. The activator–inhibitor framing; local activation, long-range inhibition.
1979J. Schnakenberg, Simple chemical reaction systems with limit cycle behaviour, J. Theor. Biol. 81, 389–400. The two-species model used here.
1990V. Castets, E. Dulos, J. Boissonade & P. De Kepper, Experimental evidence of a sustained standing Turing-type nonequilibrium chemical pattern, Phys. Rev. Lett. 64, 2953–2956. The CIMA reaction — first stationary Turing pattern observed.
1995S. Kondo & R. Asai, A reaction–diffusion wave on the skin of the marine angelfish Pomacanthus, Nature 376, 765–768. Living stripes that move as predicted.
2012R. Sheth et al., Hox Genes Regulate Digit Patterning by Controlling the Wavelength of a Turing-Type Mechanism, Science 338, 1476–1480. Digit spacing as a tunable Turing wavelength.
ref.J. D. Murray, Mathematical Biology II (3rd ed., Springer, 2003), §2 — the standard treatment of the Schnakenberg Turing model and animal-coat patterns.

The verdict on this page is produced live: a real finite-difference integration of the Schnakenberg PDE on a periodic grid, and a radix-2 FFT of the result, both running in your browser. The linear-stability numbers (steady state, Jacobian, dispersion relation, critical ratio dₐ, fastest-growing mode) are computed from closed form. The offline reproduction — including the large-field ~2% wavelength check — is in /research/turing-patterns/verify.py. The one honest caveat: linear theory predicts the onset wavelength; the final nonlinear pattern's spacing is close to it but can shift slightly via wavelength selection. The page measures and reports the real agreement rather than asserting a perfect one.