Recasting PITCHf/x Data in Two Dimensions

Chris Sale gets in-plane movement on his slider. (via Minda Haas Kuhlmann)

Chris Sale gets in-plane movement on his slider. (via Minda Haas Kuhlmann)

Many readers will be familiar with the novella Flatland where life takes place in two dimensions. Now, what if I were to tell you that the same is true of every major league pitch. It’s just that they all exist on different planes, man. Stick with me through this initial explanation and you’ll see what I mean.

PITCHf/x relies on nine parameters to give a three-dimensional representation of the path of a pitch. However, it can be shown that the path of a pitch from this model is contained entirely in a unique two-dimensional plane, which is determined by the nine parameters of the model. The six parameters related to velocity and acceleration form a vector perpendicular to, and thus define the orientation of, the two-dimensional plane. The mathematics of this are provided near the end of the article.

Once this plane has been defined, three new coordinates can replace the traditional x-, y-, and z-coordinates. The first direction, called the binormal or b-direction, is in the direction of the aforementioned vector perpendicular to the plane. The other two vectors are free to be chosen, provided that both (i) lie in the plane and (ii) are not parallel. We will refer to these as the u– and w-directions (we intentionally skip using v since this variable is typically used for velocity). For the purposes of representing the pitch in the plane using these new coordinates, the u-direction will be analogous to the y-direction for the PITCHf/x data with the characteristics that it has zero vertical component and points back toward the pitcher. The w-direction plays the role of both x and z, and is chosen to have a positive z-component.

The way these directions are chosen allows a change from xyz-space to uwb-space to preserve both the distances and angles of xyz-space. It also maps the point (0,0,0) in xyz-space to (0,0,0) in uwb-space. Using this change, the entire flight path of a pitch can be displayed in two dimensions, making comparison of pitch trajectories easier. The planes themselves can be rendered in 3D to see how this restricts the possible pitch locations.

This article is intended to serve as a primer on how the planes of pitches are oriented and possible uses for these planes. The majority of this will be accomplished through specific examples, with a more rigorous analysis of some of these aspects in possible future articles.

Pitch-Dependent Basis and Visualization

To visualize the plane of a pitch, we will choose a slider from Chris Sale to Robinson Cano from Aug. 21, 2015 (all data in this study will be from the last complete season). First, the pitch itself:


Pictured below is the plane that the pitch lies in, from the viewpoint of the catcher, as well as the three new coordinate directions, which will be referred to as a “pitch-dependent basis” since the directions are unique to each pitch. While the plane shown is from the ground to five feet high and extends from 55 feet from home to the front of the plate, it actually extends infinitely in all its directions. Since the pitch is restricted to this plane, upon reaching home plate it can exist only along the solid yellow line that runs from top to bottom of the image. The pitch location at the front of the plate is shown, and does lie in the plane.

PITCHfx Coordinates

The vectors are shown in the center of the image to be easier to see, but the origin of this new coordinate system is still at the tip of home plate, the same as PITCHf/x. After obtaining these vectors that indicate our new directions, the path of the pitch can be represented entirely using only u and w.


The u and w values are still in feet, and are measured relative to the tip of home plate. Since the plane is perpendicular to the b-direction, a single value for b completely defines the location of the plane. You can think about the plane as a frame for the 2D curve of the pitch. Placing this 2D curve in the frame would recreate the trajectory of the pitch in three-space.

To have a non-basis dependent metric for representing the orientation of these planes, we will use a given plane’s angle from vertical. An angle of zero degrees corresponds to a vertical plane. Positive angles represent planes that slope up from left to right from the catcher’s perspective and negative angles represent sloping down from left to right. For Sale’s slider in question, this angle is 13.2 degrees. Another choice of metric could be, for example, the direction of the binormal vector.

Once we have the plane for a particular pitch, we can define characteristics of the pitch that exist within the plane, such as movement.

In-Plane Movement

Having created and defined the plane, pitch movement can be expressed as a single value in the w-direction. PITCHf/x’s expression of movement is based on the acceleration of the pitch in the x and z-directions, minus gravity.

Removing gravity, as is, from the acceleration would take the projected path of the pitch outside of the plane. So, to find the movement within the plane, we need only to remove the component of gravity in the w-direction. As with PITCHf/x, we will calculate movement from 40 ft in y. Note that here, since we are only removing a portion of gravity, the physical interpretation of this “in-plane movement” becomes harder to define. In essence, this movement is the in-plane deviation of a pitch from its actual path when only the component of gravity in the w-direction is included in the acceleration.

