Diffusion-limited aggregation grows organic dendritic clusters by snapping each new particle onto the nearest existing one
Diffusion-limited aggregation (DLA) builds branching, coral-like structures from a simple accretion rule: repeatedly propose a randomly placed particle, find the nearest particle already in the cluster, and attach the new one flush against that neighbour’s edge (offset along the angle between them by the sum of their radii). Starting from a single seed, thousands of particles accumulate into a fractal, dendritic mass. The look is emergent — no branch geometry is coded; it arises from the nearest-neighbour attachment rule alone. p5.js’s atan2, cos, and sin place the new circle tangent to its neighbour. The generative-design version is a simplified DLA that snaps directly to the closest existing circle rather than simulating a full random walk to contact.
Examples
var angle = atan2(newY - y[closest], newX - x[closest]); x[n] = x[closest] + cos(angle)*(r[closest]+newR); — P_2_2_4_01 grows up to 5000 circles into a dendritic cluster, then calls noLoop().
Assessment
Explain why DLA produces branching rather than solid blobs. Modify the attachment rule to bias growth upward (gravity) and describe how the cluster shape changes.