Elastic ball collisions - 2D box

Balls of different mass bounce in a box; wall and ball restitution decide how fast the energy drains away.

Switch to 3D

Presets

Playback

Physics

Balls

Model checks

The science

Impulse model

The 3D lab and this page use the same rules. Between impacts each ball falls with a = −g. A wall hit reverses the normal velocity and multiplies it by the wall restitution ew. For two balls with masses m1, m2 (mass ∝ r³, the volume of a sphere) and relative normal speed vn the impulse is J = −(1 + e) vn / (1/m1 + 1/m2) applied along the contact normal, so total momentum is conserved and the kinetic energy lost equals ½ (1 − e²) μ vn² with reduced mass μ.

Bounce envelope

A ball dropped from height h0 rebounds to hn = ew²n h0 after n floor hits, the dashed envelope in the third graph.

Honest simplifications: frictionless circles (no spin), a 2D box with mass proportional to r³ kept for consistency with the 3D page, mass-weighted overlap correction instead of continuous collision detection, no air drag.

What to try
  • Use Perfectly elastic: kinetic plus potential energy stays constant.
  • Use Zero gravity gas: the speed histogram relaxes towards a thermal-like shape.
  • Drop the tagged ball and compare the rebound peaks with the red markers.
Energy bookkeeping
Speed distribution
Tagged ball height and predicted rebound peaks