Presets
Playback
Kick and chamber
You can also drag inside the chamber: the ball is aimed at the pointer and the distance sets the impulse.
Model checks
The science
Impulse and recoil
During the 10 ms contact the foot pushes the ball with a force pulse F(t) = (π J / 2τ) sin(π t / τ), whose area is the impulse J. The ball gains p = J, so vball = J / mball. The astronaut receives the opposite impulse and drifts away at vastro = J / M. With no external force the total momentum stays zero and the centre of mass of astronaut plus ball does not move. The kinetic energy is shared in inverse proportion to mass: KEball / KEtotal = M / (M + m).
Walls: restitution and friction
At a wall the normal speed is multiplied by -e (coefficient of restitution). The contact point also slides if the ball spins: the tangential contact speed is u = vt - r ω, and Coulomb friction applies an impulse jt = -u / (1/m + r²/I), limited to μ Jn. It changes both the sideways speed and the spin, with I = (2/3) m r² for a thin-shell ball. With e = 1 and μ = 0 the bounce is perfectly elastic and the angle of reflection equals the angle of incidence. In a vacuum a spinning ball does not curve in flight (there is no Magnus force), so spin only matters at a bounce.
Honest simplifications: a flat 2D top view of a 3D chamber, perfectly rigid discs, one fixed contact duration, no friction between ball and astronaut, no astronaut rotation, a very heavy chamber (walls absorb momentum), and one constant e and μ for all walls.
What to try
- Use Straight to target, then change the astronaut mass: the recoil speed changes but the ball speed does not.
- Try the Spin rebound preset and compare the angles before and after the wall.
- Set e to 1 and zero friction and watch the energy graph stay flat after the kick.
- Watch the total momentum graph: it stays at zero until the first wall hit.