The center of mass of point masses on a line is the mass-weighted average position:
x̄ = Σ(mᵢ · xᵢ) / Σ mᵢ
Every mass here sits exactly on the rigid rod, at a fixed signed distance rᵢ = xᵢ − x_pivot along it. When the rod tilts by angle θ (measured from horizontal, counter-clockwise positive), that mass's true 2D position rotates with it: (x_pivot + rᵢ·cosθ, rᵢ·sinθ). Gravity pulls straight down on every mass, so the torque about the pivot from mass i works out to:
τᵢ = −mᵢ · g · rᵢ · cos θ
τ_net = Σ τᵢ = −g·cosθ · Σ(mᵢ rᵢ) = −M·g·cosθ·(x̄ − x_pivot)
I = Σ mᵢ rᵢ² (exact — every mass rides the rotating rod itself)
θ'' = τ_net / I (Newton's 2nd law for rotation, integrated live)
Because the restoring term carries cos θ rather than sin θ, this is not a small-angle pendulum about θ = 0 unless x̄ already sits over the pivot. If x̄ = x_pivot (r_com = 0), τ_net is zero at every angle — the rod is in neutral equilibrium and can rest tilted at any angle. If x̄ ≠ x_pivot, the only angles where τ_net = 0 are θ = ±90°, so the rod swings past horizontal until the heavier side hangs straight down — exactly a compound pendulum whose stable resting angle is vertical, not level.
- Mass rows / sliders — select a mass, then drag its own value and beam position; center of mass, torque, inertia and angular velocity update live, even mid-swing.
- Click the seesaw — click empty space along the rod to drop a brand-new mass right there; click an existing dot to select and drag it.
- + Add mass / Shuffle — add a randomly placed mass, or re-roll every mass and position at once.
- Pivot slider — moves the support point the rod rotates around.
- Release on pivot — starts the real θ'' = τ/I integration from the current layout; yellow arrows show each mass's weight force, the orange arc shows the live net torque.