Statcast Mode
Simulate real MLB pitches with Hawk-Eye tracking data
Overview
Statcast Mode lets you pull actual pitch data from any MLB game and simulate it. Every pitch tracked by the Hawk-Eye system — release speed, spin rate, spin axis, release point — feeds directly into the physics engine.
Finding a Pitcher
- Enter the pitcher’s last name (e.g., “Ohtani”) in the search box
- Optionally add the first name to disambiguate
- Set the year (2016–present, default: 2025)
- Click Search or press Enter
The results show each matched player with their MLB ID and active years. If a player has no data for the selected year, a warning appears.
The autocomplete suggests names as you type — you don’t need to spell the full name.
Browsing Games
After selecting a pitcher, a list of game dates appears. Each entry shows:
- Date of the game
- Number of pitches thrown
- Pitch types used (e.g., FF, SL, CU, CH)
Click a game to load its pitch-by-pitch data.
Selecting Pitches
The pitch list shows every pitch from that game:
| Column | Description |
|---|---|
| # | Pitch index within the game |
| Type | Color-coded pitch type badge |
| Speed | Release speed in km/h |
| Spin | Spin rate in rpm |
| Inn | Inning |
| Result | Pitch outcome (strike, ball, foul, etc.) |
Single pitch
Click a pitch, then click Simulate Selected Pitch.
Multiple pitches
- Cmd/Ctrl + Click — toggle individual pitches
- Shift + Click — select a range
- Use the pitch type buttons above the list (e.g., “All FF (12)”) to select all pitches of a type
- The button changes to “Simulate N Pitches (Overlay)” — all selected pitches are simulated and overlaid automatically
What You Get
After simulation, the left panel shows:
- Release position (x, y, z) in meters
- Velocity vector (v₀, θ, φ)
- Spin decomposition (Backspin, Sidespin, Gyrospin in rpm, plus Spin = |ω| in rpm)
- Angular velocity (ωx, ωy, ωz in rad/s, plus |ω| in rad/s)
- Spin efficiency and spin axis angles
- Home plate crossing — simulated vs. Statcast actual, with difference in cm
- Spin movement — horizontal and vertical displacement due to spin (cm)
- Batter’s strike zone — adjusted per batter (sz_top, sz_bot from Statcast)
Physics Model Options
The toolbar above the pitch list includes options that control how the simulation physics are computed:
CL Model
The CL model selector determines the lift coefficient model used for both the trajectory simulation and the spin efficiency estimation:
| Option | Model | Description |
|---|---|---|
| CL Nathan 2020 (default) | \(C_L = 0.336\,[1 - e^{-6.041\,S}]\) | Exponential fit from Nathan (2020), based on wind-tunnel and motion-capture experiments |
| CL Rational (old) | \(C_L = 1.045\,S\,/\,(0.583 + 2.333\,S)\) | Legacy rational function model |
| CL Rational cl2=1.12 | \(C_L = 1.12\,S\,/\,(0.583 + 2.333\,S)\) | Nathan’s original Excel spreadsheet value |
where \(S = r\omega_T / v\) is the spin factor.
The CL model affects both the trajectory integration and the spin efficiency estimation from pfx data. The simulator ensures these are always consistent — the same model is used for both.
Accel ω
The Accel ω checkbox switches the angular velocity estimation method:
- Off (default): Uses pfx (spin-induced deflection) to estimate Magnus acceleration as \(a_M = 2\,\text{pfx} / t^2\), and derives the transverse spin axis from pfx direction in the xz plane.
- On: Uses the Nathan (2020) acceleration-based method. This extracts Magnus acceleration directly from Statcast’s measured acceleration (ax, ay, az) by:
- Removing gravity
- Separating drag via projection along the mean velocity vector
- The remainder is the Magnus acceleration (Nathan Eq. 6)
- The transverse spin direction is computed as the 3D cross product \(\langle\hat{v}\rangle \times \hat{a}_M\) (Nathan Eq. 10)
The acceleration method provides a more rigorous drag–Magnus separation, which typically results in lower spin efficiency estimates (more gyrospin) compared to the pfx method.
Tips
- The batter silhouette and 3D batter figure automatically adjust based on the batter’s handedness (R/L) from the Statcast data
- The pitcher silhouette flips based on the pitcher’s throwing hand
- When you overlay multiple pitches, the Overlay Statistics panel appears automatically with mean, standard deviation, min, and max for all parameters