This is the 2D companion to the 3D Noether's-theorem simulator, computed independently rather than a flattened render of the 3D scene. It keeps the same physics — a unit-mass particle in a 2D anisotropic well — but replaces the 3D wireframe bowl with a top-down potential heat-map you can pan and zoom, and adds a genuinely 2D-native diagnostic the 3D version has no equivalent for: a live scatter trace of the orbit's path through (E, L_z) phase space.
V(x,y) = ½k(x²+y²) + ε(x²−y²) + [drive] A·sin(ωt)·x
F = −∇V (semi-implicit / symplectic Euler, dt-clamped)
L_z = x·ẏ − y·ẋ E = ½(ẋ²+ẏ²) + V
When ε = 0 the well is circular — invariant under rotation — so Noether's theorem guarantees L_z stays exactly constant. Raise ε and the well turns elliptical, breaking that symmetry: L_z visibly drifts and the orbit precesses into a rosette. Independently, the drive toggle adds an explicit sin(ωt) term that breaks time-translation symmetry, so E stops being flat even while L_z (with ε = 0) stays perfectly conserved. The two conservation laws are shown breaking independently because each traces back to its own symmetry.
Fix applied here, not present in the 3D source: the 3D engine lets ε run from 0–1.5 independently of k (0.3–2.5), and the y-restoring force is proportional to (k − 2ε). Whenever ε ≥ k/2 that term goes zero or negative, the well stops being a bowl in the y-direction and becomes an unbounded saddle — the particle doesn't precess, it flies off to infinity (numerically verified: raw floating-point overflow within a few orbits at k=0.3, ε=1.5). That silently breaks the "precessing rosette" the theory text promises for most of the ε slider's own range. This 2D build clamps the *effective* anisotropy to ε_eff = min(ε, 0.49·k) before it enters both force components, so every slider combination stays a bounded, precessing orbit — the visual story the simulator is meant to tell — while ε = 0 and small-ε behaviour are untouched.
- ε slider — anisotropy of the well; 0 = circular (rotation-symmetric), higher = elliptical (broken), clamped for stability as noted above.
- k slider — restoring stiffness of the well, reshapes the orbit period without touching either symmetry.
- Drive toggle — adds an explicit sin(ωt) force term, breaking time-translation symmetry only.
- Launch orbit — starts a fresh particle with a fixed off-axis velocity so the effect is visible immediately.
- Drag the map to pan, scroll/pinch to zoom — the potential heat-map and orbit trail redraw live at any view.
- (E, L_z) phase-space strip — plots every recent frame's (E, L_z) pair as a point. A tight cluster means both quantities are conserved; a streak stretching along one axis means only that quantity is drifting — visually separating which symmetry broke.