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.
A few additional details here: