
Springs Part 1: Animating Bouncy Objects
What you see below is a simulation of a bead connected to anchor-points on either side of it via springs. Go ahead, give it a click.
Kinda satisfying right? The motion seems surprisingly fluid and realistic given the simplicity of the physics involved. Each bead has only three forces acting on it:
1) A constant, downward-pointing force with a magnitude that depends only the mass m of the bead. This is mimicking gravity.
2) A force with a magnitude that depends linearly on the bead’s distance to its neighbour. This is mimicking a Hookean spring force.
3) A damping force with a magnitude that depends linearly on the bead’s velocity. This mimics a sort of friction, and has the effect of causing the beads to eventually settle down rather than continue to bounce forever.
Play around with the sliders below to adjust the bead mass m, the spring constant k, and the damping coefficient w. These parameters control the strength of each of the forces listed above. You may notice that for certain combinations of m, k, and w, the system seems to lose all of its bounce. This is called overdamping, and occurs when the damping coefficient w exceeds a critical value. See if you can make it happen!
The very same physics (although usually in 3D) is routinely used in the film and video game industries to animate all kinds of materials like hair, clothing, or pretty much anything that could use a bit of bounce. Adjusting parameters like the spring constant, the damping coefficient, and the mass dramatically alters the behaviour of an animated material to suit the needs of the animator.