Harmonograph Addon

Having always had a fancy for Harmonographs, I gave a try at scripting and ended up with a simple add on that creates a path in the shape of a Haromongraph along three axis. You can then either set another curve as a bevel object, or use it with an array/curve modifier.

This is my first attempt at scripting in blender, and creating an addon.

If you have an iPhone (and not ios11), then you can also try my Harmonograph app (free). That’s a little easier to fiddle with to see what you will get - then put in similar settings.

If you don’t know what a Harmonograph is - well, google is helpful. Essentially it’s plotting the intersection of 3 dual axis pendulums.

Each X/Y/Z is calculated by it’s own damped pendulum equation:
x = Amplitude1 * sin(tfrequency1 + phase1)dampening2 + Amplitude2sin(tfrequency2 + phase2)*dampening

Where Phase is the angle of the pendulum
Frequency is how quickly is goes back and forth
Amplitude is how far it goes back and forth.

Harmonograph addon

A few additional details here:


Thank you!

I am sure people will find it useful in many situations.
A short tutorial would be much appreciated.
Thank you!

If you set the dampening to zero, you essentially get a lissajous curve:

I created one by doing the following:

Convert the final curve to a mesh (alt+c)
Set all edges to mark as feestyle edge
Extruded very slightly as just a line wouldn’t render in freestyle
Added some rotation and such to make it look cool (well, at least i thought so).