For the previously discussed pitch by Chris Sale, the gravity vector in uwb-space is <0,-31.325,7.343>. The movement in the w-direction, measured from 40 feet from home plate, is then -7.5 inches, where the negative sign means that the movement causes the pitch to move down within the plane. If we choose to find the movement with gravity included, assuming no acceleration for the pitch from 40 feet, this value lowers to -28.8 inches. The graph below shows the path of the pitch in each of these scenarios.

A Hardball Times Update
Goodbye for now.

Now that we have a metric for comparing planes and a definition of in-plane movement, we can examine what these values show us. We will choose Madison Bumgarner’s 2015 pitches for our case study. He was chosen due to an interesting result that occurs with two of his pitch types. As a point of comparison, we will begin with plotting just the pfx_x versus pfx_z values, color-coded by pitch, and will compare their distribution to the angle from vertical for the planes versus the in-plane movement.

Bumgarner_H_V_Mvt_2015 Bumgarner_Mvt_Angle_2015

The clustering in both plots is consistent, in that they group by pitch type. Based on the angle, the two types of fastballs and the change-up have planes that slope down from left to right while the slider and curveball slope up. Also, the two types of fastballs are spread over a much wider range of angles than the other types of pitches. The in-plane movement of the two fastballs and the slider is upward in the plane, the change-up has close to zero movement, and the curve has downward movement in the plane.

If, for example, Bumgarner wanted to throw consecutive pitches that would have similar planes, presumably appearing initially similar to a batter, but were of different pitch types, the fastballs and change-up would pair well together as would the slider and curve. Also of note here is that some pitches have a large amount of PITCHf/x movement but a small amount of in-plane movement. For example, Bumgarner’s change-up has approximately five to 10 inches of horizontal movement and zero to 10 inches of vertical movement. However, its in-plane movement is centered around 0.

We can also examine in-plane movement in relation to pitch speed. Below is a plot of Bumgarner’s speed versus in-plane movement.


The clustering of similarly classified pitches remains the same, but overlap appears between the change-up and slider, indicating similar speeds and similar amounts of in-plane movement. This occurs even if gravity is included in the movement calculation:


This means that, within their planes, Bumgarner’s change-up and slider are similar pitches. We can demonstrate this visually as well. We will examine a change-up and slider from Bumgarner’s May 9, 2015 start against the Miami Marlins. The first pitch is a change-up to Martin Prado. The actual pitch is shown first, followed by the pitch in-plane with a yellow circle tracking the projected location of the pitch with the remaining movement taken out.

Bumgarner_5_9_15_CH Bumgarner_Sim_5_9_15_CH

This change-up sits in a plane at an angle of -22.3 degrees and has 2.4 inches of in-plane movement. The slider selected for comparison to the change-up has a similar vertical position (1.027 feet at the front of home plate for the change-up compared to 1.221 feet for the slider). This chosen slider is a second inning offering to J.T. Realmuto.

Bumgarner_5_9_15_SL Bumgarner_Sim_5_9_15_SL

The plane of the slider is at an angle of 7.5 degrees and has 2.1 inches of in-plane movement. If the two paths of the pitches are overlaid, they align reasonably well.


So for Bumgarner’s change-up and slider, the pitches have similar 2D flight paths but exist in planes with different orientations. This provides an interesting way of viewing certain types of pitches as being similar in path, speed, and in-plane movement but approaching the batter at different angles.

Angle and in-Plane Movement Results for Pitchers in 2015

To get an idea of where different pitches occur in terms of angle and in-plane movement, we will plot the mean of the angle versus the mean of the in-plane movement for the top 25 pitchers based on number of pitches thrown for each type. Here, we restrict ourselves to the seven pitches that at least 25 pitchers, both left-handed and right-handed, threw in 2015: change-up, curveball, cut fastball, four-seam fastball, two-seam fastball, sinker and slider.

LHP_Mvt_Angle_2015 RHP_Mvt_Angle_2015

