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.
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.
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.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install
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.
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.