Classical Mechanics

Simple Pendulum

A mass on a string — period T = 2π√(L/g) for small angles, independent of mass and amplitude

A simple pendulum is a point mass on a massless string under gravity. For small angles, it executes simple harmonic motion with period T = 2π·√(L/g) — depending only on length and gravity, NOT on mass or amplitude (Galileo's discovery, 1602). For larger angles, the period grows slowly with amplitude. Pendulums measure local g, calibrate clocks, and demonstrate Earth's rotation (Foucault pendulum).

  • Period (small angle)T = 2π·√(L/g)
  • Independent ofMass and amplitude (small angle approximation)
  • Equation of motionθ̈ = -(g/L)·sin θ ≈ -(g/L)·θ for small θ
  • Galileo's observationPeriod independent of amplitude (1602)
  • First clockHuygens, 1656 — pendulum clock revolutionized timekeeping
  • Foucault pendulumDemonstrates Earth's rotation

Interactive visualization

Press play, or step through manually. The visualization is yours to drive — try it before reading on.

Open visualization fullscreen ↗

Watch the 60-second explainer

A condensed visual walkthrough — narrated, captioned, under a minute.

The setup

A point mass m hangs from a massless string of length L, free to swing. The string makes angle θ with vertical at any moment.

Forces — gravity (mg, downward) and tension (T, along string). Decompose gravity:

  • Component along string — mg·cos θ (cancelled by tension).
  • Component perpendicular to string (tangent to arc) — -mg·sin θ.

This perpendicular component is the restoring force.

Equation of motion

Tangential acceleration along arc = L·θ̈. Tangential force = -mg·sin θ.

From F = ma:

m·L·θ̈ = -m·g·sin θ
θ̈ = -(g/L)·sin θ

Mass cancels — pendulum motion doesn't depend on mass.

For small angles (θ < ~15°), sin θ ≈ θ:

θ̈ ≈ -(g/L)·θ = -ω²·θ

This is simple harmonic motion with ω = √(g/L). Period:

T = 2π/ω = 2π·√(L/g)

Period vs length

Length LPeriod TFrequency f
0.25 m1.00 s1.00 Hz
1.00 m2.01 s0.50 Hz
2.00 m2.84 s0.35 Hz
5.00 m4.49 s0.22 Hz
10.00 m6.34 s0.16 Hz
1.00 m on Moon (g=1.62)4.94 s0.20 Hz

A "second pendulum" (T = 2 s) requires L ≈ 99.4 cm on Earth. Used in early metric system definition.

Period vs amplitude (large angles)

Exact formula (uses elliptic integrals):

T = T₀ · (4/π) · K(sin(θ₀/2))

where K is the complete elliptic integral of the first kind. Series expansion:

T = T₀ · (1 + (1/16)θ₀² + (11/3072)θ₀⁴ + ...)

where θ₀ is amplitude in radians.

Amplitude θ₀Period correctionPeriod (relative to T₀)
+0.05%1.0005
15°+0.4%1.004
30°+1.7%1.017
45°+4.0%1.040
60°+7.3%1.073
90°+18.0%1.180

Foucault pendulum

A long, free pendulum's swing-plane appears to rotate over hours due to Earth's rotation. At the poles, full 360° rotation per sidereal day. At latitude φ, rotation per day = 360°·sin(φ).

LocationLatitudeRotation per hour
North Pole90°15°/hr (full rotation in 24 hr)
Stockholm59.3°12.9°/hr
Paris (original Foucault)48.9°11.3°/hr
San Francisco37.8°9.2°/hr
Equator0 (no rotation visible)

The pendulum's swing-plane stays fixed in the inertial frame; Earth rotates underneath. Direct evidence of Earth's rotation, dramatic when seen for the first time.

JavaScript — pendulum simulation

// Small-angle period
function pendulumPeriod(L, g = 9.81) {
  return 2 * Math.PI * Math.sqrt(L / g);
}

console.log(`1m on Earth: T = ${pendulumPeriod(1).toFixed(3)} s`); // 2.006
console.log(`1m on Moon: T = ${pendulumPeriod(1, 1.62).toFixed(3)} s`); // 4.939

// Compute g from period and length
function gFromPendulum(period, length) {
  return 4 * Math.PI * Math.PI * length / (period * period);
}

console.log(`From T=2.006s, L=1m: g = ${gFromPendulum(2.006, 1).toFixed(4)} m/s²`); // 9.808

// Numerical simulation (large amplitude)
function pendulumSimulate(theta0, L = 1, g = 9.81, dt = 0.0001, t_max = 10) {
  let theta = theta0;
  let omega = 0;
  const states = [];
  for (let t = 0; t < t_max; t += dt) {
    const alpha = -(g / L) * Math.sin(theta);
    omega += alpha * dt;
    theta += omega * dt;
    if (Math.abs(t * 100 - Math.round(t * 100)) < dt) {
      states.push({ t, theta, omega });
    }
  }
  return states;
}

// Find period from simulation
function measurePeriod(states) {
  let lastSign = Math.sign(states[0].theta);
  let crossings = [];
  for (const s of states) {
    if (Math.sign(s.theta) !== lastSign && lastSign !== 0) {
      crossings.push(s.t);
      lastSign = Math.sign(s.theta);
    }
  }
  if (crossings.length < 2) return null;
  // Half period from one zero crossing to next; full period = 2× this
  return 2 * (crossings[1] - crossings[0]);
}

// Compare small vs large amplitude
const small = pendulumSimulate(0.1); // 5.7°
console.log(`Small amplitude (5.7°): T = ${measurePeriod(small)?.toFixed(3)} s (theory: 2.006)`);

const large = pendulumSimulate(Math.PI / 2);  // 90°
console.log(`Large amplitude (90°): T = ${measurePeriod(large)?.toFixed(3)} s (~18% longer)`);

// Foucault rotation rate
function foucaultRate(latitudeDeg) {
  return 360 * Math.sin(latitudeDeg * Math.PI / 180);  // degrees per day
}

console.log(`North Pole: ${foucaultRate(90).toFixed(1)}°/day`);
console.log(`Paris (48.9°N): ${foucaultRate(48.9).toFixed(1)}°/day`);
console.log(`Equator: ${foucaultRate(0).toFixed(1)}°/day`);

Where pendulums show up

  • Timekeeping. Pendulum clocks (Huygens 1656); precision pendulum clocks (Shortt-Synchronome ~1920s) reached 1 sec/year accuracy.
  • Gravity measurements. Historical g measurements via period; gravimeter pendulums sensitive to local gravity anomalies.
  • Earth rotation demos. Foucault pendulums in museums and observatories.
  • Engineering. Tuned mass dampers (large pendulum-like structures) in skyscrapers (Taipei 101) damp wind-induced oscillations.
  • Physics education. Classic introduction to oscillations, SHM, energy conservation.
  • Forensic investigations. Crash analysis using pendulum-impact tests; cadaver studies use pendulum dummies for impact reconstruction.
  • Music. Metronomes use small pendulums for tempo. Bell ringing — large pendulums require careful timing.

Common mistakes

  • Using small-angle formula at large amplitudes. Beyond ~15°, the simple T = 2π√(L/g) formula understates the period. Use the elliptic integral or numerical simulation.
  • Confusing pendulum and spring periods. Pendulum: T = 2π√(L/g) — depends on length and g, not mass. Spring: T = 2π√(m/k) — depends on mass and spring stiffness, not g. Different systems.
  • Ignoring the difference between physical and simple pendulum. Simple — point mass on string. Physical — extended body (e.g., a meter stick). Period formulas differ.
  • Forgetting that the bob's path is an arc, not horizontal. The bob moves in a circular arc, so its motion isn't pure horizontal SHM. Small-angle approximation projects it as such.
  • Mixing radians and degrees. sin θ ≈ θ approximation requires radians. Be careful if you compute angles in degrees.
  • Treating Foucault rotation as a force. The pendulum swing-plane stays fixed in the inertial frame; Earth rotates underneath. From Earth's rotating frame, it appears the pendulum rotates due to Coriolis force.

Frequently asked questions

Why doesn't the period depend on mass?

From the equation of motion — m·L·θ̈ = -m·g·sin θ. The mass cancels on both sides, leaving θ̈ = -(g/L)·sin θ. Both gravity (forcing) and inertia (resisting) scale with mass equally, so they cancel. This is the same reason all objects fall at the same rate (in vacuum) — Galileo's principle.

Why doesn't the period depend on amplitude (for small angles)?

This is the small-angle approximation — sin θ ≈ θ for θ &lt; ~15°. The equation becomes linear (θ̈ = -ω²θ, SHM), and the period of SHM is independent of amplitude. For larger angles, the period grows — at 90° amplitude, period is ~18% longer than the small-angle formula predicts. The corrected formula uses elliptic integrals.

How accurate is the small-angle approximation?

Exact period is T = T₀ · (1 + (1/16)θ₀² + ...). At θ₀ = 5° (0.087 rad), correction = (0.087)²/16 ≈ 0.05% — negligible. At 15°, ~0.4% error. At 30°, ~1.7%. At 45°, ~4%. For a clock to be accurate to 1 second per day (~10⁻⁵), max amplitude must be a few degrees. This is why pendulum clocks have small swings.

How is this used to measure local g?

Measure period T very precisely, knowing L. From T = 2π√(L/g) → g = 4π²L/T². With T accurate to 0.001% and L to 0.001%, g is determined to 0.002%. Pendulums historically gave the best g measurements; modern gravimeters use more sophisticated techniques but pendulums are still good for educational and calibration use.

What's a Foucault pendulum?

A heavy bob on a long wire (typically 25-30 m) free to swing in any direction. As the pendulum swings, the plane of swing slowly rotates relative to the floor — actually, the floor rotates underneath the pendulum as the Earth turns. At the poles, the rotation is 360° per 24 hours; at the equator, zero; at latitude φ, 360°·sin(φ) per day. Conclusively demonstrates Earth's rotation; first one in Paris (1851) was a public sensation.

How do pendulum clocks work?

A pendulum acts as a frequency reference. An "escapement" mechanism transfers energy from a falling weight (or coiled spring) to the pendulum once per swing, keeping it oscillating at constant amplitude. Each swing advances the gear train by a small amount. Huygens' first design (1656) was accurate to ~15 sec/day; sophisticated 18th-century pendulum clocks reached 1 sec/year. Replaced by quartz crystals (1927) and atomic clocks (1955).

What about a physical pendulum (not a point mass)?

For a physical pendulum (extended rigid body) — T = 2π·√(I/(mgd)), where I is moment of inertia about the pivot and d is distance from pivot to center of mass. Reduces to T = 2π√(L/g) when I = mL² and d = L (point mass on string of length L). Physical pendulum analysis is needed for clock pendulums, baseball bats, swinging signs.