For both left- and right-handed pitchers, curveballs, cut fastballs, and sliders have mean angles in the neighborhoods of +/- 10 degrees, with the cut fastballs from lefties dipping down toward 0 degrees. The change-up, four-seam fastball, two-seam fastball, and sinker sit over a wider range of values with mean angles predominantly between +/- 20 and +/- 40 degrees. For in-plane movement, the cut fastball and four-seam fastball tend to move up in the plane; the change-up, two-seam fastball, sinker, and slider are clustered near zero movement; and only the curveball largely has downward movement in the plane.

The mean and standard deviation of the plane angle and movement for the top 50 pitchers for each of these seven types of pitches, from bpo left- and right-handed pitchers, are in links to .csv files at the end of the article.

Next, we will look at a case of different pitches with the similar planes.

Similarly-Angled Planes for Different Pitches

For the case of two different types of pitches with the similar planes, we will use Max Scherzer’s pitches from 2015. Below is a plot of the in-plane movement versus the angle of the plane of the pitches.


We will focus on the curveball and slider, which are both around -10 degrees for their planes. In a June 14, 2015 at-bat by Jason Rogers, Scherzer threw a slider and curve on consecutive pitches that we will illustrate using their planes.

First up is the slider:

Scherzer_6_14_15_SL Scherzer_Sim_6_14_15_SL

The angle of the plane for the slider is -7.6 degrees with -1.5 inches of in-plane movement. The subsequent curveball has a plane at -8.1 degrees with -2 inches of movement.

Scherzer_6_14_15_CU Scherzer_Sim_6_14_15_CU

In both cases, the pitches are in similarly oriented planes with one plane rotated to put the pitch on the opposite side of the strike zone. Note that the back line of the plane, near the mound, in each case appears nearly identical. In uw-space, both pitches can be plotted together in 2D.


Since their planes are very close in terms of angle, this conversion to uw-space allows for an easy visual comparison of the trajectories of the pitches without having to sacrifice a dimension, plotting y vs. x or y vs. z, or render both in 3D. In uw-space, the slider starts higher, peaks around 40 feet, then finishes about two feet lower than the peak at the front of the plate. The curve starts lower, and is continually decreasing in the w-direction.

In-Plane Movement Versus PITCHf/x Movement

In-plane movement and PITCHf/x movement give different measures of how acceleration affects the flight path of a pitch. In this example, we will consider two four-seam fastballs from LHP: one from Clayton Kershaw and one from Justin Nicolino. Kershaw was chosen since, out of the 50 left-handers who threw the most four-seamers in 2015, his produced the most in-plane movement (with mean 10.47 inches). Nicolino, on the other hand, had a lot of PITCHf/x movement but very little in-plane movement (with mean 2.04 inches).

The pitch from Kershaw is from an Aug. 23, 2015 game against Marwin Gonzalez of the Astros. Both the actual pitch and a simulation of the pitch with its plane are shown. In the simulation, the yellow circle represents the projected location of the pitch with its remaining in-plane movement removed and the red circle represents the projected location with the remaining PITCHf/x movement removed. The pitch has PITCHf/x movement pfx_x = 2.87 and pfx_z = 12.27 inches, with in-plane movement 10.81 inches.

Kershaw_8_23_16_FF Kershaw_Sim_8_23_FF

Both types of movement are in upward directions, with the in-plane projection dragging the projected pitch through the strike zone. The projection with the remaining PITCHf/x movement removed starts the pitch outside the zone and sweeps it across its upper-left corner.

Nicolino’s four-seamer is to Brandon Phillips from June 20, 2015. The PITCHf/x movement for the pitch is pfx_x = 8.29 and pfx_z = 8.14 inches, with 2.46 inches of in-plane movement.

Nicolino_6_20_15_FF Nicolino_Sim_6_20_15_FF

While the in-plane movement of the pitch moves its projection only slightly up the plane, the PITCHf/x movement brings the projection across the strike zone.

Observing the two simulations, it would seem that having PITCHf/x movement in the direction of the plane translates to having a similar amount of in-plane movement and having PITCHf/x movement perpendicular to the plane suppresses in-plane movement.

As a means of projection, based on removing PITCHf/x or in-plane movement, it would be of interest to analyze which choice may provide more insight into how batters determine whether a pitch appears to be a strike or a ball. If the batter can pick up the plane of the pitch, then in-plane movement may be a useful characteristic to study for pitches.

Discussion and Avenues for Future Study

The intent of this article was to present the explicit calculation of the planes that the PITCHf/x data live in, how these planes appear for actual pitches, and subsequent information that can be drawn from these planes, such as in-plane movement. Much of this would need topic-specific analysis to understand which metrics are useful, which falls beyond the scope of this introductory piece.

