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

  1. Enter the pitcher’s last name (e.g., “Ohtani”) in the search box
  2. Optionally add the first name to disambiguate
  3. Set the year (2016–present, default: 2025)
  4. 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.

Tip

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.

Note

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:
    1. Removing gravity
    2. Separating drag via projection along the mean velocity vector
    3. The remainder is the Magnus acceleration (Nathan Eq. 6)
    4. 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