The kick sets a launch speed and a spin-up angular velocity from the power and lift-angle sliders, then gravity takes over:
v₀ = 3.2 + 5.4·power
vₓ = v₀·cos(lift)·0.55, vỨ = v₀·sin(lift) + 1.0
ω₀ = 4.5 + 6.8·power (rad/s)
θ(t): dθ/dt = ω, dω/dt = −k·ω, k = 1.6·4·f·(1−f)
The decay constant k models sloshing dissipation in a partially filled container: it is close to zero for an empty or a completely full bottle (nothing to slosh) and peaks when the bottle is roughly half water / half air, matching the standard result that partially filled containers damp their own rotation more than empty or full ones. That is also why real bottle-flip attempts land best with a modest fill — not brimful, not empty — the water's sloshing motion actively brakes the tumble before landing. On touchdown, vertical velocity reflects with the bounciness slider as a coefficient of restitution and the spin gets an extra impact-friction cut; the bottle is scored as standing only if, once settled, it is within 25° of upright and its residual spin is small.
- Power / Lift — set the launch speed and its up/forward split, same as a real kick.
- Water fill — drives the sloshing decay constant k above; try 5% and 95% to see rotation barely slow down, then 30–40% to see it brake into a stand.
- Floor bounciness — coefficient of restitution on the first floor contact, before the bottle settles.