I made a plugin that I call a

Simple harmonograph. It combines two circular motions, with potential damping, and it makes a path. You get it by downloading the "Special curves, current version 1.10" from

http://kmarkku.arkku.net/Parametric_curv...aster.html
The plugin will be in Gimp's menu at

Filters > Render > Parametric curves > Special curves > Simple harmonograph

You can start experimenting right away without reading this post. Here I explain something about the plugin and the parameters in the GUI. In the next post I shall give some examples. This post is again some lecturing; I am sorry about that, but I suppose somebody may get some benefit from it.

I call my harmonograph "simple" since some day somebody may want to implement something more general, such as the equations in

https://en.wikipedia.org/wiki/Harmonograph
or something else in that vein. There is no limit. Writing complicated plugins is no problem--the problem is how to make them easy to understand and control. But this one is simple, not many parameters, and even so it takes some work to get what one wants. But experimenting is easy.

The following is a nice introduction to the subject, written by Anthony Ashton:

https://www.vhplab.net/IMG/pdf/harmonogr..._music.pdf
Ashton talks about two types of harmonographs, "lateral" and "rotary". The former is covered(?) by my Lissajous plugin. As for the rotary harmonograph, I understand from Ashton's text that in practice he uses it just so that it combines two circular motions (two pendulums rotating in circles) even though his mechanism

could produce more general curves. So, to keep things simple, that is what I implemented. Perhaps some day we shall see some more general implementation.

I call the two circular motions "primary" and "secondary". I like to think that the primary motion is slow and large, and the secondary is faster and smaller and mainly adds some frills to the slower primary motion. But the user is in no way restricted to that idea. Ashton talks in music terms, "unison", "octave", "fifth", and so on; in frequencies these are 1:1, 1:2, 2:3, and so on. These are ratios of the frequencies of the two rotations; for instance 1:1 (unison) is the case where the two motions are equally fast.

The main parameters in the GUI are:

- Primary frequency

- Secondary frequency

- Opposite directions?

- Ratio of the radii, primary/secondary

- Spin rate

- Damping: Mode

- Damping: Amount

- Cycles (of primary motion)

I say now some words of each. But I don't understand these too well myself. If I want to get some particular effect I have no better way than just to experiment. But these explanations may help. You may find some hints in Ashton's writing too.

Primary and secondary frequency
These are the rotation rates of the two motions. I we think of the primary motion as slow and secondary as faster, we could perhaps set Primary frequency = 1 and Secondary frequency = 10. But anything is possible. In the GUI the default is 2:3, Ashton's "fifth".

Opposite directions?
This means: Should the two circular motions be in opposite directions? Ashton talks about concurrent and countercurrent directions. Changing this one input changes the curve utterly.

Ratio of the radii, primary/secondary
This is the ratio of the radii of the two circular motions. Instead of "radii", Ashton uses the word "amplitudes", and changing the amplitudes is one way how he manipulates the pendulums. I suggested to think the primary motion as large and the secondary as small, and so we could have for example Ratio = 10/1 = 10. But often we have Ratio = 1, and one can even experiment with Ratios < 1. Changing the value of Ratio may change the curve crucially.

Spin rate
Perhaps the most important way how the pendulums are manipulated is that their lengths are changed. Equivalently: their frequencies are changed. Ashton presses setting first the lengths of the two pendulums to some simple ratio such as 1:1, 1:2, 2:3, 3:4, 1:3, and so on (unison, octave, fifth, ...), but then he adjusts the second pendulum's length slightly; after that the ratio is no longer quite exactly 1:1, or 1:2, or whatever. He says: "Near misses in the ratios of rotary drawings set the designs spinning". And that is indeed the effect: the pattern start spinning; see the picture below.

If Spin=0 (and there is no damping) you get a clear closed curve, but setting Spin to some non-zero value causes the curve to start spinning and the result is an unending non-closed curve. How many rounds you get is determined by the input "Cycles".

Example: If we use the default values in the plugin except that we set Spin=0 we get the following figure on the left.

The same with Spin=3 gives the middle figure. The curve has started to spin! On the right is the same with Cycles=30.

What the plugin does internally when you set "Spin rate" to a non-zero value, is that it silently changes your input secondary frequency a little. This causes the spinning effect in the figure. From Ashton's text I took the word "Spin", and since it is so descriptive, I chose to use it in the GUI. I think it is better than "Deviation of the ratio of the frequencies from the chosen simple relation".

Damping: Mode and Amount

These are the same as in the Lissajous plugin. The meaning of Mode is clear. The Amount determines how far to the center the curve reaches, or how much empty space is left in the center (but it depends on the curve if there will be any empty space). Please experiment.

Cycles
This determines how many rounds the primary motion does. See the picture above, compare the middle and the right figures.