Presets
Shot
Kick
Spin
Backspin lifts, topspin dips, sidespin curls. Axial spin only makes the ball look nice.
Set piece
Air and planet
Camera
Quality
Layers
Model checks
The science
Forces on the ball
Newton's second law with three forces: m dv/dt = m g + FD + FM, integrated with RK4 (step 1/480 s).
Drag FD = -½ ρ CD(Re) A |vrel| vrel, with Re = ρ |vrel| d / μ, ball diameter d = 0.22 m, A = πR². A football shows a drag crisis: when the boundary layer turns turbulent (Re about 2×105, roughly 13 m/s at sea level) CD falls from about 0.47 to about 0.2. That is why a hard-struck ball flies much farther than a slow one. The model is a smooth fit of that behaviour, not a measured table.
Magnus force FM = ½ ρ A CL |v|² · unit(ω × v), with the spin parameter S = R |ω⊥| / |v| and CL = 1/(2 + 1/S) (a Goff and Carré style fit). Only the spin component perpendicular to the velocity bends the path; axial spin (about the line of flight) does nothing to the trajectory. Backspin lifts the ball, topspin makes it dip, sidespin makes it curl.
Knuckle: with almost no spin, the seams make the side force fluctuate. It is modelled as a smooth pseudo-random lateral force of amplitude 0.1 · ½ ρ A v² that fades once real spin appears. It is a stand-in for a chaotic wake, not a CFD result.
Bounce, wall, post, net, keeper
Ground contact uses a restitution e = 0.76 and Coulomb friction (μ = 0.45) on the contact-point slip, with a hollow-sphere moment of inertia I = 2/3 m R², then rolling resistance. Posts and crossbar are cylinders (radius 6 cm, e = 0.62). The wall is a row of boxes (0.56 m × 0.4 m × 1.78 m) that can jump. The net is a drag-and-reflect volume. The keeper moves toward the predicted crossing point (plus your chosen misjudgement) after a reaction delay at a fixed speed; a save is a reach test of 0.8 m. This is a teaching model of a keeper, not a biomechanical one.
Honest simplifications
Rigid ball, uniform air, no ball deformation, constant spin-decay time, no wind gradient, and a point-like keeper reach. Presets were tuned to score in this model; a real result depends on many things we do not model.
Independent checks (run in the page)
1) With air off, the numerical range equals v² sin 2θ / g. 2) A long fall reaches the terminal speed that solves m g = ½ ρ CD(Re) A v². 3) The kinetic + potential energy lost in a curling shot equals the integral of FD·v dt (Magnus does no work).
What to try
- Press a preset, then slow the time speed to 0.1× and watch the ball spin and the Magnus arrow (gold) bend the path.
- Set air density to 0 and watch spin stop mattering: the path becomes a parabola.
- Change only the ball speed from 10 to 30 m/s: the drag coefficient graph shows the drag crisis around 13 m/s.
- Switch gravity to 1.62 m/s² (Moon) with air 0 for a floaty free kick.
- Add a headwind or a crosswind and see how much a 5 m/s breeze moves the ball at 25 m.
- Raise the altitude to 3000 m: thinner air means less drag and less Magnus curve.
- Try the knuckleball preset with different seeds: same speed, different wobble.