In the future, it would be interesting to examine if significant in-plane movement correlates with swings and misses, and how it compares to traditional PITCHf/x movement in relation to affecting batters’ ability to judge pitch location.

For pitch sequencing, one could analyze the effect on batters of different pitch types thrown in similar planes on consecutive pitches, in the same vein as pitch tunneling. Based on the fact that the PITCHf/x data restricts pitches to planes, to throw two pitches along similar paths early in their flight, their planes would have to be close (note that we can also find a second angle for the plane that would indicate the direction that the plane was oriented, relative to pointing straight ahead).

One option explored, but not presented here, was how the way a plane intersects the strike zone relates to swings or pitches taken. Two simple ways of measuring this would be the length of the line that the plane makes in the strike zone, or the ratio of the area that the plane splits the strike zone into. No intersection would be a ratio of 0 and the strike zone split in half would be a ratio of 1. Another use, for the 2D visualization, would be to try to analyze late break of pitches. Since the entire path of the pitch can be viewed in two dimensions, it would make it easier to visually or analytically detect late break, if it exists for a pitch as a physical quantity.

What follow are the mathematics justifying what is presented above. Feel free to wade in, even if you don’t have a mathematics background, but if this is the moment you choose to step away, we won’t be offended.

Derivation of Formulas

Most of the mathematics here lies in the realm of multivariable calculus and linear algebra, but the concepts should be accessible even without such a background. After that, tables are given for both the angles and in-plane movement for 50 left-handed and right-handed pitchers for each type of pitch. There’s an example table for each, with the remaining tables available in links. Finally, there is code for the visualization of the planes as a playable movie in a PDF, along with R code of reproducing most of the plots and data given in the article.

For curves in three dimensions given by (x(t),y(t),z(t)), where t is a parameter, an osculating plane can be found for the curve at a given point (or for a specific value of t). This is the plane that is closest to containing the curve at that point. The torsion of a curve at a point is a measure of the curve’s tendency to twist out of the osculating plane. If the torsion is equal to zero, the curve never exits its osculating plane and, being confined to a 2D plane, is referred to as a planar curve. For the PITCHf/x data, it is easy to show that the torsion for any pitch is zero. This is since the calculation of the torsion relies on the derivative of the acceleration, a constant vector, which produces the zero vector. The below equation for the torsion of a space curve demonstrates this:


In this equation, a is the constant acceleration vector, v(t) is the velocity vector at the given point, “x” denotes a cross product of two vectors, “.” indicates a dot product of two vectors, and the vertical bars mean to find the magnitude or length of the vector. Since a is constant, its derivative is zero, so the torsion is zero. Therefore, the osculating plane is the same for all locations of the pitch and the pitch cannot exit this plane.

To find the equation of the plane, we need two pieces of information: a point in the plane (which could be (x0,y0,z0) from the PITCHf/x data) and a vector perpendicular to the plane. Luckily, this vector can be determined from the velocity and acceleration of the curve at a given point. Since the osculating plane is the same at all points, we can use the velocity at 50 feet from PITCHf/x and the constant acceleration:

Binormal Vector

This forms the “binormal” vector, labeled B. This vector can be written in component form as B = <Bx,By,Bz> and, combined with the point (x0,y0,z0), the plane is defined as:

plane equation

For the above equation, the position of the pitch at any given time, (x(t),y(t),z(t)), must satisfy the equation when substituted in for (x,y,z).

We now need to define two vectors that exist within this plane to complete a new basis (set of directions that can form all points in 3D) for the given pitch. The first new direction will be taken to function as y does in PITCHf/x. To do so, we take the component of this vector in the vertical direction to be 0. Then any vector that has a positive y-component and is perpendicular to B will work. An easy choice, denoted U, is given below.

u vector

The “sign” function used produces a -1 if its argument is negative, +1 if its argument is positive, and 0 if its argument is 0. Also, we are making each vector of unit length to form an “orthonormal basis” which has various nice properties that will be of use later.

Finally, we need one more vector to fill the role of both x and z. This vector needs to be perpendicular to both B and U. The cross product of two vectors will accomplish this task, along with two adjustments. First, we will make this new vector also unit length and ensure that the z-component is positive so that the vector points upward, provided the plane is not horizontal. This vector will be labeled W.

