Morphogen

An engine of emergent pattern formation for the web. Two families, eighteen patterns, one classic script, no dependencies, no build step.

Fourteen patterns from the engine, each a silent recorded loop of its own prime length, so no two ever restart together. Play starts all fourteen from their first frame; Stop returns each to its still.

Choose a family, then a pattern tile. Click and drag on the field to paint it, or switch on Hover mode and just move the pointer; on a touch screen, touch and drag. Seed starts the pattern at the center (later presses add one point at random); Reset clears. The sliders are the pattern's own parameters; Speed sets its pace; Resolution sets the grid, lower for bigger features; Brush width sets the pointer's mark, which on Frost is a void with one tiny seed at its centre. Reduced motion shows one still: seed at the left, full pattern at the right.

Photosensitivity notice. The field animates and can flicker or pulse. Its Reduced motion control shows a still image instead.

Interactive · Emergent patterns

REACTION-DIFFUSION: MALACHITE

Colors

Controls

Accessibility

Reduced motion: show a still image view instead of a dynamic view.

Hover mode: paint by moving the pointer, no button held. Off, the field answers click and drag only.

—

Malachite pattern: target patterns — concentric waves radiating from a point in an excitable medium, the form first seen in the Belousov–Zhabotinsky reaction, whose chemistry oscillates in time and space. The whole system rests on one autocatalytic step, U+2V→3V: a substance that makes more of itself wherever it already is, until the local supply is spent and the wave moves on, leaving the banded wake a cut malachite shows.

Meandric pattern: a labyrinthine Turing pattern. Stripes form when a slow, self-amplifying activator is held in check by a fast-spreading inhibitor; the condition is that the inhibitor diffuses faster, DU>DV. The same mechanism lays down fingerprints, zebra stripes and the magnetic domains of a thin film: order with no blueprint, only two rates in competition.

Swarm pattern: spatiotemporal chaos of localized spots — traveling structures that collide, split and die without ever settling. Each spot is a packet of the activator sustained by the equation ∂V∂t=DV∇2V+UV2−(f+k)V; the crowd behaves like a swarming culture, or an agent-based model whose agents are nothing but chemistry.

Xylem pattern: a hexagonal Turing pattern of holes — a filled sheet that opens into pores at one preferred spacing, the cross-section of a plant's conducting tissue. That spacing is the pattern's wavelength, set by the critical wavenumber of the instability, λ=2πqc, which is why foams, convection cells and porous membranes all arrive at the same tiling.

Antispiral pattern: the complex Ginzburg–Landau equation, the universal form every reaction–diffusion system takes just past the onset of oscillation (Aranson and Kramer, 2002). One complex amplitude A carries the oscillation's strength and phase: ∂A∂t=A+(1+iα)∇2A−(1+iβ)|A|2A. Where the phase winds around a point the field must vanish, and that point becomes a spiral wave. Near onset the waves run inward toward the core, an antispiral, first seen in the Belousov–Zhabotinsky reaction in 2001; farther from onset they run outward. Plane waves hold while 1+αβ>0, the Benjamin–Feir line; past it the field breaks into defect turbulence, spirals born and annihilated without end. α sets how the wave speed depends on wavelength; β, how the oscillation's frequency depends on its strength.

Turbulence pattern: spatiotemporal chaos — soft spots that spread, collide, split and die without ever settling into a steady form. The signature of chaos is a positive Lyapunov exponent, λ>0: two fields that differ by the smallest amount drift apart exponentially, |δ(t)|≈|δ(0)|eλt, so the future of this field is unpredictable in detail even though every rule in it is known — the same reason weather forecasts have a horizon.

Mitosis pattern: self-replicating spots, first reported in the Gray–Scott system by Pearson in 1993 and in a real gel reactor by Lee, McCormick, Pearson and Swinney in 1994. A spot grows until it is too large to feed its own center, pinches in two, and each half grows again; chemically it is only autocatalysis and decay, U+2V→3V,V→P, yet it divides like a cell.

Phyllotaxis pattern: a sunflower head building itself: every few frames one more stable spot is placed on the spiral, from the center outward, until the spiral leaves the frame. Vogel's model places seed n at an angle of n·137.5° from the last and a radius of cn; that angle is the golden angle, 360°/φ2, and it is why the spiral counts come out as Fibonacci numbers. Here the arrangement is placed; the chemistry then decides what to keep.

Vortex pattern: spiral waves, or rotors, in an excitable medium — the pattern a broken wave front makes when its free end curls around and becomes its own pacemaker, as in the Belousov–Zhabotinsky reaction and in heart tissue. Its simplest law is the eikonal relation, c=c0−Dκ: a front moves slower the more sharply it is curved, which is exactly what lets a tip rotate instead of racing away.

