HomeArticlesGenerative Art

DLA Fractal Dendrites: Growing Branches From Random Walks

Particles wander randomly until they touch a growing cluster and stick — a single rule that reliably builds spindly, branching fractals.

mysimulator teamUpdated June 2026≈ 7 min read▶ Open the simulation

Wander, touch, stick

Diffusion-limited aggregation (DLA), introduced by Thomas Witten and Leonard Sander in 1981, is one of the simplest random processes that reliably produces branching, fractal structures. The rule has three parts: start with a single fixed seed particle. Release a new particle from a spawn ring far from the cluster and let it perform a random walk, moving one random step at a time. The moment that wandering particle touches any part of the existing cluster, it sticks permanently at that position and becomes part of the cluster. Repeat with a fresh particle from the ring, over and over.

live demo · a dendrite growing particle by particle● LIVE
cluster = { seed }
loop:
  p = random position on the spawn ring
  while p is not adjacent to any cluster particle:
      p += random_unit_step()          // random walk, one cell at a time
      if p wanders too far away: discard p, spawn a new one
  cluster.add(p)                       // stick permanently on contact
  grow spawn ring radius as the cluster grows

Why the result is spindly, not round

A naive guess would be that random particles landing on a cluster from all directions should build up a solid, roughly circular blob. In practice the opposite happens: DLA clusters grow into thin, treelike branches with wide empty gaps between them. The reason is a positive feedback between exposure and growth rate. A particle protruding slightly out from the rest of the cluster is statistically much more likely to be hit by an incoming random walker than a particle tucked into a narrow gap, because the wandering particle is likely to touch the first thing it encounters — and the first thing it encounters is almost always a protruding tip. So tips grow faster, which makes them protrude further, which makes them grow even faster still, a self-reinforcing instability called the Mullins-Sekerka instability in the broader context of pattern formation, while the deep gaps between branches are effectively shielded from most incoming particles and are rarely filled in.

A fractal dimension near 1.71

Because the cluster is mostly empty space threaded by thin branches, its mass does not scale with the square of its radius the way a solid 2D disc's would. Instead, mass M and radius R obey a power law, M ~ R^D, where D is the cluster's fractal dimension. For 2D DLA, extensive simulation has measured D ≈ 1.71 — strictly between 1 (a simple curve) and 2 (a filled area), quantifying exactly how much emptier the branching structure is than a solid disc of the same radius. This value is remarkably consistent across simulations regardless of the lattice used to run them, which is one of the reasons DLA is treated as a genuinely universal model rather than an artefact of any particular implementation.

Where this pattern shows up in nature

The same tip-outraces-gap instability governs a range of real physical growth processes limited by the diffusion of some quantity toward a surface. Electrodeposition of metal in copper sulfate solution produces branching dendrites that look remarkably like simulated DLA clusters. Mineral dendrites growing along rock fractures, the frost patterns that form on a cold window, and the fingering patterns of viscous fluids injected into a more viscous fluid (Hele-Shaw flow, closely related to Saffman-Taylor instability) all share the same underlying mechanism: growth is limited by how fast the growth-causing substance — ions, heat, or fluid pressure — can diffuse to the surface, and any part of the surface that sticks out a little gets more of that supply, and grows faster still.

Frequently asked questions

Who invented diffusion-limited aggregation and when?

Thomas Witten and Leonard Sander introduced the model in 1981 to explain how random particle-by-particle attachment could produce the branching, fractal structures seen in real aggregates like soot and metal deposits, hence the model is sometimes called the Witten-Sander model.

Why is the fractal dimension of a DLA cluster less than 2?

Because the cluster is a branching, mostly empty structure rather than a solid disc: its mass grows more slowly than the square of its radius. A solid 2D disc has fractal dimension exactly 2; a DLA cluster's measured dimension of about 1.71 quantifies just how much emptier and more tenuous the branching structure is by comparison.

Why do the branch tips grow faster than the inner regions of the cluster?

A random walker from far away is statistically far more likely to hit an exposed, protruding tip than to wander all the way into a narrow gap between existing branches before sticking to something else. This positive feedback — tips capture more particles, which makes them protrude further, which makes them capture even more — is the same instability responsible for the branching shapes of real snowflakes and mineral dendrites.

Try it live

Everything above runs in your browser — open Diffusion-Limited Aggregation and change the parameters while it is running. Nothing is installed, nothing is uploaded, the whole model lives in one tab.

▶ Open Diffusion-Limited Aggregation simulation

What did you find?

Add reproduction steps (optional)