w vector

These three vectors, U, W, and B, now form an orthonormal basis in three dimensions. Using these vectors to go from xyz-space to uwb-space will preserve both lengths of vectors and angles between vectors. So in doing this conversion, the data is not distorted in any way. We can think of vectors in xyz-space being a linear combination of the vectors X = <1,0,0>, Y = <0,1,0>, Z = <0,0,1>. For example, the vector <x(t),y(t),z(t)> can be written as x(t) X + y(t) Y + z(t) Z. Our goal is to be able to write <x(t),y(t),z(t)> as u(t) U + w(t) W + b(t) B, where (u(t),w(t),b(t)) are the coordinates of the curve in uwb-space.

This can be performed using an orthogonal transformation, which maps points in xyz-space to uwb-space. To find the values of (u(t),w(t),b(t)), we set up the following system of equations:

xyz to uwb vectors

Everything here is known except the three values in question. To solve this, we need to isolate u(t),w(t), and b(t). This is accomplished by first writing the system in matrix form.

xyz to uwb matrix

Next, we need to apply the matrix’s inverse. However, since the matrix is orthogonal, where the columns are perpendicular vectors and of length one, its inverse is its transpose (the matrix formed by switching the rows and columns). Applying the inverse provides a means to find u(t),w(t), and b(t).

matrix transpose

Using matrix multiplication, the value u(t) is equal to x(t) Ux + y(t) Uy + z(t) Uz. An analogous result holds for w(t) and b(t). This can also be applied to get velocities and accelerations in uwb-space. For example, au = ax Ux + ay Uy + az Uz. With this transformation, the equations for the position of the pitch become:

uwb Equations

The component in the binormal direction is a constant, which defines the plane, and only two components change over the flight path of the pitch: u and w. The pitch can then be plotted over its original time interval.

Tables for Angles and In-Plane Movement

For the first set of tables, the angle of the plane by pitch type, the mean and standard deviation of the angle are given, along with the number of that type of pitch thrown. An example table is given for the top 25 pitchers in four-seam fastballs thrown by lefties in 2015. All remaining tables are top 50 and are given in the below links to .csv files on a Google Drive.

# First Last Mean S.D. Number
 1 Clayton Kershaw  -3.623 13.118 1831
 2 Jose Quintana -18.604 12.088 1721
 3 J.A. Happ -30.287 10.031 1620
 4 Jon Lester -23.162  9.823 1483
 5 Danny Duffy -27.095 14.933 1462
 6 Robbie Ray -40.946  7.568 1376
 7 Madison Bumgarner -20.172  7.415 1359
 8 Eduardo Rodriguez -31.631  8.402 1337
 9 Wei-Yin Chen -37.019  8.515 1315
10 Tommy Milone -27.415 10.761 1188
11 David Price -37.924 10.187 1091
12 Wade Miley -27.205 11.786 1087
13 Gio Gonzalez -34.398  7.395  996
14 Cole Hamels -26.574 11.947  992
15 John Danks -35.132  8.959  991
16 Kevin Siegrist -33.525 10.034  950
17 Aroldis Chapman -35.856 16.654  874
18 Drew Pomeranz  -26.26 11.175  850
19 Jorge De La Rosa -29.849  7.939  785
20 Antonio Bastardo -39.473  8.937  783
21 Mike Montgomery -29.207  8.817  778
22 Travis Wood -17.353 10.035  766
23 Dallas Keuchel -26.528 11.359  762
24 Mark Buehrle  -4.795  7.347  739
25 James Paxton -28.626 11.309  736

Angle for Changeups from LHP (2015)
Angle for Changeups from RHP (2015)
Angle for Curveballs from LHP (2015)
Angle for Curveballs from RHP (2015)
Angle for Cut Fastballs from LHP (2015)
Angle for Cut Fastballs from RHP (2015)
Angle for Four-Seam Fastballs from LHP (2015)
Angle for Four-Seam Fastballs from RHP (2015)
Angle for Two-Seam Fastballs from LHP (2015)
Angle for Two-Seam Fastballs from RHP (2015)
Angle for Sinkers from LHP (2015)
Angle for Sinkers from RHP (2015)
Angle for Sliders from LHP (2015)
Angle for Sliders from RHP (2015)

