The three forces that shape every free kick
From the instant of contact, the kicker has no further influence. The flight is governed by three forces acting on a 0.43 kg sphere with a radius of 0.11 m: gravity pulling it down, aerodynamic drag slowing it, and the Magnus force bending it sideways in proportion to its spin. The Teamstoshowsignl engine resolves all three every 1/240th of a second, which is why two strikes that look identical at release can finish half a metre apart.
m · dv/dt = m·g + F_drag + F_magnus F_drag = −½ · ρ · C_d · A · |v| · v F_magnus = ½ · ρ · C_L · A · |v|² · (ŝ × v̂)
With air density ρ = 1.225 kg/m³, a cross-sectional area A = 0.038 m² and a drag coefficient Cd of roughly 0.25 at typical free kick speeds, the drag term collapses into a single constant k ≈ 0.0135 m⁻¹. Deceleration then becomes a = −k·|v|·v. At 28 m/s the ball sheds about 10.6 m/s² to drag alone, more than the pull of gravity, and that is why long-range strikes lose so much pace before they reach the line.
Velocity, launch angle and flight time
A 24 m free kick struck at 101 km/h (28.1 m/s) needs around 0.95 seconds to reach the goal line. Over that window gravity alone would pull the ball down by roughly 4.4 m, so a shot aimed at a point 2 m high must leave the ground on a vertical launch angle between 13° and 17°, depending on spin and drag. The horizontal launch angle is then offset away from the target so that sidespin can bend the ball back inside the post.
In the arena, the solver calculates the launch angles for an ideal strike speed at your chosen distance, using the relationship below. Power maps linearly to launch speed.
v_ideal = 22 + 0.28 · d (m/s) v_launch = 16 + 24 · p (p = power, 0–1) v_x = v·cos φ·sin θ v_y = v·sin φ v_z = v·cos φ·cos θ
Strike harder than ideal and the ball arrives earlier, drops less and rises over the bar. Strike softer and it spends longer falling, often clattering into the wall. At 24 m, a power error of ten percentage points moves the crossing height by roughly 0.7 m, which is the difference between the top corner and the upper tier.
| Distance | Ideal speed | Flight time | Vertical launch | Gravity drop |
|---|---|---|---|---|
| 17 m | 26.8 m/s · 96 km/h | ≈ 0.69 s | 11–14° | ≈ 2.3 m |
| 24 m | 28.7 m/s · 103 km/h | ≈ 0.96 s | 13–17° | ≈ 4.5 m |
| 30 m | 30.4 m/s · 109 km/h | ≈ 1.20 s | 15–19° | ≈ 7.1 m |
| 35 m | 31.8 m/s · 114 km/h | ≈ 1.40 s | 17–21° | ≈ 9.6 m |
Spin, the Magnus effect and measurable curve
A ball struck off-centre with the inside of the foot typically carries 8–12 revolutions per second of sidespin. The spinning surface drags air around one side faster than the other, producing a pressure imbalance that pushes the ball perpendicular to its direction of travel. The simulator models this as a lateral acceleration proportional to the square of speed.
a_lat = c_m · s · |v|² c_m = 0.009 m⁻¹, s ∈ [−1, +1] d_lat ≈ ½ · a_lat · t² θ_curve = | atan2(v_x, v_z)_end − atan2(v_x, v_z)_start |
At full spin and 28 m/s, lateral acceleration reaches about 7 m/s², bending the ball roughly 3 m over a 0.95 s flight. We report curve as the change in horizontal heading between launch and the goal line, so a heavily whipped strike reads around 13–15°. Spin decays by about 12% per second, which is why the bend tightens late in flight as drag bleeds speed away faster than spin.
The drag crisis and knuckling strikes
Drag on a football is not constant. The Reynolds number, Re = ρ·v·D/μ, sits around 4 × 10⁵ at free kick speeds. Below roughly 10–15 m/s the boundary layer separates earlier and Cd rises sharply towards 0.45. A low-spin strike passing through this transition can wobble unpredictably, which is the physical root of the knuckling free kick. The arena keeps Cd fixed at 0.25 for repeatability, but setting spin to zero reproduces the flat, dipping profile of an instep drive.
Crosswind and relative airflow
Drag depends on the ball's velocity relative to the air, not the ground. The engine computes vrel = v − w, where w is the crosswind vector. A 3 m/s crosswind across a 24 m strike shifts the crossing point by roughly 0.3–0.4 m. Because a real kicker cannot see wind, the aim solver deliberately ignores it: you must compensate manually by shifting your target upwind.
Numerical integration
Each tick applies semi-implicit Euler integration: accelerations update velocity first, then the new velocity updates position. At a 240 Hz step (Δt ≈ 4.2 ms) the positional error across a full flight stays under one centimetre compared with a fourth-order solver, while remaining fast enough to run the aim solver 45 times per shot without a visible delay.
Worked example: 24 m, target at x = 2.6 m, y = 1.9 m, spin +0.5. The solver returns a horizontal launch of about +3.8° and a vertical launch of about 15°. Released at 53% power (101 km/h), the ball bends roughly 7° and crosses within 10 cm of the target, logging accuracy near 97%.