Hugo Hismans
FR

Back to the atlas

Screenshot of Harmonographe on desktop
Screenshot of Harmonographe on a phone

HH·002LabFinished24 Aug 20252 commits

Harmonographe

Virtual pendulums weave rosettes you can export as GIFs

A simulation of a harmonograph, the Victorian instrument in which damped pendulums guide a pen. You can add as many axes as you like, each with its own amplitude, frequency, phase, damping and direction. Start from a preset (Lissajous, Rotary 3, Fleur, Bloom) or a random draw, then export the animation as a GIF or WebM. Phase or rotation drifts from frame to frame, and a "perfect loop" option produces a seamless loop.

What shines

  • Unlimited axes, each with amplitude, frequency, phase, damping and direction
  • Standalone HTML file: the gif.js encoder and its worker are injected from base64 through Blob URLs, so it works offline
  • Native WebM export via MediaRecorder with a VP9 → VP8 fallback; GIF and WebM exports verified working in a headless browser
  • "Perfect loop": phase and rotation increments are rounded to multiples of 360°/frame count
  • Seeded xorshift random generator, phase jitter and frequency detuning in ppm for organic-looking animations

How to use it

Pick a preset (or 🎲 Random), click "Start preview", then "Export GIF" or "Export WebM"

Made with

  • JavaScript
  • Canvas 2D
  • gif.js 0.2.0 (Web Workers, embarqué en base64)
  • MediaRecorder API (WebM VP9/VP8)
  • HTML/CSS

In the same constellation

Previous versions