Squash, Stretch and Anticipation

Drop a rubber ball and film it in slow motion. On the way down it stretches into a long teardrop; the instant it hits the floor it flattens into a wide pancake; then it springs back and rebounds, thin and tall again. It never actually gains or loses any rubber — yet a great animator will exaggerate that squashing and stretching far past what physics allows, because those deformations are how the eye reads weight, impact, speed and material. A ball that stays a perfect rigid circle looks like a bouncing coin; a ball that squashes and stretches looks alive and made of rubber.

This page takes three of the classic principles — first named in Disney's The Illusion of Life — to technical depth: squash & stretch (and the exact scaling that keeps volume constant), anticipation (the wind-up that primes the viewer), and follow-through & overlapping action (the parts that lag and settle after the main mass stops). Each is either hand-keyed on an F-curve or produced automatically by a secondary spring simulation.

Squash & stretch: deform, but keep the volume

Squash and stretch is the single most important principle. Squashing a shape as it lands sells the impact and the softness of the material; stretching it along its path of travel sells speed. But there is one iron rule that separates a convincing deformation from a broken one: the object's volume must stay constant. Rubber does not appear and vanish. If you make a ball shorter, you must make it correspondingly fatter, so the total amount of "stuff" never changes.

The 1/\sqrt{k} in 3-D is the whole trick: because a real object squashes in one direction but bulges in two, each of those two only has to grow by the square root of the compensation. Think of an incompressible volume V = h \cdot w \cdot d: hold V fixed, shrink h \to kh, and w and d must jointly grow by 1/k — split evenly, that is 1/\sqrt{k} each.

Worked example: a ball squashing to 60% height on impact

A ball of radius r hits the floor and squashes to 60\% of its height, so k = 0.6. Its rest volume is a sphere, V = \tfrac{4}{3}\pi r^3. What must the new widths be?

New height: the vertical diameter 2r becomes k \cdot 2r = 0.6 \cdot 2r = 1.2\,r — the flattened ball is 1.2\,r tall instead of 2r.

New widths (both horizontal axes): each scales by 1/\sqrt{k} = 1/\sqrt{0.6} \approx 1.291, so the horizontal diameter grows from 2r to about 1.291 \cdot 2r \approx 2.582\,r. The squashed ball is roughly 29\% wider in each horizontal direction.

Check the volume. Modelling the squashed ball as an ellipsoid with semi-axes a = b = 1.291\,r and c = 0.6\,r:

V = \tfrac{4}{3}\pi\,a\,b\,c = \tfrac{4}{3}\pi\,(1.291\,r)(1.291\,r)(0.6\,r) = \tfrac{4}{3}\pi\,r^3\,\big(1.291^2 \cdot 0.6\big) = \tfrac{4}{3}\pi r^3 \cdot 1.0000.

The scale factors multiply to 1, so the volume is exactly preserved — the ball looks compressed, not shrunken. If instead you had squashed the height to 60\% and left the widths alone, the volume would drop to 60\% and the eye would read it as the ball deflating.

Try it: a volume-preserving squash

Drag the height scale k. The blue outline is a rest circle of radius 1; the bold ellipse is that shape squashed to height k and widened to 1/k so its area stays constant (the 2-D version of the rule). Squash it flat (k \to 0.4) and it bulges wide; stretch it tall (k \to 1.8) and it thins — but the enclosed area never changes. That is the difference between believable rubber and a shape that gains or loses mass.

Read the width off the curve: at k = 0.5 the ellipse is half as tall and twice as wide; at k = 0.6 it is 1/0.6 \approx 1.67\times wide. (In true 3-D that horizontal 1/k would split into 1/\sqrt{k} across the two horizontal axes.)

Stretch as motion blur

A camera exposes each frame for a slice of time; anything moving fast smears across the sensor as motion blur. Hand-drawn and CG animation fake that smear with stretch: a fast ball is drawn as a long streak along its path of travel, sometimes spanning the whole gap between two frames so the motion reads as continuous rather than a strobing series of separate balls. This is squash & stretch pressed into service for speed — the same volume rule applies, so the streak that gets long and thin must also get correspondingly narrow across its width.

Stretch also cures a real artefact called strobing: when a small object moves far between frames, the eye sees discrete copies instead of one moving thing. A stretched, overlapping smear bridges the gap and the motion fuses. It is the animator's answer to a problem the physics of a finite frame rate creates.

Anticipation: wind up before you act

A character about to leap up first crouches down. A pitcher winds back before the throw. A cartoon character about to bolt rears backward for an instant first. That preparatory move, in the opposite direction to the main action, is anticipation, and it does two jobs. Mechanically, it is honest physics — you must load a spring before it can release. But its real purpose is attention: the wind-up tells the viewer's eye where and when the action is about to happen, so the fast main move isn't missed. Without anticipation a quick action can be over before the audience has located it.

The size of the anticipation scales the perceived force of what follows: a tiny crouch reads as a gentle hop, a deep crouch as an explosive jump. It is a viewer-priming tool as much as a physics one — which is why even weightless, physically-impossible cartoon actions still get a wind-up.

Follow-through & overlapping action: the parts that lag

When a running character stops, they do not freeze rigidly all at once. The main mass halts, but the hair, the coat, the ponytail, the floppy ears keep going for a beat and then settle — follow-through. And loose parts do not all move in lock-step with the body: the tip of a whip, the end of a tail, the trailing hand lag behind the base and arrive later — overlapping action. Both come from the same fact: appendages are connected to the body by something springy, and a spring transmits motion with a delay.

A minimal one-dimensional lag models the tip as a damped spring pulled toward the base's position:

a = -\,\omega^2\,(x_{\text{tip}} - x_{\text{base}}) \;-\; 2\zeta\omega\,v_{\text{tip}},

where \omega is the stiffness (how fast the tip catches up) and \zeta the damping (how quickly the overshoot dies out). Under-damp it (\zeta < 1) and the tip wobbles a few times before settling — exactly the jiggle of a ponytail. This is the bridge from hand-keyed follow-through to secondary simulation: rig the springy parts and the follow-through emerges for free, on top of the animator's primary keys.

Squash depth is a speed cue. A ball dropped from higher up is moving faster when it hits, so the eye expects a bigger, briefer deformation — a deeper pancake held for fewer frames. Animators exploit this to communicate drop height without ever showing the top of the arc: a shallow, soft squash reads as a gentle nudge, a violent flat squash reads as a long, fast fall. The squash amount and the incoming spacing (velocity) must agree, or the weight reads as wrong — a fast entry with a token squash looks like the floor is made of sponge.

The commonest squash-and-stretch bug is scaling one axis and forgetting to compensate the others. Flatten a ball to 60\% height but leave its width alone and you haven't squashed it — you have deleted 40% of its volume, and the eye reads a ball that is deflating or shrinking. Stretch it tall without narrowing it and it appears to inflate, mass materialising from nowhere. Both look wrong even to viewers who could never name the rule, because the brain is exquisitely tuned to conservation of stuff. Always compensate the perpendicular axes: height \times k means the two other axes \times\,1/\sqrt{k} in 3-D (or the single width \times\,1/k in 2-D). Most 3-D packages offer a "volume preservation" toggle on the squash-and-stretch deformer that wires this in automatically — turn it on.