harmonograph

further harmonograph tweaks

Continuing the theme of harmonographs, I tweaked one of the weights in my ‘back to basics’ harmonograph, and got this result:

Again, there were slight differences each time the cycle appeared, so this image would have had many more lines in it had I left the sketch to run for longer. In contrast to the previous version (see yesterday’s post), there is an additional ‘level’ becoming apparent in the image, which is an additional level of complexity that has resulted from a minor change in value of one variable (from 0.005 to 0.01).

Making the two weights close in value gave rise to a simpler image:

Again, there is slight variation on each cycle, so the image would have had more lines had it run for longer. I prefer it as it is, however, looking like a complicated knot in ribbon. The differening distances between lines gives it a graceful feel.

Tags: ,

Monday, November 18th, 2013 coding No Comments

‘back to basics’ harmonograph tweaked

Yesterday’s image was simple, partly because the values of variables quickly led to the same output values. Dividing both of the weights, however, leads to slight changes each time the cycle occurs. As a result, what starts as a similarly simple image:

becomes more complex merely by letting the sketch continue to draw for about ten minutes:

It was exciting to see this pattern emerge from a formula that I’d created on my own!

Tags: ,

Sunday, November 17th, 2013 coding No Comments

‘back to basics’ harmonograph

After yesterday’s unsatisfying complexity, I decided to start afresh.

I started with the basic formula for a circle: x = r*sin(theta) and y=r*cos(rho), where r is the radius of the desired circle and theta start starts at 0.0 and is gradually incremented, to provide each point on the circle’s circumference. I gave theta a different to calculate x and y, and added a different weight to each of these formulae, to become x = r*sin(thetaX) + sin(Wx) and y = r*sin(thetaY) + sin(Wy). Note that at this stage, unlike theta, Wx doesn’t vary over time, nor is there a damping effect. This produced the following simple image:

The pen started to repeat itself very quickly, going over exactly the same lines.

Tags: ,

Saturday, November 16th, 2013 coding No Comments

harmonograph in processing

In resuming this blog, I’ve discovered a few draft posts that I first wrote a couple of years ago. Here’s the first in a series on harmonographs:

My first memory of harmonographs, although I didn’t realise at the time that that’s what they were called, is of watching Tony Hart on Vision On, using cones filled with either paint or sand and suspended from a pendulum that he would set swinging in two dimensions. (Unfortunately, I can’t find any video of that on the internet to show you what I mean.)

I was reminded of this a couple of years ago when I followed a link from William Latham‘s website to Karl Sims (though the link now seems to have changed to a visual effects software site), who has instructions on how to build a harmongraph. It’s a more complicated version than Tony Hart’s, but the principle is the same, and the sample images he provides are similar.

That got me wondering how to simulate a harmongraph in Processing. There are lots of simulations available on the net, but I wanted to create my own. I found the formula for one version at Paul Bourke’s amazing website, which has lots of information on things like Lorenz Attractors, which I’ve created here and here.

Here are a couple of images from my first attempt. I like the nearly-but-not-quite symmetry:

harmonograph002a harmonoharmonoharmonograph004aharmonograph004a

harmonograph004a

The concentration of lines towards the centre is the result of damping, which is a simulation of the pendulum gradually slowing down.

The main difference between virtual and physical harmomographs, of course, is that in the former you can note the values of variables that lead to particularly interesting results, and if desired repeat them. In contrast, the latter is completely hit-and-miss. Whether you think that’s a disadvantage or not depends on your point of view.

In my simulation, despite tweaking the values of the various parameters, I can’t find a set that results in anything wildly different. Strangely though, when I used very small values, I came up with this next image, which appears to have a wobbly, hand-drawn feel to it. I suspect this is the result of the relatively low resolution of the work, so that the plotted points are forced steps from one whole number to the next.

Tags: ,

Friday, November 15th, 2013 coding No Comments