Start with a two-interface Snell path, extend it through a chain of spheres, then move a follower off-axis to see where rotational symmetry breaks.
X(φ,t) = xexit(φ) + t ωexit(φ)
A source displaced from a single sphere still has a revolution axis. The expensive case is another sphere displaced from that axis. An area lamp can cause the same mismatch because its sampled source point moves.
Each azimuth traces actual sphere intersections and Snell refractions. The native general-chain path uses numerical root isolation; this visualizer only draws its geometry. The spheres are nonabsorbing and no internal reflection branches are drawn. The three-sphere off-axis setting is a geometric exploration, beyond the native two-sphere off-axis solver’s current scope. This page computes only when a control or viewport size changes.