Brachistochrone for rolling things

The Brachistochrone curve is the shape of a wire for beads to slide down (friction free) to get from point A to point B the fastest. Note that since I used the word “down” there I’m implying this happens in gravity. Here’s an old post of mine describing how I go about teaching it. This post is all about scratching an itch I’ve had for a while: What if instead of sliding beads we want to roll balls. Is the shape the same? Spoiler: Nope, not the same.

My first thoughts had to do with how you’d factor rolling into the typical analysis. Normally you determine the integral formula for the time to go from A to B on an arbitrary curve given by y(x):

\text{time}=\int_A^B dt=\int_A^B \frac{ds}{v(s)}=\int_A^B\frac{\sqrt{1+y'^2}dx}{\sqrt{2\text{KE}/m}}

where y’ is the slope of the curve, s is how far along the curve the bead has gone, v is how fast the bead is traveling, and KE is the kinetic energy which is usually a function of y (since you’re cashing in gravitational potential energy). So if it’s rolling without slipping, my first thought was that all I had to do was add in some rotational kinetic energy:

\text{KE}=\frac{1}{2}m v^2+\frac{1}{2}I\omega^2

But then I realized that I had to know exactly where the center of mass was in order to figure out how much potential energy had been cashed in and I went down a rabbit hole.

Does the center of mass follow the same curve? (No!)

You’ll see that at this point I jumped on twitter for the first time in a while (hey, my job is different now and a lot of what I do is untweetable, give me a break).

If you scroll through you’ll see some curves that I no longer stand behind

If you have a curvy road and you know the mathematical formula for one side (let’s say the road is going left to right along what we’ll call the “x-axis” and that it doesn’t turn back on itself so we can call it a function). Do you know the formula for the other side of the road? Is it just the same function with a shift? Nope. It took me a while to convince myself but this is the figure that sold me:

Blue: right side of the road. Orange: right side of the road with a constant added. Green: the left side of the road

The blue curve is a pure sine function (why would I ever use cosine?). The orange curve is something like “sin(x)+0.32”. The green curve is what took me a while to derive but it’s really what enables a 0.32 diameter ball to fit between green and blue everywhere. Note that green and orange have the same amplitude and same frequency. Therefore, since they don’t overlap, the green curve is not a sinusoid.

So how do you derive the green curve? Well, here’s how I did it:

This represents a zoomed in version where locally the curve is flat. Also note that if you’re rolling up the other side (when the slope is positive) you need to make some adjustments to the signs in those equations. But that’s really all it takes. If you have a function for y(x) and you can calculate its slope at every location (y’), then you can figure out where the center of mass of the ball will be when you know the contact point with the curve.

Obviously I coded that in and ran it for a sine curve to get the figure above, but my same code would work with any (differentiable) function. Note that if the curve has a constant slope, the adjustments for the center of mass location are constant and then the other side of the road is truly just a shifted function. But that’s the only case that leads to that simple conclusion.

Alright! Let’s solve a complicated differential equation!

Ok, so now we know how to find the center of mass location when you know the contact point. It seems like we could figure out the potential energy drop (and hence the kinetic energy) since we know the vertical drop of the ball. Seems like we’d be in business! Alas, no, we’re not. The problem is the angular frequency, or \omega in the equation above.

For rolling without slipping on a flat surface, you know that your linear speed and rotational speed are tied together, namely \omega=v/r. Unfortunately, that’s not the case when rolling on a curved surface. This web page helped me understand this a little better. When you have a curved surface that has a local radius of curvature, \rho you get this for \omega:

\omega=\frac{\rho-R}{\rho R}v

where v is the speed of the contact point along the surface.

No big deal, right? it’s just some weird multiplier in front of the speed. That should make solving for the speed from the kinetic energy easy! Well, that’s what I thought, and certainly that’s what led to me erroneous twitter posts (if you scrolled through). Unfortunately, \rho, you know that pesky local radius of curvature, is not easy to deal with. From wikipedia I learned that:


Ugh! Do you see that denominator?! Suddenly you need to know not just the slope of the function but its curvature as well. Let me tell you, that makes things gross.

Ok, gross maybe we can handle. We know how to calculate the kinetic energy and it’ll be all in terms of the (unknown) function, its slope, and its curvature. Maybe we can just close our eyes and throw it to Mathematica. Here’s where we’re at:

\text{time}=\int_A^B \frac{\sqrt{1+y'^2}}{\frac{\left(1+y'^2\right)^{3/2}R/y''}{\left(1+y'^2\right)^{3/2}/y''-R}\sqrt{\frac{M g \left(y_0-\left(y-\frac{R/y'}{\sqrt{1+1/y'^2}}\right)\right)}{\frac{1}{2}(I+MR^2)}}}dx

Fun right! Anyways, it’s technically all set to use the calculus of variations, but I’ve tried it, and wasn’t able to make any progress. 😦 I think the biggest problem is the y”s in there because they lead to a third order differential equation, which means I need to supply not only where to start the curve and what direction to head, but also the local curvature right there. Needless to say, I didn’t make much progress. If you have ideas, I’m all ears!

By the way, here’s what it looks like if you’re just doing a bead sliding down a wire:

\text{time}=\int_A^B\frac{\sqrt{1+y'^2}}{2 g (y_0-y)}dx

Muuuccch easier, trust me. (Also note that if you thought I’d be using the word “cycloid” by now, you don’t get there this way. You only do if you swap x and y. You know an “obvious” thing surely your students would think to do.)

When in doubt, check the literature

So I started googling. Here’s an awesome paper from 1946 that helps us put it all together. What they’re saying is that even when rolling on a curved surface, you can use \omega=v/r as long as you’re using the speed of the center of mass, not the speed of the contact point. Alas, even though they’re always moving in parallel, they don’t have the same speed (think about going up and over a hump in a roller coaster, you’re moving faster than the contact point on the track). Note that they’re also saying that the center of mass follows the traditional brachistochrone! So what is this post all about!? Well, we want to know the shape of the track the ball is rolling on, and if you’ve read what I wrote above you’d know that’s different!

How did they prove it was the traditional curve? Because you get the very simple equation above instead of the incredibly ugly one if you use the coordinates of the center of mass and not the contact point. With that same simple equation, you get the same simple result (if you must: a cycloid).

But now we can put it all together. If I have a normal brachistochrone, I can find the curve for the ball to roll on by doing the coordinate shift in the figure above in reverse!

Blue is the shape of the track for the ball to roll on and red is the path of the center of mass

I know, I know, the blue path (the track for the ball to roll on) sure looks like a standard brachistochrone, but it’s not, because of what I was talking about above. Don’t believe me, let me hear it!


I don’t know why I didn’t do this last night, but here’s that same image with an added brachistochrone from the start to the finish of the track in green. See, I told you the blue curve wasn’t a brachistochrone:

Red: brachistochrone that the center of mass follows for a ball rolling without slipping on the blue track. Blue: The correct shape of a track for a ball with radius 0.1 to roll from the start to the finish the fastest. Green: the correct brachistochrone for a bead to slide on from the beginning of the track to the end of the track the fastest.


Your thoughts? Here are some starters for you:

  • What do you mean all you had to do was say “down” to imply gravity?
  • Seriously, I have to read a whole other post of yours just to be able to read this one. No way! I’m unclicking. You can’t count my click.
  • What do you have against rabbits? Why does going down their holes feel like an interminable complicated journey?
  • What do you mean about your job being untweetable?
  • What do you have against cosine?
  • Duh, of course you needed to know about the curvature. What are you, an idiot?
  • I know exactly where you made a mistake in that big ugly equation. For $5 I’ll tell you.
  • Of course switching x and y is obvious. What’s you’re point?
  • Hang on, this was solved back in 1946 and I had to read nearly your whole post to get there? Jerk.
  • That blue curve is a brachistochrone and I’ve blogged about this a bunch. Try reading some time.

About Andy Rundquist

Professor of physics at Hamline University in St. Paul, MN
This entry was posted in math, mathematica, physics, teaching. Bookmark the permalink.

2 Responses to Brachistochrone for rolling things

  1. Mark Eichenlaub says:

    Imagine a circular track. The center of a ball rolling on the track goes in a smaller circle,.which is not a shift of the larger circle.

    Also, your post shows that rolling and sliding are the same, apart from rolling being slower. The curve to get from A to B fastest is the same for rolling and sliding as long as the ball size is the same and both balls sit on top the track.

    • Andy Rundquist says:

      Thanks Mark, both of those are really good ways to think about this. The circular track is still a circle but definitely not the same circle, and the ball vs same-size bead is a great way to look at this.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s