Home▸Kick Biomechanics▸Kick Bottle Simulator (2D)

Kick Bottle Simulator (2D)

2D bottle-flip lab: gravity, spin-up torque from the kick and a fill-dependent sloshing-damping formula decide whether the bottle lands standing.

Kick Biomechanics2DModerate60 FPS📱 Mobile-adapted⇄ 3D version
2d-kick-bottle-simulator ↗ Open standalone

This 2D companion keeps the same kick-power and lift-angle launch as the 3D bottle flip, then decides the landing with an explicit formula instead of a full rigid-body solver: the bottle's spin decays at a rate set by how much water it carries, peaking for a roughly half-full bottle and dropping toward zero for a nearly empty or nearly full one — the same reason real bottle-flip attempts land best with a modest fill.

⚙ Under the hood

Projectile motion under gravity for the flight path, plus an angular-velocity decay dω/dt = −k·ω with k = 1.6·4·f·(1−f), where f is the water-fill fraction; a coefficient-of-restitution bounce on first floor contact, then a stand/fall check against a 25° upright tolerance and residual spin once the bottle settles.

bottle flipangular momentumsloshing dampingrestitution

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

Why does water fill change whether the bottle lands standing?

The simulator models rotational damping from sloshing as proportional to f·(1−f), where f is the fill fraction. That term is near zero when the bottle is almost empty or almost full (nothing to slosh) and largest around a half-full bottle, so a modest fill brakes the tumble the most before the bottle reaches the floor — matching what real bottle-flip attempts show.

How is this different from the 3D version?

The 3D page runs a full rigid-body physics engine with a real bottle mesh. This 2D page keeps the same kick-power and lift-angle launch but replaces the 3D collision solver with one explicit damping formula tied to water fill, so the landing outcome is driven by a readable equation rather than a black-box physics step.

What did you find?

Add reproduction steps (optional)