GolfLab
A computer model of a golf club head hitting the ball. It predicts the ball speed and spin lost on off-centre hits, and I checked it against six published results.
I specified the physics, the checks and the data model. The Python was written with AI coding tools.

- Published results checked against
- 6
- Error against a published formula
- 1 in 10¹⁴model
- Ball speed from a 12% springier face
- +5.25%modelPublished: about 5%
- Toe-hit sidespin left with 19% more MOI
- 0.845modelPublished: 0.74
The question
When you hit a golf ball off the centre of the club face, how much ball speed and spin do you lose? And how do the head's weight, its centre of gravity and its moment of inertia (MOI: how strongly it resists twisting) change that? I wanted to answer it from first principles, taking every constant from the R&A/USGA equipment rules or published research.
Prediction
The model treats the head as a solid object moving freely for the fraction of a millisecond it touches the ball, and works out the collision from momentum. On an off-centre hit the head twists as well as moves, so the ball meets what behaves like a lighter head, and leaves more slowly. Because the centre of gravity sits behind the face, the same twist also puts sidespin on the ball, known as gear effect. Working this out for every point on the face gives a forgiveness map. Point at the face below to see what the model predicts for a strike there.
The forgiveness map to explore point by point loads here. The figures above show the same model.

Test
Before trusting the model, I checked it against six published results: two exact formulas, and four results from real tests or other studies.
| Check | Source | Model | Verdict |
|---|---|---|---|
| Ball speed from head speed and mass | Penner (2003) | Error of 1 part in 10¹⁴ | Exact |
| Face springiness (COR) from the official R&A/USGA test | R&A/USGA test protocol | Error of 1 part in 10¹⁶ | Exact |
| A 12% springier face gives about 5% more ball speed | Cochran (1999) | +5.25% | Agrees |
| A lighter, faster head gives about 5.6% more ball speed | Reyes and Mittendorf (1999) | +5.96% | 0.36 points high |
| 19% more MOI cuts toe-hit sidespin to 0.74 of the standard head's | Iwatsubo et al. (2000) | 0.845 | Right direction, too small |
| A 4-iron hit in the centre at 40 m/s: 54 m/s simulated, 56.9 m/s measured | Knowles et al. (1998) | 55.1 m/s | Between the two |
The last four are as reported by Penner (2003).
Result
The model matches both exact formulas to within the computer's rounding, and agrees with the springier-face result. It comes out slightly high on the lighter-head trade-off. On toe-hit sidespin it gets the direction right but predicts a smaller cut than the study found: 0.845 against 0.74.
The gap explained
Most of the sidespin gap comes from the model's biggest simplification: version 1 treats the face as flat. Real club faces are curved from heel to toe and from top to bottom (bulge and roll), and that curve works against gear effect. So a flat face overstates sidespin towards the edges, and the gap is about the size of the curvature effect the model leaves out. Two smaller reasons: the study doesn't say how fast its club was swung, and its heads may have differed in more than one way.
What I'd do next
Add the face curvature, then run the model on a head measured from a real CAD model rather than a placeholder. After that, the question moves inside the collision itself: how long the ball stays on the face, which my driver test project will model and then measure.
Revision history
| Rev | Date | What changed |
|---|---|---|
| A | 12 Sep 2026 | Impact model and forgiveness map: ball speed, launch and spin from strike position, checked against six published results. |
| B | 13 Sep 2026 | Head geometry: the centre of gravity and moment of inertia in every direction, worked out from a head's dimensions and weights. |