Frost pattern: a snow crystal, grown on a hexagonal lattice by Reiter's model of 2005. The field is water vapor: a cell that is ice, or touches ice, holds its water and gains a little each step; everywhere else the water diffuses toward its neighbors' average, u′=u+α2(u¯−u); a cell freezes when its water reaches 1. The six arms are the lattice's own symmetry, the one real snowflakes inherit from the ice crystal; the branching is the Mullins–Sekerka instability, a growing tip fed fastest where it is most exposed. Vapor sets how much water there is; Growth, how fast ice takes it up. Not reaction–diffusion: no local chemistry acts everywhere; there is only transport and a sharp interface that advances where mass arrives — a discrete Stefan problem, kin to diffusion-limited aggregation.

Lenia pattern: a continuous cellular automaton (Chan, 2019). Each cell's potential is a ring-weighted average of its neighborhood, and the cell grows or decays by how close that potential sits to a preferred value: A←A+1TG(K∗A),G(u)=2e−(u−μ)2/2σ2−1. From a patch of random soup, smooth self-propelling, self-repairing creatures emerge — Orbium lives near μ=0.15, σ=0.016 — the automaton made continuous in state, space and time.

Rotor pattern: Griffeath's cyclic automaton. Every cell holds one of n states arranged in a ring, and a cell advances when a neighbor already holds the next one, s←(s+1)modn. Noise organizes itself: blocks consume blocks, then "demons" — cycles of adjacent cells holding every state — emit spiral waves that take over the field. It is the discrete excitable medium: the Belousov–Zhabotinsky reaction, and re-entrant rhythm in heart tissue, with the chemistry replaced by counting.

Lichtenberg pattern: the dielectric-breakdown model (Niemeyer, Pietronero and Wiesmann, 1984). The electric potential obeys Laplace's equation, ∇2φ=0, zero on the discharge and one far away, and a site next to the discharge breaks down with probability proportional to the field there raised to a power, pi∝φiη. At η=1 it is diffusion-limited aggregation, a dense coral of dimension about 1.75; higher exponents starve the side channels into the sparse forks of lightning and of the Lichtenberg figures burned into acrylic by a captured charge.

Sandpile pattern: falling sand, the "sand" rule of Toffoli and Margolus (1987). The lattice is cut into two-by-two blocks whose origin alternates each step; inside a block a grain falls into the cell beneath if it is free, else slides into the free diagonal, (top,bottom)→(0,1). Grains heap at the bottom at their angle of repose and let go in avalanches when the slope grows too steep: the pile that Bak, Tang and Wiesenfeld abstracted into self-organized criticality, where one more grain can bring down a slope, a grid, a market. Grains sets the size of each drop; Slip, how readily a grain takes the diagonal, which sets how steep a heap can stand.

Conus pattern: Wolfram's Rule 30, an elementary one-dimensional automaton: a cell's next state is a fixed function of itself and its two neighbors, here left⊕(self∨right), and each row is the next moment of the one above. From a single cell it generates a pattern no shorter rule can predict — computational irreducibility — and the pigmentation of the shell of Conus textile, laid down row by row at the growing lip, follows a rule of this kind.

Wildfire pattern: the forest-fire model of Drossel and Schwabl (1992). A cell is bare, a tree, or burning; each step a burning cell burns out, a tree next to fire catches, lightning ignites a tree with probability f, and a tree grows on bare ground with probability p. With f≪p≪1 the forest tunes itself to the critical density where fires come in every size, and the fronts are fractal. Read the trees as the susceptible and the fire as the infected, and it is the SIR epidemic with regrowth.

Grain pattern: grain growth in the Potts model (Anderson, Srolovitz, Grest and Sahni, 1984). Each cell holds one of Q crystal orientations; its energy is the number of unlike neighbors, E=∑⟨ij⟩(1−δsisj), and it takes a neighbor's orientation when that lowers the energy, or by chance, e−ΔE/T, when it does not. Boundaries move to shorten themselves, small grains vanish into large ones, and the mean grain radius grows as t1/2: the annealing of a metal, a ceramic, a silicon wafer, seen from above. With two orientations it is the Ising magnet.

Wake pattern: a fluid by the lattice-Boltzmann method, the descendant of the lattice-gas automata. Nine populations of particles stream along the lattice directions and relax toward the local equilibrium, fieq=wiρ(1+3ei·u+92(ei·u)2−32u2), which recovers the Navier–Stokes equations with viscosity ν=(τ−12)/3. Flow enters from the left; paint an obstacle and the wake behind it rolls up into the alternating eddies of a von Kármán vortex street once the Reynolds number UL/ν passes about fifty.