loading...
running...
How to use
Pick a preset or set the latitude and the demo spin multiplier. The orange dot is the bob seen from above, the dashed blue line is the theoretical swing plane -Ω sinφ · t, and the golden pegs fall as the plane sweeps across them. The first graph compares the measured plane azimuth with the theory line; the rate graph should sit on the theory value. Try latitude 0 (nothing happens), a negative latitude (reversed direction), and a sideways push with the multiplier at 0 (Airy precession). Space pauses, R restarts.
Drag to orbit, wheel to zoom. Models and baked PBR textures made in Blender; Three.js r160 animates the bob, wire and pegs.
The science
A pendulum swings in a plane that is fixed in an inertial frame. The floor under it turns with the Earth, so relative to the floor the plane appears to rotate. In the Earth-fixed frame (x east, y north, z up) the bob of mass m on a rigid wire of length L obeys
a = g - 2 Ω × v - λ r / m, |r| = L, Ω = ΩE (0, cosφ, sinφ)
where λ is the wire tension per unit r (from the constraint r·a + v² = 0) and the centrifugal term is absorbed into the local g. Only the vertical component of the Earth's rotation, Ω sinφ, turns a horizontal swing plane:
dψ/dt = -ΩE sinφ ⇒ TFoucault = 2π / (ΩE |sinφ|) = 23.93 h / |sinφ|
ΩE = 7.2921159×10-5 rad/s (one turn per sidereal day, 86164.09 s). At the pole the plane turns once per sidereal day, at Paris (48.85°) in 31.8 h, in London (51.5°) in 30.6 h, and at the equator it does not turn at all. In the northern hemisphere the turn is clockwise seen from above, in the southern it is anticlockwise.
What is simulated. The full nonlinear spherical pendulum (not the small-angle plane model) is integrated with RK4 at 1/240 s and projected back on the sphere each step. The Coriolis force is exact, so energy is conserved to rounding error; the swing period follows the finite-amplitude series T = T0(1 + θ0²/16 + 11θ0&sup4;/3072 + ...) with T0 = 2π√(L/g). The 3D hall is a Blender model (marble floor, brass degree dial, domed hall) animated by the same integrator as the 2D page. The plotted plane azimuth is the direction of the bob at each turning point (maximum horizontal distance), unwrapped modulo 180°.
Demo multiplier. With the real Earth the plane moves only 0.02° per swing at 51.5°, far too slow to watch. The slider multiplies Ω (and nothing else) so you can see the effect in minutes; the readouts show both the demo rate and the real-Earth value. Switch it to 1 and the checks below use exactly this physics for one simulated hour of real time.
Airy precession. If you push the bob sideways the path is an ellipse with semi-axes a and b. Even without any Earth rotation the ellipse's major axis then turns at about (3/8) ω0 a b / L² (an effect of the non-parabolic potential) - the reason real Foucault pendulums are released from rest with a burning thread, and why a poorly released bob gives the wrong rate. Try the preset "Elliptical (Airy)" with the spin multiplier at 0.
Peg ring. The ring of pegs reproduces the classic 1851 demonstration: each swing the bob can knock over the peg it reaches, and as the plane turns, new pegs fall in a sweeping pattern. The contact radius is a simplification (the bob is not slowed by the pegs). The Charron ring (a magnetic or electric driver in real installations) is idealised here as exactly cancelling drag; switch it off and the amplitude decays so the pegs stop falling.
Simplifications. Point bob, rigid massless wire with a perfect universal pivot (real wires have torsion and pivot asymmetry that spoil the rate), uniform g, a flat local frame (Earth's curvature and the tidal terms are ignored), and no variation of g with latitude or height.