The movement tables contain several measures. First, the mean and standard deviation of in-plane movement (IPM in the files) is given. This is followed by the absolute value of the in-plane movement (AIPM).  This second value is available to compare to the PITCHf/x movement listed later in the table. Third is the in-plane movement plus gravity (IPMG). Finally, the PITCHf/x movement (MVT) is given as a single value as the square root of pfx_x squared plus pfx_z squared. As before, a 25-pitcher sample is given here with a full 50 pitchers for each pitch type and handedness in the .csv files.

In-Plane Abs. In-Plane In-Plane + Gravity PITCHf/x
 # First Last   Mean  S.D.   Mean  S.D.    Mean  S.D.   Mean  S.D. Number
 1 Clayton Kershaw 10.466 1.669 10.466 1.669  -6.103 1.658 11.201 1.648 1831
 2 Jose Quintana  8.017  2.23  8.017  2.23  -8.611 1.819 10.809 1.827 1721
 3 J.A. Happ  5.128 2.195  5.141 2.163  -9.925 1.975 11.322 2.037 1620
 4 Jon Lester  6.676 1.681  6.676 1.681   -9.27 1.646 10.431 1.732 1483
 5 Danny Duffy  8.439 2.766   8.44 2.762  -6.195 1.931 12.481 1.513 1462
 6 Robbie Ray   2.39 2.191  2.677  1.83 -10.386 1.742 12.604 1.547 1376
 7 Madison Bumgarner  7.153 1.353  7.153 1.353  -9.189 1.302 10.057 1.413 1359
 8 Eduardo Rodriguez  4.695 1.835  4.699 1.824  -9.429  1.32 10.768 1.419 1337
 9 Wei-Yin Chen  4.591 1.778  4.596 1.767  -9.386  1.23 12.404  1.58 1315
10 Tommy Milone  7.758 2.142  7.758 2.142  -9.235 1.906 12.777 2.032 1188
11 David Price   4.74 1.997  4.754 1.963  -8.324 1.388 12.345  1.71 1091
12 Wade Miley    6.8 2.313    6.8 2.313  -8.888 1.562 11.683 1.749 1087
13 Gio Gonzalez  3.709 2.015  3.728  1.98 -10.656 1.596 11.604 1.557  996
14 Cole Hamels    6.7 1.948  6.701 1.947  -8.705 2.013 11.215 2.283  992
15 John Danks  6.229 1.908  6.229 1.908  -8.941  1.68 13.178 1.936  991
16 Kevin Siegrist  5.553 2.374  5.567 2.341  -8.315 1.546 11.889 1.467  950
17 Aroldis Chapman   5.97 2.922  5.993 2.875  -5.734 2.274 11.593 1.576  874
18 Drew Pomeranz  7.139 2.224  7.149 2.191  -8.306 1.515 11.564 1.554  850
19 Jorge De La Rosa  2.974 2.186  3.201 1.836 -12.311 1.862 10.529 1.906  785
20 Antonio Bastardo  5.782 2.355  5.794 2.324   -7.48 1.464 13.309 1.212  783
21 Mike Montgomery  2.334 2.448  2.739 1.984 -13.396 2.108 10.689 2.163  778
22 Travis Wood  9.402 1.511  9.402 1.511   -7.69 1.721 11.383 1.638  766
23 Dallas Keuchel  3.928 2.856  3.987 2.772 -12.264 2.229 10.259 2.211  762
24 Mark Buehrle  6.579 1.574  6.579 1.574 -14.221 1.781   7.33 1.836  739
25 James Paxton  5.601 2.438   5.62 2.395  -8.988 2.242 10.896 2.075  736

Movement for Changeups from LHP (2015)
Movement for Changeups from RHP (2015)
Movement for Curveballs from LHP (2015)
Movement for Curveballs from RHP (2015)
Movement for Cut Fastballs from LHP (2015)
Movement for Cut Fastballs from RHP (2015)
Movement for Four-Seam Fastballs from LHP (2015)
Movement for Four-Seam Fastballs from RHP (2015)
Movement for Two-Seam Fastballs from LHP (2015)
Movement for Two-Seam Fastballs from RHP (2015)
Movement for Sinkers from LHP (2015)
Movement for Sinkers from RHP (2015)
Movement for Sliders from LHP (2015)
Movement for Sliders from RHP (2015)

Code in R and LaTeX

Below are some of the functions and code used in the above analysis, written in R, in addition to the visualization code, in LaTeX. Any other code related to this work is available upon request.

