A travelling wave
Lessons are Markdown (MDX), so I can drop interactive or pre-rendered pieces straight into the prose.
Below is a pre-rendered matplotlib animation. Generate it with
python render/render.py sine_wave, which writes the video into
public/media/. Until you run that (and install ffmpeg), the clip won’t load —
the rest of the page still works.
The formula shifts the phase by a full cycle over the length of the loop, so the clip repeats seamlessly.