Lissajous figures

Compare integer frequency ratios and phases with a closed curve and moving point.

About this tool

Choose an example or set fₓ/fᵧ (integers 1–9) and phase δ (0–360°). Valid changes update directly after a short typing pause. Equal frequencies give a line at 0°, a circle at 90° and an ellipse at intermediate phases. The phase is applied to x. Play moves the orange point on the complete curve; Pause freezes it. Settings contain an exact percentage position, a slider, reduced ratio, parameter period and point coordinates. Reset restores 3:2, 90° and position 0.

The model is x(t)=sin(fₓt+δ), y(t)=sin(fᵧt), both amplitudes 1. The common parameter interval T=2π/gcd(fₓ,fᵧ) closes both oscillations. T is not a physical duration in seconds. For equal frequencies, x²+y²−2xy cosδ=sin²δ; at 60° this gives x²+y²−xy=3/4. Degenerate curves may retrace part of the same geometric path.

Playback takes a nominal eight seconds per common parameter traversal, regardless of frequency ratio. The path has 720 straight segments and equal x/y scales; the point is evaluated directly rather than snapped to these segments. The rectangular desktop canvas uses the remaining page area; a circle remains circular. The static drawing is cached until parameters, size or theme change. PNG pauses playback and saves the displayed picture.

Raw frequency/phase/manual percentage drafts persist, even if unfinished. Valid older numeric/radian settings migrate. Results, drawing buffers and computed playback position are not saved. Navigation/reload rebuilds paused at the last manual position. Hidden retained views freeze and resume only if playback was requested. All calculations run in the browser. Float64 and sampling limit accuracy; this is not a physical oscilloscope or a free-frequency signal simulator.