The Diabolo Is a Leaky Accumulator
Here’s the thing nobody tells you when you pick up a diabolo: sawing the string back and forth does not “build up” spin the way winding a clock does. It fights a leak. Friction at the axle bleeds angular velocity away every instant, and each stroke of the string just tops the reservoir back up. Saw steadily and you converge to a plateau — a spin rate where what you add per stroke exactly matches what friction steals. Want more? You throw one big power-whip and jump the level.
I kept trying to model the toss in my head and eventually realized I already knew this equation. It’s a leaky integrator — the one-line recurrence that runs inside every audio envelope follower and sensor smoother from the DSP boom of the 1980s:
omega_next = omega * decay + stroke
omega = 0.0
decay = 0.92 # friction keeps 92% each tick
strokes = [4, 4, 4, 4, 30, 4, 4] # four steady saws, one power-whip
strokes.each do |whip|
omega = omega * decay + whip
puts "%5.1f | %s" % [omega, "#" * (omega / 2).round]
end
The same three lines of arithmetic in C, where this pattern actually lived — one multiply, one add, per sample:
#include <stdio.h>
int main(void) {
double omega = 0.0, decay = 0.92;
int strokes[] = {4, 4, 4, 4, 30, 4, 4}, n = 7;
for (int i = 0; i < n; i++) {
omega = omega * decay + strokes[i];
printf("%5.1f | ", omega);
for (int b = 0; b < (int)(omega / 2 + 0.5); b++) putchar('#');
putchar('\n');
}
return 0;
}
Both print the same climb:
4.0 | ##
7.7 | ####
11.1 | ######
14.2 | #######
43.0 | ######################
43.6 | ######################
44.1 | ######################
Watch the first four rows: steady sawing crawls toward its ceiling of 50 (that’s 4 / (1 - 0.92)) and never quite arrives. Then the power-whip of 30 slams it up to 43 in a single tick, and the two follow-up saws barely nudge it — the reservoir is nearly full, so most of each stroke goes straight back out as friction. That matched what my hands were failing at: I’d been sawing faster to bank spin for the toss, but faster steady saws only chase the plateau. The jump comes from one violent stroke, not many gentle ones. The decay constant is the whole personality of the system — closer to 1 and the diabolo forgives a lazy rhythm; a resinier axle drops it toward 0.8 and every stroke leaks away before the next one lands.