Emulation Of A Harmonograph by Andrew Purdam Brought To You By Wabmo

Select your screen width and height and press

Static Harmonograph

If you are reading this, it is because you cannot run JAVA applets in your browser. Either you are not allowed to run applets (in which case I'm sorry, but there's nothing I can do) or you have them turned off. If you want to run this applet,

  • in Internet Explorer, select Options from the View menu, choose the Security tab and make sure that Enable Java programs is checked.
  • In Netscape Navigator, select Network Preferences from the Options menu, choose the Languages tab and make sure that Enable Java and Enable JavaScript are both checked.


The harmonograph was pioneered by the French physicist, Jules Antoine Lissajous in 1857. The first harmonograph actually used a light beam on a screen (funny how history repeats itself!) Following the invention of the harmonograph it became a very popular device and was found in many homes. After the early 1900s it decreased in popularity and is rarely seen today, except in hands-on science centres.

The Physics of the Harmonograph
General Description:

The Harmonograph is basically a large, heavy, rectangular platform suspended at all four corners by wires. It can basically wobble forwards and backwards, side to side, and rotate a bit too. A pen is held stationary whilst a piece of paper attached to the surface of the Harmonograph oscillates according to how it was started. The oscillations decay, with the resulting curves getting smaller and smaller, spiralling in a highly wobbly way.

Arm-wavy Physical Model:

Roughly speaking, the movement of the Harmonograph can be approximated into three not-quite independent parts

There are some more assumptions made at this point:

The Mathematics

So then the Harmonograph can be plotted over time as follows:

x1(t) = Ax(t)sin(wxt+px)

y(t) = Ay(t)sin(wyt+py)

x2(t) = As(t)sin(wst+ps)

x(t) = x1(t)+x2(t),


A is the amplitude of the oscillation

w is frequency

p is the phase

s is the rotational factor

All amplitudes and phases are independent. To make things a little more interesting, wy is allowed to be slightly different in relation to wx and ws is also allowed to be slightly different to double wx. Lastly, these amplitudes all decay over time.

Ax(t) = Ax(0)e-icdt where dx is x's decay constant and c is a common factor for all decay equations. This of course comes down to an iterative thing given by
Ax(t+1) = Ax(t) * (1-dx)
ie. the amplitude this time is the amplitude last time multiplied by a number slightly less than 1.

Can be downloaded as an application on download page