Thought Toys · Exhibit 15

Reaction & diffusion

Pour two chemicals into a dish. One slowly feeds the surface; the other eats the first, breeds copies of itself, and spreads. That's the entire recipe — yet from an even smear it organises itself into spots, stripes, mazes and holes that never quite hold still. Alan Turing proposed in 1952 that this is how a featureless embryo decides where to put a leopard's spots. Paint into the dish and watch it happen.

The dish — drag to paint in the spreading chemical

Tip: drag slowly across the dish to draw your own seeds, then watch the recipe grow them.

What you're seeing

Picture two substances mixed in a shallow dish. Call them A and B. A is topped up everywhere at a steady feed rate. B is the troublemaker: wherever a little of it meets A, it converts that A into more B — it's autocatalytic, it breeds itself. Left alone, B would take over the dish. But B is also drained away at a steady kill rate, and the two chemicals spread at different speeds: the catalyst B oozes more slowly than the feedstock A.

That mismatch in spreading speeds is the whole secret. A clump of B grows in its centre but can't fan out fast enough to smooth itself flat, while A rushes in around the edges. Growth in the middle, starvation at the rim — and a featureless smear breaks into structure: dots that swell and split like dividing cells, ridges that wander into fingerprints, a lattice of holes. This is a Turing instability: a perfectly uniform mixture is unstable, and the tiniest speckle of noise blooms into pattern.

The two sliders are the dish's climate. Nudge the feed and kill rates by a hair and the whole character changes — coral freezes into spots, spots stretch into stripes, stripes invert into holes — because you've crossed a boundary between regimes. Drag on the dish to inject the catalyst and seed your own growth, or press Random seed and watch order condense out of a scatter of specks. Nothing here is choreographed; every shape is just these two rules, applied to every point, a few thousand times.

The rule, exactly. The Gray–Scott model. At each cell, with concentrations A, B: A′ = A + (Dᴀ∇²A − A·B² + f·(1−A))·Δt and B′ = B + (Dʙ∇²B + A·B² − (k+f)·B)·Δt, with diffusion Dᴀ = 1.0, Dʙ = 0.5 (the catalyst spreads half as fast), Δt = 1. The Laplacian ∇² uses a 3×3 stencil (centre −1, edges 0.2, corners 0.05) on a wrap-around grid. Recipes here are feed/kill pairs: coral (0.0545 / 0.062), spots (0.0367 / 0.0649), stripes (0.026 / 0.051), holes (0.039 / 0.058). (Checked offline before shipping: every recipe stays bounded with no blow-ups and forms persistent structure, while a high kill rate cleanly empties the dish.) Counter-example, verified in node: pattern is not guaranteed — push the kill rate high (k=0.07) and the dish empties to under 0.01% active, with no Turing structure.

← Back to the cabinet  ·  Thought Toys — Exhibit 15.