Circle packing fills a region by growing circles until they touch, then freezing each on collision
Circle packing arranges non-overlapping circles to densely fill a space. A common generative approach grows each active circle outward a little every frame and checks it against all others: on contact with another circle (or the canvas edge) the circle stops growing and is marked complete, while new seed circles are spawned in the remaining gaps. The result is a characteristic packing where large circles fill open areas and small circles wedge into the crevices between them. Key parameters are growth rate, minimum spacing, and seed-placement strategy. Naive all-pairs collision checks limit how many circles are feasible; spatial partitioning speeds it up. The technique is a staple of generative illustration and stippling.
Examples
P_2_2_5_01 packs as many circles as possible, growing each until it collides, with keys to toggle circles/lines and freeze the process. Move the mouse to steer the area of interest where new circles are seeded.
Assessment
Describe the stopping condition that prevents two packed circles from overlapping. Modify the sketch so circle colour encodes final radius, then explain why small circles cluster between large ones.