The Double Pendulum

Two rods, four numbers, infinite unpredictability — drag a bob and let go.
t = 0.00 s
energy = 0.00 J
Drag either bob → release

Presets

Physics

Live readout

θ₁
θ₂
ω₁
0.00
ω₂
0.00
kinetic
0.00 J
potential
0.00 J

Phase space: θ₂ (horizontal) vs ω₂ (vertical). Orderly motion draws loops; chaos smears.

Why does this thing go crazy?

A single pendulum is boring in the best way: it repeats. Bolt a second pendulum to the bottom of the first and the system becomes chaotic — still perfectly deterministic, still obeying a tidy pair of equations, but so sensitive to its starting point that prediction falls apart.

Hit Chaos ghosts. Every ghost starts with the upper angle nudged by about one ten-thousandth of a degree — far smaller than any measurement you could ever make. They stay glued together for a few seconds, then peel apart and never agree again. That divergence, not randomness, is what “chaos” means.

The simulation integrates these equations of motion with a 4th-order Runge–Kutta step at a fixed 2 ms interval:

θ₁″ = [ −g(2m₁+m₂)sinθ₁ − m₂g·sin(θ₁−2θ₂) − 2m₂·sin(θ₁−θ₂)·(ω₂²L₂ + ω₁²L₁cos(θ₁−θ₂)) ] / [ L₁(2m₁ + m₂ − m₂cos(2θ₁−2θ₂)) ] θ₂″ = [ 2sin(θ₁−θ₂)·(ω₁²L₁(m₁+m₂) + g(m₁+m₂)cosθ₁ + ω₂²L₂m₂cos(θ₁−θ₂)) ] / [ L₂(2m₁ + m₂ − m₂cos(2θ₁−2θ₂)) ]

With friction at zero the total energy readout should hold nearly constant — a good sanity check that the integrator isn't quietly inventing or leaking energy. Crank Friction up and watch the pendulum settle, inevitably, into the one boring state: straight down.

Keyboard: space play/pause · R reset · C clear trail · G ghosts · T trail