Presets
Playback
Crystal chemistry
Low sticking lets walkers slide into fjords; many required contacts smooth the noise.
Garden
Changing the number of seeds restarts the garden.
Actions
Camera
Quality
Layers
Model checks
The science
Diffusion-limited aggregation
A dissolved particle makes an unbiased random walk (displacement variance 4Dt in two dimensions) until it touches the cluster, where it sticks with probability s. In the continuum limit the arrival probability on the surface is the harmonic measure of the cluster: the Laplace field ∇²c = 0 with c = 0 on the crystal. Because a protruding tip sees more of that field than a fjord, tips capture more walkers and grow faster; this Mullins-Sekerka-type instability makes the crystal branch.
Fractal dimension
The number of particles scales as N ∝ RgDf with the radius of gyration Rg² = ⟨|r - rcm|²〉. For classic 2D diffusion-limited aggregation Df is about 1.71 (Witten and Sander 1981, Meakin 1983), below the value 2 of a filled disc, so the density falls as ρ(r) ∝ rDf-2. The page fits Df from the live log N against log Rg history.
Noise reduction
If a site must be touched m times before it attaches (Tang 1985, Kertesz and Vicsek), random fluctuations are averaged out. Branches become sharper and the underlying lattice shows through as four preferred arms; the anisotropy readout A4 measures that 4-fold share. Large m gives a compact, more crystalline shape with a higher Df.
Honest simplifications: the lattice is square, so the four preferred directions come from the grid and not from a real crystal's chemistry. Real salt, snow or electro-deposited crystals depend on temperature, supersaturation, surface tension and attachment kinetics that are reduced here to two numbers (s and m). The page shows the idea of diffusion-limited growth; it does not predict a real growth experiment.
Independent checks on this page
1) The walker engine is tested against the exact result that the mean squared displacement after n steps equals n. 2) A harmonic-measure test uses the gambler's-ruin value p = ln(r0/a) / ln(b/a) for hitting an outer circle before an inner one. 3) A fixed-seed cluster is grown without any UI input and its fitted Df is compared with 1.71.
What to try
- Run the classic preset and watch the fitted Df settle near 1.7.
- Lower the sticking probability: the arms thicken and Df rises.
- Raise the contacts needed to 12: a compact four-armed crystal with a flatter density profile.
- Use five seeds and watch neighbours starve each other of walkers (screening).