I'm not sure if you understand how many physicists watch baseball, but it’s a lot. I think it’s so popular with us because there are some very basic principles at work. You can model the motion of a simple fly ball in your introductory-level class, but you can also make it much more complicated (and fun). So with that in mind, let's consider the following question: Just how in the heck does a baseball player even catch a fly ball?
When a batter hits a ball, it can hurtle through the air for three to six seconds before falling into the outfield. That gives an outfielder only moments to calculate its landing location. Do you think they crack out a textbook and look up the equations for projectile motion? No way. But the player is using physics. Here's what’s going on.
Catching a Ball the Physics Textbook Way
First, let me just find the landing location of a ball using physics. After that, I will solve this problem the way a player might do it in an actual game.
But let's make two assumptions about this ball. First, there will be no air resistance on it. (It will just be easier to calculate without air resistance. Also, in many cases with low ball speeds, this approximation is fairly legit.) Second, I'm going to make this two-dimensional (instead of 3D). The ball is going to be launched in a line straight towards the player in the outfield. That way, I don't have to worry about the player moving side to side in order to catch the ball, just back and forth.
This problem has a bunch of variables, so let me start off with a diagram showing all these quantities. I'm going to assume the ball is launched from the origin such that it travels along the x-axis.
There's a lot of stuff here, so let's describe each variable.
- v0 is the starting velocity of the hit baseball.
- θ is the launch angle of the ball.
- xp is the starting position of the player (along the x-axis).
- R is the final x-position of the baseball when it returns back to ground level.
- Finally, there is the vector r. This is a vector from the location of the player to the location of the ball (in the air). The angle θb is the angle of this vector with respect to the ground.
If you’re doing physics only by textbook, the ideal way to catch a ball is to calculate where it will land and then move to that location. I'm going to sort of cheat here, since this calculation of range has already been solved many times. In short, if you know the launch angle (we do) and the launch velocity (yup), then the distance traveled along a horizontal surface would be:
Yes, the most common way to write this equation is to use the double angle formula that gives sin(2θ)—but I included the more basic way of writing it since it doesn't use a trigonometry trick. Anyway, that's the location where the ball will land, so the player just needs to move from xp to R during the time the ball is in the air.
Just for fun, here is a model of what that would look like. I'm going to assume the player can instantly determine the initial velocity and angle of the launched ball and then moves at a constant velocity of 5 meters per second to the landing location. Yes, you can have the Python code for this if you need it.
Let's be clear—baseball players don't do this. They don't just move like robots to the correct spot and automatically catch the ball.
Well, then … how do they do it?
Catching a Ball the Human Way
Some people call this the Chapman strategy. It's from a 1968 paper by Seville Chapman in the American Journal of Physics titled "Catching a Baseball." Chapman's idea is that the outfielder will see the ball in the air and then move in a manner such that the apparent position of the ball (with respect to the player) has a constant velocity. This is also called the optical acceleration cancellation (OAC) method. (See: "Catching Fly Balls: A Simulation Study of the Chapman Strategy.”)
But what does OAC really mean? It means that a real-life player is relying on their eyes to figure out where the ball is in relation to them, how quickly it’s moving, and whether they’ll need to back up, scoot forward, or stay put to catch it.
Suppose you are a player watching a fly ball. Now you take out a ruler (I recommend one with metric units) and hold it upright by one end with your arm stretched out horizontally, the way you would hold up a cross to ward off a vampire or use a hand mirror to see your face. At first, suppose the ball appears to be lined up with the 8-centimeter mark on the ruler. An instant later, it appears to have moved upward and be at the 10 centimeter mark. This reading on the ruler is the apparent position of the ball. It’s related to the ball’s angle above the horizon and not its actual distance from you.
Velocity is defined as the rate of change of position, so if you keep measuring this apparent position at different times, you can get an apparent velocity. Just as the velocity tells you how fast the ball’s position changes, acceleration is how fast the velocity changes. Looking at the change in apparent velocity will give the apparent acceleration (the optical acceleration). Yes, I know that seems like a lot to do—and you don't actually have to do it. Humans can estimate this apparent position and acceleration fairly easily simply by looking at a moving object.
What would happen if you were to plot this apparent position (I'm using the variable ya) as a function of time? Here is what that would look like for three different fly balls. One of these will land short of the player, one will go right to the player, and one will go over the player's head.
Here you can see the magic. Look at the apparent position vs. time for the ball that goes right to the player. The apparent position increases at a constant rate. So, if you were to calculate the apparent velocity for this ball (from the perspective of the catching player), it would be constant. An object moving at a constant velocity has a zero acceleration (that's where the "optical acceleration" comes in). That might seem impossible. How could the apparent position keep increasing if the ball is actually moving down? During this downward motion, the ball is moving closer to the player in a way that makes the apparent position increase so that, to them, it looks like it’s going UP. I know it seems crazy, but it's true. Just try it the next time someone tosses a ball to you. (But don’t pay too much attention or you might get hit in the face.)
So, here is the OAC strategy: Look at the motion of the ball. If it appears to be accelerating upward, then it's going to go over your head, so you had better move back to catch it. If the ball appears to accelerate downward, that means it’s about to land in front of you, so you need to move forward. Finally, if the ball appears to move at a constant speed, just stay there—the ball is coming right to you. Get your glove out.
If this method really works, then I should be able to program a fake human to move in a way that will let them catch a ball. Here's what I’ll instruct my virtual outfielder to do.
- Look at the motion of the ball from the perspective of the player and determine its apparent acceleration.
- Make the actual acceleration of the human (in the x-direction) a scale multiple of the apparent acceleration. I'm going to use a factor of 100 (for no reason other than this works).
- If the acceleration of the human is over 5 meters per second squared, set the acceleration to 5 m/s2. This just prevents the human from having some wildly unrealistic acceleration.
- If the velocity is greater than 8 meters per second, set the velocity to 8 meters. Again, this sets a plausible speed limit for the player.
- Now use the human's velocity and acceleration to find the new position after some short time interval.
- Repeat these steps until the ball is "caught."
That's it. Let's see if it works. Here is a ball launched at an angle of 70 degrees with an initial velocity of 25 m/s such that it would go over a stationary player’s head.
Boom. That's a catch. In fact, for all reasonable ball speeds and angles, the human will end up at the landing position of the ball.
But is this exactly what humans do? Probably not exactly—they might use some type of nonlinear function that relates the motion speed to the apparent ball acceleration. However, it's sort of exciting that this works at all. Here's the code for this calculation—you can try different ball velocities to see if the human still catches it. Oh, and guess what? This method even works for baseballs that have a non-parabolic path and air resistance. I think that's pretty cool, since we know that both professional players as well as mere mortals successfully do this every day.