LaTeX Code for Plane Visualization in PDF Form
Functions in R for Finding the Basis, Movement, Etc.
R Code for Plotting Angle/Movement for a Specific Pitcher
R Code for Plotting the Pitch in UW-Space, Along with a Display of Parameters

Matthew Mata is a mathematician, specializing in applied mathematics and scientific computing. He can be reached via email here. Follow his sporadic tweets on Twitter @arcarsenal8.
Newest Most Voted
Inline Feedbacks
View all comments
7 years ago

Wow, Calc III coming in handy! I’m amazed at the lack of horizontal movement Bumgarner gets on his slider, it seems very low. Do many other big leaguers have more horizontal movement on their fastball? Or am I interpreting the graph wrong?

Interesting thing to look at was the actual movement in the plane of the pitch and the effects that gravity played on the ball v. true IP movement.

Would be interested in seeing down the road where a pitcher’s success or lack their of is measured against his pitch selection and initial plane (i.e. looking from the macro, do guys with an initial plane that is very steep and wide to the AS like Jered Weaver generate more beneficial movement on one pitch over another compared to guys who are wide AS but flatter like Bumgarner and Sale). This could help identify what pitches would be most beneficial to certain types of pitcher depending on their mechanics.

Thanks for the article,


Matthew Mata
7 years ago
Reply to  Liam

Thanks for reading!

Bumgarner’s slider has about 2.5 inches of in-plane movement, and it has very vertical plane, angled about 5 degrees from vertical. This means that his slider only moves a bit off of its path with only gravity included in the w-direction. In general, the mean in-plane movement is in the range of -5 to 5 inches for LHP.

For four-seam fastballs from LHP, the mean movement is 5-10 inches for the top 25 pitchers in terms of pitches thrown. Two-seamers have closer to 0 mean for the movement.

Hopefully, in future articles, I’ll study the actual utility of knowing these planes and the in-plane movement. However, at this point, I haven’t explored it yet.

7 years ago

What about knuckleballs?
(Great article btw)

Matthew Mata
7 years ago
Reply to  .


The problem with knuckleballs is that, with PITCHf/x, the trajectory is going to be smoothed out. While the PITCHf/x data for each pitch sits in a plane, actual pitches may have some deviation from such a plane, especially for a knuckleball. It would be interesting, if I had the data, to compare the planes to the raw data for the position of a pitch to see how well it holds up.

Peter May
6 years ago
Reply to  .

