Spirograph

Nested rotating rings trace hypotrochoid and epitrochoid curves in 3D, growing a luminous trail that cycles through color palettes. The pen position is computed each frame from the classic hypotrochoid equation x=(R-r)cosθ+d·cos(kθ), y=(R-r)sinθ+d·sin(kθ) where k=(R-r)/r, plus a sinusoidal Z offset for a 3D ribbon effect. Up to 6,000 vertex-colored trail points are stored in a rolling buffer and the pattern auto-resets with new random parameters roughly every 22 seconds.

Controls