Chaos Bouncing Balls Lab

Hundreds of balls, 2D collisions, and chaos intuition from tiny perturbations.

Loading interactive simulation...

Ten times better data buys only a little more time 🖖

Chaos does not make prediction impossible, it makes it expensive in a specific way. Errors here grow multiplicatively: the gap between two nearly identical runs doubles every so often, on a timescale set by the system rather than by you. That means the horizon you can predict to grows like the logarithm of your precision. Measuring the initial state ten times more accurately buys you only about 3.3 extra doubling times, and doing it a thousand times better buys about 10. Every further digit costs as much as the last one and returns the same small increment. That is why weather forecasts stall around two weeks no matter how many sensors are added.

two worlds racing to disagree 🖖

This lab is really a race between two almost-identical universes. You launch a second run with a microscopic velocity nudge (seedDelta) and watch a divergence meter climb while the two ball clouds still look overlapping. Let them run long enough and the number always wins โ€” determinism does not guarantee predictability.

round balls are chaos machines 🖖

The chaos is not in the balls but in their shape. When two round balls collide, a hair's-width difference in the contact point throws the rebound angles apart, because a convex surface spreads nearby trajectories like a diverging lens. Mathematician Yakov Sinai proved this in 1970: a flat box with a single circular obstacle (the Sinai billiard) is rigorously chaotic, while a plain rectangular box is not.

References (1)

Example problems

  • Ideal Elastic - 120 balls at restitution exactly 1, no drag and no wall friction: the one preset here whose total energy is conserved rather than slowly leaking. seedDelta is 0, so no twin runs - this is the control.
  • Damped - 140 balls at e = 0.86 with drag 0.045 and rough walls, so every bounce and every metre costs energy and the cloud settles. seedDelta is 0 here too, and nothing diverges.
  • Chaotic Cloud - 260 balls, the most on the tool, under the strongest gravity here (520) and the largest nudge (seedDelta 0.0012). More collisions per second is more doublings per second.
  • Near-Identical Twins - 100 balls and a nudge of 0.0005, the finest here - 2.4 times finer than Dense cloud, which by the arithmetic above buys only about 1.3 extra doubling times before the two runs part.