wow, I actually have to brush up on my matrix multiplication notes ( from University to complete this article. This is probably one of the more fun baseball math I’ve seen so far. Good work, keep it up.

Peter Jensen
7 years ago

For the PITCHf/x data, it is easy to show that the torsion for any pitch is zero. This is since the calculation of the torsion relies on the derivative of the acceleration, a constant vector, which produces the zero vector.

Let me see if I understand this correctly. Your single plane model requires that the torsion is 0 which is dependent on the acceleration being constant. Pitch Fx is a simplified model of the pitch’s actual trajectory and the way that it is simplified is by requiring the acceleration to be constant instead of varying which we know it actually is. Isn’t it a little silly to base your single plane method of analysis on something that we know is incorrect? We know the 9 parameter model ( constant acceleration model) is a pretty good model for certain things. It gets the pitch’s speed very close to being correct and the ball’s position as it crosses the front of home plate correct to about 1 inch. But it is unlikely that your single plane model will be correct. Not only will the acceleration vary because of drag the is the very real possibility that the ball’s spin access changes during the pitch causing the acceleration due to the Magnus force to also change. And then there is the fact that the 9 parameters of the constant acceleration model that Pitch Fx derives are base on only a portion of the ball’s path from about 40 feet from home plate to about 10 feet in front of the plate.

What you have done is an interesting exercise and worth doing since translating data to a different axis system can often yield insights on the data. My guess would be that it might be more helpful in developing a more accurate automated pitch type identification program since that would not be as dependent on individual pitch level accuracy.

Matthew Mata
7 years ago
Reply to  Peter Jensen

Sorry for the late response. The goal of this was to look at Pitchfx data in a different manner and try to see if any new insights could be gained. I’m aware of the simplistic nature of the data and that the plane only exists for the data and maybe not for the physical pitch. In the future, I’m going to explore this further and see what uses it might have.

Alan Nathan
7 years ago

While I agree with what Peter says about constant acceleration being an approximation to the actual trajectory, I think the goal here is view the trajectory in a different coordinate system. The usual PITCHf/x coordinate system looks at the movement in the x-z plane (and also assumes constant acceleration). Pitch identification is accomplished by the placement of the clusters in the pfx_x:pfx_z system, along with the release speed. Matthew transforms to a new coordinate system, with the u axis pointing along the direction of movement and the w axis perpendicular to the u axis and approximately perpendicular to the y axis. It is simply a different way to look at the pitch, with no new information not already contained in the old way. What I haven’t decided yet is whether Matthew’s way better facilitates pitch identification.

I do have a question about the drag, which does not contribute to movement but does contribute to acceleration. PITCHf/x doesn’t get this right, a topic I have written about before. I suspect Matthew doesn’t either, but I’m can’t be sure without working out the details. My own discussion about this can be found here:

Matthew Mata
7 years ago
Reply to  Alan Nathan

I haven’t factored in drag here, but I can and will try to include it in future research. Since this is my first article on the topic, I tried to keep everything simple, but it is not a problem for me to account for drag. I’m currently out of town for the next week, with limited internet access, but when I get a chance I can make those changes and let you know.

Alan M. Nathan
7 years ago

Correction to my comment: w axis is approximately parallel to the y axis.

Alan Nathan
7 years ago

I thought about this some more today. First, let me correct what I posted earlier. In Matthew’s formalism, the w axis is in the direction of the movement and the u axis is approximately parallel to the y axis. The plots of angle from vertical versus in-plane movement is more or less equivalent to plotting the movement on a polar plot, where the distance from the origin is the magnitude of the movement (the w coordinate) and the angle is the direction of the movement with respect to the vertical. The direction of the movement is essentially the same as the orientation of the u-w plane. Way back in the early days of PITCHf/x, I (and others) plotted the movement data that way, but it never seemed catch on.

I haven’t worked out the mathematical details to show the equivalency of the two methods, but it is my gut instinct that it is correct.

Terrarium Tv APK
7 years ago

I think I’m crying. It’s that appealing.
Terrarium Tv App

K. Bundy
7 years ago

I am a big fan of your beautiful PITCHf/x analysis – excellent stuff! You’re da bomb!

samsung galaxy s8
7 years ago

Great! I loved your bog.

Shilpa Malhotra
7 years ago

Your information is good and friendly this article very helpful for me. Thanks for the post.!

Terrarium TV
7 years ago

Great work and will follow it soon.
Download Terrarium TV APK

7 years ago

That really nice news

7 years ago

I enjoyed over read your blog post. Your blog have nice information, I got good ideas from this amazing blog. I am always searching like this type blog post.

7 years ago

The blog you have written is precise. For some reason I found great interest in reading it and I would like to share it as well.

Anita Singh
7 years ago

Really I was searching for this kind of blog at Internet. After numerous pursuits I have discovered it today. Awesome post.

Snapback Caps
7 years ago

I enjoyed over read your blog post. Your blog have nice information, I got good ideas from this amazing blog. I am always searching like this type blog post.

Rasili Goa
7 years ago

I discover this great post today, I found here good knowledge about Bass ball. Thanks for share that.

Bangalore Girls
7 years ago

I have many useful thing for reading, I love your writing and your graph images.

Salomon Speedcross 3
7 years ago

I haven’t worked out the mathematical details to show the equivalency of the two methods,

Showbox app download
7 years ago

app for streaming download the app for free movies and tv shows streaming

Spoof Post
7 years ago

it is really a interesting post with much information. great work

doraemon episodes
7 years ago

you done a nice job
it is great

7 years ago

I love your writing and your graph images.

bottle flip
7 years ago

I want to be on the top. To be able to survive in this harsh life thank

gai xinh dep
6 years ago

I discover this great post today
6 years ago

woow, it only thing in the feedback

Shareit Download
6 years ago

An amazing article by one of the amazing article writer in the world. I really love reading your blog its kinda great and it motivates me to live my life without worrying about others! Thank You so much you’re my true hero!
6 years ago

Awesome share.. thank you. Learned a lot.

BHIM app
6 years ago

An amazing article by one of the amazing article writer in the world. I really love reading your blog its kinda great and it motivates me to live my life without worrying about others! Thank You so much you’re my true hero!