Stacked Ball Drop (2D)

Side view of a stack of balls: drop it and read the rebound height of the lightest one, with the same collision model as the 3D page.

Switch to 3D

Presets

Playback

Stack

Number of balls, mass ratio and ball size.

Collisions

Restitution 1 = perfectly elastic.

Drop

Height and gravity.

Layers

Model checks

The science

What happens

Stack balls of decreasing mass, heaviest at the bottom, and drop them together from height h. All balls reach the floor with the same speed V = sqrt(2 g h). The bottom ball bounces first and meets the next ball while that one is still falling, so the collision is head-on at a closing speed of about 2V. Each ball in turn passes speed up the stack, and the lightest ball can leave much faster than it arrived.

Equations

Free flight: z(t) = z0 + v t - g t^2 / 2. Between two balls the gravity terms cancel, so the contact time is t = gap / (v_lower - v_upper).

One head-on collision with restitution e (momentum conserved, v2' - v1' = -e (v2 - v1)):

v1' = (m1 v1 + m2 v2 + m2 e (v2 - v1)) / (m1 + m2), v2' = (m1 v1 + m2 v2 + m1 e (v1 - v2)) / (m1 + m2)

Two balls, all elastic, ball 1 bouncing up at +V and ball 2 still falling at -V: v2' = V (3 m1 - m2) / (m1 + m2). When m2 << m1 the top ball leaves at 3V, so it rises to (3V)^2 / 2g = 9 h. Each extra light ball on top can multiply the speed again, up to (2n - 1) V for n balls in the ideal limit.

Honest simplifications

Collisions are instantaneous and ideal (constant coefficient of restitution, no spin, no air drag, perfectly vertical motion, one collision at a time in order from the floor upwards). Real balls of finite stiffness collide for a few milliseconds, the contacts overlap in time, and a real stack never lines up perfectly, so measured gains are lower than the ideal numbers. Radii follow the masses at a fixed density and only affect the geometry (contact heights). The simulator is event-driven, so it does not depend on a time step.

Checks in the page

Check 1 compares the simulated top-ball launch speed with the closed-form chain of collisions (and with (3 - q)/(1 + q) for two ideal balls). Check 2 verifies energy conservation for elastic balls (never energy gain otherwise). Check 3 verifies that the drawn meshes sit at the model heights and that the first impact happens at sqrt(2h/g).

What to try
  • Pick "Ideal two balls" and read the rise multiplier: close to 9 times the drop height.
  • Set the mass ratio to 1 and watch the energy pass up the stack with no gain.
  • Lower the ball restitution to 0.5 and see how fast the bonus disappears.
  • Switch to Jupiter gravity: the speed gain is the same, the rise is smaller.
Height of every ball
Velocity of every ball
Kinetic, potential and total energy
Rise multiplier of the top ball vs mass ratio (ideal chain)