There are so many real-world physics problems involved in running. Lots of physicists have been inspired, for instance, by the crazy-fast speeds of Usain Bolt. Just take a look at this paper, "On the performance of Usain Bolt in the 100 m sprint" (European Journal of Physics), in which the authors examine the motion of Usain in one of his sprints.
But what if you want to look at more ... unrealistic running? Or model running in situations you shouldn't test in real life—like running at the pool? In order to explore these situations, you'll need a physics model for running. Remember that science is all about building models, right?
Let's say I want to build a model that shows the following real-world aspects of running:
- A runner hits the ground and then is off the ground during part of the motion (both feet off the ground).
- A runner accelerates but reaches some maximum speed.
It's fairly easy to fit a mathematical equation to a runner's motion. But what if you want to go a little bit deeper than just an equation (so we can change stuff)? One common idea is to assume there is a frictional force pushing the human forward and a velocity-dependent drag force pushing against the motion. As the speed of the human increases, so does the drag force, until you get to a "terminal velocity" where the two forces are balanced.
I don't like this approach (even though you can get it to fit the data fairly well). If air resistance were really the thing that limits running speed, then it would seem like you could go super fast on a stationary treadmill (you can't). Also, a tail wind would provide a huge boost (it only gives a tiny boost). Finally, you could run at crazy-fast speeds in a vacuum (who knows about this one).
Instead of the air-resistance model of running, I'm going to go with the following assumptions:
- A human is basically a point mass that is just plain projectile motion in between contact points with the ground.
- During this time off the ground, the human has to switch leg positions (move back leg forward), and this motion takes a minimum amount of time.
- During contact with the ground, a human can only exert some maximum force. Note, this is from an excellent paper, "The biological limits to running speed are imposed from the ground up" (Journal of Applied Physiology).
- Also from the same paper, the contact time with the ground depends on the running speed. The faster you run, the shorter the ground-contact time.
So why would this model work? Let me start with a diagram. Suppose a human is running and in contact with the ground (not during the stride part of the run).
Let's step through the important parts of this bouncing-ball model of a running human. Suppose the ball starts above the ground and is moving just a little bit (or just falling down—it doesn't matter). When it hits the ground, there has to be an upward force to change the ball's momentum so it doesn't keep moving down, but instead starts to move up and get off the ground again. I know the required vertical velocity of this ball after it impacts the ground because the ball has to stay in the air for a set amount of time (the stride time) so that its non-existent feet can switch from front to back.
That might seem all fine and dandy, but here is where the model comes into play. There is some maximum force that the floor can push up on this human-ball, and there is some maximum contact time over which the force can act on the ball. Let me remind you of the momentum principle.
As the running speed increases, the contact time decreases, meaning you need a greater upward force to get the ball in the air. Since there is some maximum contact force, more upward force means less forward force to increase the speed. At some point, the contact time gets small enough that all of the force has to be in the vertical direction to get enough air time. There will no longer be a forward-pushing force, and the horizontal velocity becomes constant.
OK, now I'm going to build this model. However, I need a few pieces of data. These are either rough guesses or based on the article in the Journal of Applied Physiology linked above.
- The maximum force on the ball is between 3 and 4 times the weight of the person.
- The stride time is about 0.3 seconds (the time the feet are in the air).
- The time of contact with the ground depends on the speed. I have an equation based on contact time vs. speed from the above article (using real data).
To get this to work the way I want, I have to add one more aspect to my model. For the horizontal force, only part of this (only 20 percent—random choice) goes to increasing the speed of the human-ball. I will assume the rest of this horizontal force is used to accelerate the legs so they can move back and forth in a motion that most people call "running."
You have waited long enough; here is the code with my bouncing human-ball running model. Just click Play to run it. Feel free to edit the code in whatever way you like.
Yes, it's not the prettiest code, but it seems to work. I added some comments so you can figure out how it works. Also, notice the parts where you can change the parameters (like stride time or maximum force) to see what happens. Play around with it—it's fun!
The animation isn't that useful, so how about a graph? Here is a plot of the horizontal speed as a function of time. Here is the code with graph stuff in case you need it.
That graph makes me happy. Why? First, it shows the human-ball reaching some maximum running speed. With the parameters I'm using, the running speed is around 9.5 m/s (21 mph). Just for comparison, the human record speed is 27.8 mph. Second, you can notice that the speed doesn't increase continuously. How can you increase your speed while you are in the air in between strides? You can't. You can clearly see that speed increases only during the contact times.
So, what's next? Well, I made this model because I want to use it for something else. In the meantime, you can use it for whatever you like.