Coupled Oscillators 2D — Normal Modes & Beating
Two masses on springs, rendered in plain Canvas2D: excite the symmetric or antisymmetric normal mode, or watch a beating envelope as energy sloshes between the masses, with live mode-frequency, beat-period and energy readouts.
This 2D companion drives the identical coupled spring-mass equations of motion as the 3D version — m₁ẍ₁ = -k₁x₁ + κ(x₂-x₁) - γm₁ẋ₁ and m₂ẍ₂ = -k₂x₂ - κ(x₂-x₁) - γm₂ẋ₂, integrated with eight semi-implicit-Euler substeps per frame — through a flat top-down Canvas2D view built for reading the mechanics directly: springs are drawn as zig-zag segments that shift from grey to red as they stretch, arrows show each mass's live displacement from equilibrium, and a waveform strip plots x₁ and x₂ over the last few seconds so the beating envelope is visible as a shape, not just implied by motion.
Canvas2D coupled-oscillators lab: symmetric/antisymmetric normal modes, beating, live mode-frequency and energy readouts, spring-strain colour coding.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install