Presets
Playback
Spool
Size, axle thickness, mass and mass distribution.
Pull
Force, angle and how long you pull.
Table
Friction coefficients of the table.
Speed
Slow motion shows the critical angle.
Camera
Layers
Quality
Model checks
The science
What happens
Wind thread on the thin axle of a spool that stands on a table and pull the free end. Pulled low and nearly flat the spool rolls toward you. Pulled steeply upward it rolls away from you. At one critical angle it does not move at all, even though you are pulling. The direction depends only on where the line of the thread passes relative to the contact point with the table.
Equations
Take torques about the contact point C (the instantaneous axis of rolling). A thread leaving the underside of the axle at angle theta above the table has a lever arm R cos(theta) - r about C, so tau_C = F (R cos(theta) - r).
Rolling without slipping: a = F (cos(theta) - r/R) R^2 / (I + m R^2), with I = k m R^2. The acceleration is zero at cos(theta_c) = r/R. For a thread coming over the top of the axle the lever arm is R cos(theta) + r, so the spool always rolls toward the puller.
Friction needed to roll: f = m a - F cos(theta) must satisfy |f| <= mu_s N, where N = m g - F sin(theta). Otherwise the spool slips and kinetic friction mu_k N acts. Energy: the thread does work F (v cos(theta) - sgn * omega r) per second, which equals the change in kinetic energy plus friction heat.
Honest simplifications
The thread is massless, inextensible and always tangent to the axle, with a fixed angle and a constant pulling force while you pull. The spool is a rigid body in a vertical plane (no sideways motion, no wobble), rolling friction and air drag are ignored, and the spool must stay on the table: if F sin(theta) exceeds the weight the normal force is clamped to zero and the model is no longer valid. Unwinding of the thread would change the axle radius in reality; here r is constant.
Checks in the page
Check 1 compares a simulated acceleration with the closed-form value. Check 2 finds the zero of the acceleration by bisection and compares it with arccos(r/R). Check 3 verifies the work-energy balance (thread work = kinetic energy + friction heat) over a one-second run and that the drawn spool sits at the model position.