My assumption was that in going over the bump, the car was accelerating at some significant fraction of gravity. Given the car's velocity and the shape of the bump, I should be able to find the acceleration. The first thing I thought of was centripetal acceleration:

This is the acceleration required to move in a circle, where

*v*is the velocity, and

*r*is the radius of the circle. We have a curve, not a circle though, so how can we get a radius? There's an idea called an osculating circle, which touches a point on a curve and has a radius that allows it to match the curve (at least on an infinitesimal scale) at that point. Before we can calculate that though, we need to define our bump.

I figured a Gaussian curve would make a nice smooth bump. Unfortunately, combining that equation with the osculating circle makes for a huge mess, so I figured I'd let Python deal with it:

The point moves at a constant velocity along the curve – This is a bit more complicated than it sounds. We need to take into account both the

*x*- and

*y*-movement:

Since we're already doing things numerically, we can choose our points to be evenly spaced along the curve, rather than the more typical spacing along

*x*.

After making that fancy animation though, I realized it's not the centripetal acceleration we're interested in, but only the

*y*-direction, since that is what will cancel gravity. Calibrating the bump to 75 cm high, and the car surface speed to 30 mph gives the

*y*-acceleration as

The maximum is just over 0.5% of gravity, so I'm underestimating either the size of the bump, or the sensitivity of my gut!