Physics-based batted ball simulator

Batted Ball Lab

Adjust exit velocity, launch angle, and spray angle to simulate any batted ball. Watch the 3D trajectory, see where it lands, and build a spray chart. Export your session for analysis.

Field View

Ready to swing
Exit Velo
Launch Angle
Spray Angle
Distance
Hang Time
Result
Set your parameters and press Swing.

How It Works

Physics Model

The simulator uses a simplified projectile motion model with drag and Magnus force (backspin lift). Exit velocity, launch angle, and spray angle define the initial velocity vector. Backspin is estimated from launch angle (higher launch = more backspin). Drag coefficient varies with velocity. The model approximates MLB Statcast trajectories without requiring a full CFD simulation.

Hit Classification

Batted balls are classified by landing location and hang time. Ground balls (launch < 10°) are hits if they reach the outfield grass before a fielder can throw. Line drives (10–25°) have high hit probability. Fly balls (25–35°) depend on distance and wall height. Balls over the fence are home runs. Foul territory is determined by the foul lines extending from home plate.

Ballpark Dimensions

Four preset ballparks are included. Standard uses average MLB dimensions. Coors Field has deeper fences but higher altitude (modeled as reduced drag). Fenway includes the Green Monster in left (37 ft wall at 310 ft). Yankee Stadium has short porches. All dimensions are approximate and for simulation purposes only.

Export Format

The CSV export includes: swing number, exit velocity, launch angle, spray angle, batter hand, ballpark, landing coordinates (x,y in feet), distance, hang time, and result (hit/out/hr/foul). Import into Excel, R, Python, or any spreadsheet for further analysis.

Enjoy this tool? Build your own with Super