Press ▶ Run to start the simulation
- Left Click — Drop a small ball at cursor
- Right Click — Drop a BIG red ball
- R — Spawn a random ball
- S — Clear all balls
Zach (with help from AI) built this physics simulation in Python Processing. Each ball has its own gravity, air-resistance, and damping values. Balls detect collisions with walls and with each other using elastic-collision math.
Big balls launch small balls with extra force on the first hit — look for the launch effect!
Note: The live demo is a faithful JavaScript translation running via ProcessingJS. Zach's original Python source is shown below — browsers can't run Python Processing natively, so ProcessingJS powers the demo.