Thinking in Systems, Not Code Thinking in SystemsNot Code
Field note · Cricket

Bowled by a
Late Swinger

I got out to a ball that pitched on middle and hit off stump. What could I have done differently? Let me check with some simulations.

The 60-second version

If you read nothing else


0.38 m
Sideways movement, the same at every length
96 mm
The ball that bowled me: middle to off stump, after pitching
2×
Extra late movement if you play back instead of at the pitch
So what

Don't try to guess how much it'll swing. Read where it starts, allow a ball and a half towards off, and meet it early. The movement that beats you is the part arriving after your bat is already committed.

Chapter 1

01  Swing is independent of length


I had a wrong assumption: I neglected the movement after the ball pitches.

LengthPitches from stumpsTotal swingMoves after pitchingTime to read it
Overpitched2.0 m+0.39 m+74 mm81 ms
Good length4.8 m+0.38 m+165 mm191 ms
Short8.0 m+0.38 m+261 mm324 ms
Three lengths compared, plan view and batsman's eye
Figure 1. The short ball is airborne 304 ms against 496 ms for a full one, and still swings the same 0.38 m. Look at the plan view: the three paths sit almost on top of each other, and only the crosses where they pitch separate. What length changes is when the movement happens. Off a short ball, 261 mm of it lands after the bounce. Off a full one, 74 mm.
Chapter 2

02  Read the line, not the movement


If the movement's fixed, the only thing left to read is where the ball started. So I changed the release angle and kept everything else the same.

ReleasedPitchesReaches the stumpsSwing
−3.0°0.45 m outside leg0.49 m down the leg side+0.38 m
−1.0°on middleoff stump+0.38 m
+1.5°0.55 m outside off0.82 m outside off, to slip+0.38 m
Three release angles, plan view and batsman's eye
Figure 2. Three aims, three parallel curves. Each dotted line is that same ball with the swing switched off, and every solid path sits the same distance from its own twin.
Chapter 3

03  Where to meet it


The further the ball travels, the more it has drifted. What matters is how much drift is still to come once my bat is committed.

Meet the ballAtMovement to coverArrives after you commit
At its pitch405 ms215 mm51 mm
2.5 m down the pitch495 ms287 mm79 mm
At the crease546 ms334 mm92 mm
Back, at the stumps592 ms379 mm102 mm
One delivery, three interception points
Figure 3. Each panel freezes when the ball reaches that point. The shaded wedges are the movement still to come.
The takeaway

Judge the line.
Meet it early.

I went looking for a way to predict the swing and found there's nothing to predict. It's the same 0.38 m almost every ball. What varies is where the bowler aimed it, and how much of the drift is still ahead of me when I commit.

More field notes at systemsnotcode.com →
Thinking in SystemsNot Code
© Ankit Naik 2026

Method & limits


The numbers here come from one configuration: a new ball at 119 km/h, seam angled 20°, released 2.2 m up. Read the limits before you trust the conclusions.

How it was built

  1. Ball flight and bounce as a Modelica model: multibody dynamics with a contact model for the pitch, solved in Wolfram System Modeler.
  2. Aerodynamics as a custom component: drag, seam side force, Magnus lift, fed by the ball's own velocity and spin.
  3. Trajectories exported and rendered in Blender, driven headlessly from the simulated data.
  4. The dotted line in every figure is the same delivery with the side force set to zero.