Thought Toys · Waves & rhythm · Exhibit 72
A mass on a spring, pushed by the same small nudge over and over. Off the beat, it settles into a small, bounded sway. Tune the push to the system's own natural rhythm and each nudge lands exactly when the mass is already moving that way — the swing grows and grows, with only friction standing between a gentle push and a wreck.
A driven mass on a spring, and its resonance curve the mass the push
—
—
A mass on a spring, anchored to a wall, with a small periodic force pushing it back and forth at a frequency you control, ω. Left alone, the mass would sway at its own natural frequency, ω₀, and that free sway would die out at a rate set by damping, ζ (friction, a dashpot, air resistance — whatever bleeds energy out). Drive it, and the mass settles into swaying at your frequency instead — the only question left is how big that sway gets.
Push slowly or quickly, off ω₀, and the mass mostly ignores you: it sways a little, in step-ish with your push, and stays there. Drag ω toward 1.0 and watch the left panel — the swing visibly widens, cycle after cycle, because each push now arrives exactly when the mass is already moving in that direction. It isn't one big shove; it's the same small push, landing on-beat, adding a little energy every single cycle. The chart on the right plots exactly this: steady-state swing size against ω, and it peaks right around ω₀.
Press damp it and watch the peak shrink and the curve flatten — heavier damping bleeds off energy faster than light damping lets it build, so the swing settles smaller at every frequency, and closer to ω₀ most of all. Push damping past ζ = 1/√2 ≈ 0.707 and something sharper happens: the peak doesn't just get small, it disappears. The curve falls off steadily from ω = 0 with nothing bumping back up — there is no longer a frequency that resonates worse than any other. Press un-damp it to bring the peak roaring back.
The folk warning — don't push at the resonant frequency, or it'll break — is true, but it hides the more precise fact underneath. What actually locks in at ω₀, for any amount of damping, light or heavy, is the timing: the push and the mass's motion fall exactly 90° out of phase there, every time. That 90° crossing doesn't care how much friction is in the system. What damping decides is everything downstream of that — whether the on-beat pushing actually piles up into something large, or gets bled away as fast as it arrives.
improve/verify/72-resonance.js, 28 checks): RK4-simulating the
actual differential equation and Fourier-projecting the tail of the trace recovers both the closed-form
amplitude and phase to within 1%; the phase lag lands on exactly 90° at ω = ω₀ across seven damping ratios,
confirmed independently off a real simulated trace; the peak location and height match an independent
400,000-point numerical search to five decimal places; and an undamped system driven exactly at ω₀
matches the exact closed-form secular solution x(t) = (F₀⁄2ω₀)
tsin(ω₀t) — genuine unbounded growth, not a bounded wobble. Two negative
controls fail as they must: heavy damping (ζ ≥ 1/√2) shows zero rising steps across a 20,000-point sweep from
ω = 0 — no peak exists to find — and off-resonance drive under light damping stays flat between two
independently-simulated late-time snapshots, unlike the runaway growth at exact resonance.
One honesty note: real mechanical systems can take a very long time to fully build up
near resonance, especially with light damping. The animation runs about six times faster than the physics it
represents so you can watch a whole build-up in a few seconds — the shape of the growth is the verified
physics; only the clock is sped up.
Also in Waves & rhythm: Fourier epicycles →
Also in Waves & rhythm: Fourier epicycles →
← the cabinet · Thought Toys — a cabinet of explorable explanations. Exhibit 72.