HomePhysics & Mechanics3D Spherical Pendulum

🎯 3D Spherical Pendulum

Interactive 3D spherical pendulum: planar swing rosettes, conical pendulum at constant height, and Foucault precession driven by Earth's rotation.

Physics & Mechanics3DAdvanced60 FPS🌍 Earth
pendulum-3d ↗ Open standalone

About this simulation

This simulator integrates the exact 3-D equations of a bob constrained to a unit sphere (L=1): an RK4 stepper advances Cartesian position and velocity under gravity, and after every step the position is reprojected onto the sphere while any radial velocity component is removed, so the string length never drifts numerically. In planar mode a small azimuthal kick produces a rosette that never quite closes; in conical mode the azimuthal speed is set to vφ = √(gL⋅sinθ⋅tanθ) so gravity supplies exactly the centripetal force for a level circular orbit; in Foucault mode a Coriolis term 2·Ω×v (plus a small centrifugal correction) is added, rotating the swing plane at Ω·sin(latitude) — sped up by the time-scale slider so the drift is visible in seconds instead of hours.

🔬 What it Shows

A 3-D wireframe sphere with a pivot at the origin and a bob tracing its constrained path, plus an optional trail and a ground-plane projection of that trail at z=−L. The Stats panel reports the live polar angle θ, total mechanical energy E, vertical angular momentum Lz, the theoretical conical period T=2π√(Lcosθ/g), the Foucault rate Ω·sin(lat) in degrees/hour, and (in Foucault mode) the precession rate actually measured from the bob's swing-plane angle over time.

🎮 How to Use It

Choose Planar, Conical or Foucault under Mode, then drag Latitude to set the Foucault precession speed, Initial angle θ₀ to set how far the bob starts from vertical, Azimuthal velocity to seed rosette patterns, Gravity g to change the driving force, and Foucault time scale to accelerate Earth's rotation up to 20,000× so precession is visible within a normal viewing session. Drag the canvas to orbit the camera and scroll to zoom; Pause and Reset control playback.

💡 Did You Know?

Léon Foucault's original 1851 pendulum in the Panthéon in Paris (latitude ≈49°) took about 32 hours to complete one full rotation of its swing plane — the same latitude this simulator defaults to. At the North Pole the plane would complete a full turn in exactly 23h56m (one sidereal day), while on the equator, where sin(0°)=0, a Foucault pendulum shows no precession at all.

Frequently asked questions

What exactly is a spherical pendulum?

A spherical pendulum is a bob attached to a fixed pivot by a rigid rod or string of length L, free to swing in any direction rather than being confined to a single vertical plane like a simple pendulum. Mathematically the bob's position is constrained to lie on a sphere of radius L; this simulator enforces that constraint numerically every step by rescaling the RK4-integrated position back onto the sphere and removing the outward-pointing component of velocity.

How does the simulation keep the pendulum's string length constant?

After each RK4 step the raw position (x,y,z) is rescaled by L divided by its current distance from the origin, snapping it back exactly onto the unit sphere, and the velocity's radial component v·r̂/L is subtracted off so only the tangential part remains. This projection method is simpler than solving a Lagrange-multiplier constraint force analytically and keeps floating-point drift from ever visibly stretching the string.

How is the conical pendulum's circular orbit set up mathematically?

For a bob to trace a perfect circle at constant polar angle θ, the net inward force from gravity and tension must equal the required centripetal force m·vφ²/(L·sinθ). Solving for the azimuthal speed gives vφ = √(gL⋅sinθ⋅tanθ), which is exactly the initial velocity this simulator assigns when you switch to Conical mode — any other azimuthal speed at that angle would make the bob spiral toward a different θ instead of holding steady.

Why does the Foucault pendulum's swing plane rotate at all?

In the pendulum's local (non-inertial) reference frame, the rotating Earth introduces a fictitious Coriolis force 2·Ω×v acting sideways on the moving bob. Only the component of Earth's rotation vector along the local vertical matters for this horizontal-plane drift, and that component has magnitude Ω·sin(latitude) — full strength at the poles, zero at the equator — which this simulator implements directly in its equations of motion via the Omz term multiplying the velocity.

What do the Energy E and angular momentum Lz stats mean, and why track them?

Energy E = ½mv² + mg(z+L) is the bob's kinetic plus gravitational potential energy (zero at the lowest point of the sphere); angular momentum Lz = m(x·vy − y·vx) is its rotation about the vertical axis. For planar and conical modes both quantities should stay essentially constant over time, since gravity and the sphere's tension force do no net work and exert no torque about the vertical axis — watching them stay flat is a direct check that the RK4 integrator and sphere-projection constraint are behaving correctly.

⚙ Under the hood

A bob constrained to a sphere swings, traces rosette orbits, locks into perfect cones — and, in Foucault mode, lets Earth's rotation precess the swing plane at Ω·sin(latitude).

Canvas 2DSpherical PendulumCoriolisFoucaultRK4

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)