The twitter world is going crazy over this epic pitch by Oliver Drake of the Tampa Bay Rays. Of course it’s real, but why does this happen? In physics, you don’t really understand something until you can model it—so let’s do just that. I’m going to walk through the steps of modeling an awesome pitch like this. There will be some physics and there will be some coding. But don’t worry, it’s going to be fun.
Constant-Velocity Baseball
The great thing about physics is that we can start off with the simplest model possible and then just continue to make it slightly more complicated. So, what is the easiest way to show the motion of a pitched baseball? Let’s just assume it travels from the pitching mound to the plate with a constant velocity of 85 mph (38 m/s). Oh, let’s say the distance from mound to plate is 60 feet (18.3 meters).
Here’s how this will work. We can break this motion into very small intervals of time—let’s go with 0.01 seconds. At the beginning of this time interval, the ball will have some position, let’s call it r1. If the velocity is v, then using the definition of average, I can find the position at the end of this interval. I will call this second position r2. The little arrows over them indicated that these are vector quantities. That’s not very important now, but it will be for later steps. Here is how I would calculate this second position.
This calculation is simple enough that you could do it on paper. But if the baseball takes even 1 second to travel to the plate, a time interval of 0.01 seconds would mean 100 calculations. No one has time for that. Instead, I’m going to make a computer do it. Computers don’t complain (very much).
Here is the code for this constant-velocity baseball. (There’s one patch of complicated stuff in there, which you can ignore; that’s just to draw the mound, the ball, and the plate.) Click Play to run the visualization. Note that this is a view of the pitch from above:
For fun, you can edit this code—for instance to change the velocity of the pitch (line 4). Click the pencil icon to return to edit mode, then hit Play to rerun it. Now, let’s look closer at the code. Really, the most important part is line 30: