The Generative Design book starts with the following description for this example: ‘The variation of Lissajous figures can be greatly increased by modulating the oscillations. The concept of modulation is used in telecommunications, in which oscillations are used to transmit signals. In order to make simultaneous transmission possible — for instance, many different radio programs — broadcasters need to combine each information signal (e.g. music and speech) with a carrier signal. An information signal is combined with a carrier signal. The result is a curve in which the amplitude of the carrier signal is modulated by the information signal. One therefore also speaks of amplitude modulation. For the implementation of the program, the curve is composed of two oscillations. Here is the first program I started with (from the Generative Design site).
I started with changing the global and some local variable names to names I could better understand. Made the display image 800 x 800. Inverted the background from white to black. It is not really clear to me which line stands for the information signal. Which is the carrier signal. And which line is the modulated signal. So I colored the information signal red. The carrier signal green and the modulated signal blue. I made all signals higher by dividing the height by 2 instead of 4. Hitting the 1, 2 and 7,8 key gives interesting patterns if you keep on hitting them long enough.
Did some examples with signals of less height. Height divided by 4.
Maybe make the height even smaller. I know this is against this principle of explanation but what if I make the signals, independent from each other, lower or higher?
What about attaching a few keys to that idea. Used key 5, 6, 7, 8, 9 and 0 for that.
Now it would maybe a good idea if I could move the oscillations separately from each other. Skipped that idea. I use the up and down arrow keys for increasing and decreasing the line thickness.
The second example to work with has the following description in the Generative Design book: ‘Just as we saw with the unmodulated Lissajous figures, two modulated oscillations can be used to define the point’s x- and y-coordinates.’ Here is the program I started with.
Hmmm… changed the name of modulationPhi variable into ModulationPhaseShift. But it seems that is not being used? So I commented it out. What does w do? Changed its name in WidthDistance. Not sure if that is correct. If it seems not correct I will change it later. Anyway… I don’t see the point of seeing points in a line. So I commented line 96 PointCount = mouseX * 2 + 200 out. I’ve also commented out line 84, 134, 135 and 136. Introduced a new global variable CopyLine. Which copies lines in a for loop. I have always Matt Pearson’s quote in my head from his book Generative Art (page 71): ‘The next step–and I firmly believe that, if in doubt, this should always be your next step–is to multiply it all by 100.’ Did that but 100 seems a bit too much in my for loop on line 137. So I stick with 40 for now.
Uncommented line 96. Made DrawMode 1 almost the same as DrawMode 2. The color is blue and I left the CopyLine variable out only once in line 114.
Added a range of yellow colored triangles to DrawMode 1.
I decreased PointCount from 800 to 10. In line 110 I multiplied Position_X with width. I mean I multiplied Position_X * width. Which means we are very close up to the objects. Although I am not working in 3d it gives a 3d impression.
Decreased PointCount to only 4 points. But added a new for loop on line 12. This reduces the amount of possible figures to less than 10 per DrawMode. Increased it to 12.