Spool and Thread (2D)

Side view of a spool on a table: the same torque and friction model as the 3D page, with the critical pull angle drawn on the picture.

Switch to 3D

Presets

Playback

Spool

Size, axle thickness, mass and mass distribution.

Pull

Force, angle and how long you pull.

Table

Friction coefficients of the table.

Layers

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.

What to try
  • Start with the flat pull: the spool rolls toward you. Raise the angle until it stops, then past it so it rolls away.
  • Fatten the axle (r/R near 0.9): the critical angle drops close to 25 degrees.
  • Switch to the thread over the axle: there is no critical angle.
  • Cut the friction and see the spool slip.
Velocity and acceleration
Rolling acceleration vs thread angle
Friction force against the static limit
Work, kinetic energy and friction heat