## Trajectory Calculator

**here**for the old version.

**Baseball Trajectory Calculator--new version
**** (updated, August 20, 2016)**
Click on the link to download an Excel spreadsheet that can be used to calculate baseball trajectories. Unlike the **old version**, this one can only be used for batted balls, not for pitched balls. Moreover, options regarding the drag and Magnus forces have been removed. Instead, the parameters associated with these forces are fixed, having been adjusted to best fit the 2015 Statcast data for batted balls, as discussed in my April 6, 2016 article in The Hardball Times entitled **Going Deep on Goin' Deep**. As with the previous version, it is still possible to adjust atmospheric conditions, such as the temperature, elevation, relative humidity, and wind.
However unlike the previous version, the present one is a 2-dimensional calculation in that the direction (or "spray angle") was not included; that is, all trajectories were assumed to go to straight-away center field. In more technical language, all quantities associated with the "x" coordinate (positions, velocities, accelerations) are fixed at 0. An update to include the third dimension is in progress and will be posted at a later date. With that caveat, this version is my best attempt at reproducing *average* batted ball distances for given initial conditions and atmospheric conditions, but be aware that there will be considerable variance of actual distances about those average values. Some of the variance is due to small differences in the drag coefficient of the baseball and some is due to unknown wind conditions.

The new version has one very useful additional feature that was suggested to me by the estimable **Tom Tango**. The spreadsheet contains three tabs: The **BattedBallTrajectory** tab, where the actual input parameters are set and the trajectory is calculated; the **Tables** tab, where it is possible to tabulate various results by varying two of the input parameters; and the **Elevations** tab, where I list the elevation above sea level for each MLB stadium. Currently I am showing two tables, both of which vary the exit speed and the launch angle. One table shows the distance; the other shows the hang time. In principle, any table can be set up to vary any two input variables and to tabulate any particular output. For example, one might like to investigate how distance depends on temperature (or wind speed; or relative humidity; or elevation) and exit speed at a fixed launch angle (or launch angle at a fixed exit speed).

Let me see if I can walk you through the current setup (and this should inform you how to set up something different). Specifically, I want to investigate how distance varies with exit speed and launch angle. The table is in cells **Tables!A7-Tables!I13**. The top row lists the exit speeds, the left column lists the angles, and all the stuff in the interior are calculated distances. The upper left-hand corner of the table (**Tables!A7**) is the dependent variable (Distance). It links to **Tables!B3**, which in turn links to the Distance cell **BattedBallTrajectory!B29**. The independent variables, exit speed and launch angle, are given in **Tables!B1** and **Tables!B2**, respectively. These are just dummy variables and anything can be entered here. Next link **BattedBallTrajectory!B6** to **Tables!B1** (exit speed) and **BattedBallTrajectory!B7** to **Tables!B1** (launch angle). After this is set up, highlight the full table **Tables!A7-Tables!I13**. Go to the Data menu, click on What-If-Analysis, then on Data Table. For "Row input cell", enter **$B$1**; for "Column input cell", enter **$B$2**. Click OK and voila, the distance numbers appear in the table.

There are lots of possibilities, especially if you want to investigate some of the effects of overriding the specified values of the drag coefficient, backspin, etc. My suggestion is that you download a clean copy of the spreadsheet and save it; then make your own "working copy" that you can use to play around. If you get in trouble, you can always go back to your clean copy.