Angular momentum L = I * omega is conserved when no external torque acts. Torque is the rotational analog of force. Moment of inertia I measures resistance to angular acceleration. A figure skater pulling in their arms speeds up because L stays constant while I decreases.
Torque
Torque tau = r x F is force times the perpendicular distance from the pivot. It is the rotational analog of force: torque causes angular acceleration just as force causes linear acceleration. No net torque means angular momentum is conserved.
Scheme
; Torque: tau = r * F * sin(theta); A wrench: longer handle = more torque for same force
(define pi 3.14159265)
(define (torque r F theta)
(* r F (sin (* theta (/ pi 180)))))
; 30 cm wrench, 50 N force, perpendicular (90 degrees)
(display "Short wrench (0.3 m): tau = ")
(display (round (torque 0.35090)))
(display " N m") (newline)
; 60 cm wrench, same force
(display "Long wrench (0.6 m): tau = ")
(display (round (torque 0.65090)))
(display " N m") (newline)
; Same wrench, force at 45 degrees
(display "Angled force (45 deg): tau = ")
(display (round (torque 0.35045)))
(display " N m")
Moment of inertia
Moment of inertia I = sum(m * r²) measures how mass is distributed relative to the rotation axis. Mass far from the axis is harder to spin. A solid disk has I = (1/2)MR². A hoop has I = MR². The hoop is harder to spin because all its mass is at the rim.
Scheme
; Moment of inertia for common shapes; All with mass M = 2 kg, radius R = 0.5 m
(define M 2)
(define R 0.5)
; Point mass at radius R
(define I-point (* M (* R R)))
(display "Point mass: I = ") (display I-point) (display " kg m^2") (newline)
; Hoop (thin ring): I = M R^2
(define I-hoop (* M (* R R)))
(display "Hoop: I = ") (display I-hoop) (display " kg m^2") (newline)
; Solid disk: I = (1/2) M R^2
(define I-disk (* 0.5 M (* R R)))
(display "Solid disk: I = ") (display I-disk) (display " kg m^2") (newline)
; Solid sphere: I = (2/5) M R^2
(define I-sphere (* 0.4 M (* R R)))
(display "Solid sphere: I = ") (display I-sphere) (display " kg m^2") (newline)
(display "Hoop has 2x the inertia of a disk at same M, R.")
Conservation of angular momentum
When no external torque acts, L = I * omega is constant. If I decreases (mass moves inward), omega must increase. This is the figure skater effect, and it is why collapsing gas clouds spin faster as they contract into stars.
Scheme
; Figure skater: arms out -> arms in; L = I * omega = constant
(define (angular-momentum I omega) (* I omega))
; Arms out: I = 4 kg m^2, omega = 2 rad/s
(define I-out 4)
(define omega-out 2)
(define L (angular-momentum I-out omega-out))
(display "Arms out: I = ") (display I-out)
(display ", omega = ") (display omega-out)
(display ", L = ") (display L) (newline)
; Arms in: I = 1.5 kg m^2, L is conserved
(define I-in 1.5)
(define omega-in (/ L I-in))
(display "Arms in: I = ") (display I-in)
(display ", omega = ") (display (exact->inexact omega-in))
(display ", L = ") (display (angular-momentum I-in omega-in)) (newline)
(display "Speed increase: ")
(display (exact->inexact (/ omega-in omega-out)))
(display "x")
A spinning gyroscope resists changes to its angular momentum vector. When gravity exerts a torque, the angular momentum vector precesses (rotates around the vertical axis) instead of tipping over. The precession rate is tau / L: more spin means slower precession.
Scheme
; Gyroscopic precession: Omega_precession = tau / L; tau = m * g * d (torque from gravity on offset mass); L = I * omega (angular momentum of spinning wheel)
(define g 9.8)
; Bicycle wheel: mass 2 kg, radius 0.35 m, offset 0.15 m from pivot
(define m 2)
(define R 0.35)
(define d 0.15)
; Torque from gravity
(define tau (* m g d))
(display "Torque from gravity: ") (display tau) (display " N m") (newline)
; Spin the wheel at different speeds
(define I (* m (* R R))) ; hoop approximation
(define (precession-rate omega)
(/ tau (* I omega)))
(display "At omega = 10 rad/s: precession = ")
(display (precession-rate 10)) (display " rad/s") (newline)
(display "At omega = 50 rad/s: precession = ")
(display (precession-rate 50)) (display " rad/s") (newline)
(display "Faster spin -> slower precession.")