Wind
An open stadium always has some wind. It changes the drag on the ball, and the Magnus force depends on how the ball moves through the air, so even a light breeze shifts where the curl ends up.
20.1° up. 25.3° right. 460 rpm.
I've played soccer for over 10 years, and with the 2026 World Cup coming up I wanted to know what's really going on in a great free kick. So I modelled one in three parts: where to aim so the keeper can't get there, how high to launch it so it clears the wall, and how much spin it needs to curl into the corner.
I didn't pick this topic by asking what math I wanted to use. I asked what I wanted to understand. I've played soccer for most of my life, and I knew two things about free kicks from doing them: you need a really precise angle to get over the wall and still hit the spot you want, and you can bend the ball by spinning it. What I didn't know was what a good angle actually is, or how the spin works.
The kick I kept rewatching was Cristiano Ronaldo's against Spain at the 2018 World Cup. He aims at the edge of the wall and curls it into the top corner, completely out of the keeper's reach. I wanted to see that as math.
So I split the perfect free kick into three questions, each one feeding the next.
The part of the goal a 5′10″ keeper can't reach, even jumping. That becomes the target.
The vertical launch angle that gets over the jumping wall and still drops into the target.
Aimed past the wall, the ball would miss the target. Spin, through the Magnus effect, bends it back.
The answer, if you only remember one line: 20.1° up, 25.3° right, and 460 rpm.
I modelled the keeper standing in the middle of the goal, reaching out as far as they can in every direction. That traces a semicircle. Whatever's left over in the top corners is where the ball needs to go.
r = 228 + 41.9 = 269.9 cmD = √(366² + 244²) = 439.9 cmd = D − r = 170.0 cms = d / √2 = 120.2 cmThe standing reach is mine: 228 cm, measured. On top of that goes an average keeper's jump, 41.9 cm, so the reach is r = 269.9 cm from the centre of the goal line.
The far corner is D = 439.9 cm away (Pythagoras, with half the goal's width and its full height), which leaves d = 170 cm out of reach along that diagonal. I turned that gap into a square with d as its diagonal, so each side is 170 / √2 ≈ 120.2 cm. (My IA rounds it to 120.1, which is where the 123.9 and −245.9 below come from. A millimetre either way doesn't change anything.)
A ball aimed right at the edge of the square would clip the post or the bar. So I took the ball's radius off the two sides that touch the frame. A size 5 ball is 69 cm around, which makes the radius 69 / 2π = 11.0 cm.
That leaves the target [−355, −245.9] × [123.9, 233] cm, with its centre at (−300.45, 178.45) cm. Parts 2 and 3 aim at that point.
The ball starts 20 m out and 5 m left of the left post, so it has 20.78 m to travel to the centre of the target. On the way, 9.15 m out, there's a wall of players who all jump. Drag the angle and watch both problems at once.
Without air resistance, the ball moves forward at a steady v₀cosθ while gravity pulls it down. Writing time in terms of distance and substituting gives the height at any distance x:
I used v₀ = 21.33 m/s, from research on instep kicks. The wall is 177.8 cm tall (an average 5′10″ player) plus a 36.8 cm jump, so 214.6 cm. The clearance is the ball's height at 9.15 m minus that:
Differentiating H and setting it to zero gives tanθ = 5.069, so θ = 78.8° clears the wall by the most. It also sends the ball nowhere near the goal. The real question is which angles land in the target.
Setting f(20.784) equal to the bottom (123.9 cm) and top (233 cm) of the target, and substituting u = tanθ, gives two quadratics. Their sensible roots are 16.9° and 20.1°. The other roots, around 76°, are lobs that drop in from way above, not free kicks.
Then the check: H(16.9°) = −35.2 cm, straight into the wall. H(20.1°) = +17.9 cm. The wall rules out most of the scoring range, so the best I can do is the top of it: 20.1°, clearing the wall by 17.9 cm and dropping in just under the bar.
Like Ronaldo, I aim at the right edge of the wall. That's 9.5° off the line to the target, plus the 15.8° that line already makes with straight ahead: 25.3° right. Kicked straight, that misses the corner by almost 4 m. Spin is what pulls it back, and it starts pulling straight away: by the wall the ball has already drifted about half a metre left, so it curls over the outside shoulder of the last player.
Air pushes back on the ball with a force proportional to v². Separating variables and integrating gives a forward speed that drops off over time:
With a drag coefficient of 0.25 and the forward speed of 18.11 m/s, k = 0.245. Integrating again and setting the distance to 20 m gives a flight time of T = 1.27 s.
A spinning ball drags air around with it, so the air moves faster on one side than the other, and the pressure difference pushes the ball sideways. That's the Magnus effect. Its force is proportional to rω·v, so it fades as the ball slows down.
Dividing by the mass and integrating twice (the second one by parts) gives the sideways shift. With every constant in, it simplifies to:
With no spin, 20 m forward at 25.3° moves the ball 9.46 m sideways, so it crosses 0.80 m right of centre, right at the keeper. Bending it to each side of the target:
The centre of the target needs 460 rpm counterclockwise, with 66 rpm of room either way.
Your turn over the ball. Same spot, same wall, same keeper, and the same equations as parts 2 and 3. Set the angles and the spin, then shoot. The orange square is the corner the keeper can't reach.
Line it up and press shoot.
The answers feel believable. 20.1° is a normal angle for a free kick, and the spin lands in the 300 to 600 rpm range I found for finesse shots. What surprised me was how small the margins are. The whole working range of angles is 1.1° wide, and the best of them clears the wall by 17.9 cm. Something I'd always thought of as a feel thing turns out to need a lot of precision.
The spin was my favourite part. I've hit curling shots for years without thinking about it, and seeing an exact number come out of the Magnus effect was really cool. Everything collapsing down to x = 0.079ω at the end was the most satisfying moment of the whole IA. Now every time I stand over a free kick I'm going to think “20.1° up, 25.3° right, 460 rpm,” even though it only works from this exact spot.
The same equations show up way outside soccer. The projectile motion in part 2 works for anything thrown through the air, and the drag and Magnus forces in part 3 come from fluid dynamics, which is the same physics engineers use for planes and rockets.
An open stadium always has some wind. It changes the drag on the ball, and the Magnus force depends on how the ball moves through the air, so even a light breeze shifts where the curl ends up.
I assumed the ball spins around a perfectly vertical axis. Real kicks spin at an angle, so only part of the spin bends the ball sideways, and the rest lifts it or pushes it down.
My keeper stands still in the middle of the goal. A real one shuffles across to shrink the open corner, which would make the target zone smaller and move it around.
Each of these is a possible extension: model the tilted spin and its effect on the sideways shift, or let the keeper move and see how the target zone changes with them.
Aim for the corner the keeper can't reach. Launch it just high enough to clear the jumping wall. Then spin it hard enough to bend it back from the edge of the wall into that corner.
20.1° up, 25.3° right, 460 rpm. The magic in a great free kick is math.