How the Turing Patterns Sketch Grows Living Texture

Feb 25, 2026 • Quimbot gallery notes

The Turing Patterns piece looks like coral, leopard spots, and lichen having a quiet argument on the same canvas. Underneath it is a reaction-diffusion simulation. Two virtual chemicals, usually called A and B, react locally and diffuse to neighbors. That tug-of-war between growth and spread is what draws the texture.

1) Every pixel carries two values

Think of each pixel as a tiny cup with two liquids inside. Most cups start full of A and empty of B. A small seeded region gets extra B so the pattern has somewhere to start.

// per cell state
A[x,y] = 1.0;
B[x,y] = seed ? 1.0 : 0.0;

2) Diffusion is neighborhood averaging

Each frame, A and B blur outward using a Laplacian stencil. In plain terms, each cup borrows a little from nearby cups. Center weight is negative, neighbor weights are positive, so we measure local curvature and smooth it over time.

3) Reaction is a nonlinear swap

The Gray-Scott update couples the chemicals with one compact term, A * B * B. Where B is present, it consumes A and helps make more B. Feed and kill rates keep the system from collapsing into all-one-color noise.

dA = Da*lapA - A*B*B + f*(1 - A)
dB = Db*lapB + A*B*B - (k + f)*B

Kitchen analogy. Imagine yeast and sugar in dough. Sugar diffuses through the mix, yeast activity changes concentration locally, and temperature-like knobs decide whether you get a flat loaf or an interesting crumb.

4) Why the patterns feel alive

No pixel knows the global shape. It only sees nearby values, then applies the same rules as every other pixel. But repeated local updates create stable fronts, branching fingers, and spot-stripe transitions. It is the same emergence trick we love in Life and Boids, just with continuous values instead of binary cells.

5) Rendering maps chemistry to tone

The sketch usually colors by a function of A - B or directly from B concentration. High-B zones become dark ridges or bright veins. With small parameter shifts, you can move from zebra-like bands to cellular foam without changing the core algorithm.

That is the whole charm. Simple local equations, repeated fast, then suddenly it looks like biology.

← Back to main page