Reference Note: Lissajous' Figures

A static shot of the moving trace as generated by Robert John Morton's Lissajous Figures applet. A static shot of the moving trace as generated by Robert John Morton's track recorder test applet.
[Português]

[To run these animations, please see the end of this page.]

The simplest Lissajous figure is an ellipse created by sweeping the angle Ø through a complete circle (0 to 2π radians) in the equations:

X = R.sin(Ø) and Y = R.sin(k.Ø + Þ).

The shape of the ellipse varies with Þ. When Þ = 0, the 'ellipse' is simply a straight line. As Þ increases, the line widens into an ellipse which becomes a circle when Þ reaches ½π. As Þ increases beyond ½π, the 'ellipse' gradually narrows until it closes back on to a straight line again when Þ reaches π. This repeats as Þ moves from π back round to zero again.

The applet on the left animates this whole process by sweeping Ø through a full cycle every ¼ second while at the same time advancing Þ by 2 degrees.

The single ellipse results when k = 1 in the equation Y = R.sin(k.Ø + Þ). The double ellipse figure is produced by making k = 2.

My first encounter with Lissajous figures was in connection with my interest in radio while still at school. I used an oscilloscope to compare the frequency and phase — and hence the stability — of an unknown signal on the Y-axis against a known stand­ard frequency on the X-axis. This resulted in a display of the familiar flickering ellipse. I was thus able to adjust the standard frequency source until the ellipse slowed down and closed into a stable line at 45° at which point the frequencies were the same and in phase. I later went into the use of Lissajous figures more deeply while at college as part of my applied physics curriculum.

One of my key strengths has always been my ability to spot the potential good use of a principle or technique from one branch of engineering in another one. An ex­ample of this was my use of Lissajous figures to test the linearity of the servo motors and data communication channels of a wide area track recorder connected to a flight simulator.

Track Recorder Test Program

The vertical recording surface of the track recorder was a sheet of back-lit perspex about 5 feet square on which a chart was mounted. The ground track of the sim­u­lated aircraft was traced on the chart by a drawing pen mounted on a vertical gan­try. The pen was driven along the gantry arm by a servo motor thus giving the pen vertical motion (along the Y axis). This corresponded to North-South motion on the chart. The gantry itself was driven horizontally by another servo motor thus giving the pen motion (along the X axis). This corresponded to East-West motion on the chart. The pen's position was monitored by an X-Y resolver whose output was fed to the flight simulator. The pen's motion servos were driven by an output from the simulator.

For the ground track of the aircraft to be accurately plotted, the pen motion had to be equal and linear along both the track recorder's axes. To test this linearity, I wrote a program to run on the flight simulator's computer. It generated one variant of Lissajous figures. What it traced on the track recorder is reproduced by the app­let on the right. Naturally this reproduction on your browser's screen will, due to its small size, be a little rough compared with the real track recorder trace.

The beauty of this test is that it provides a distributed statistical check of the whole recording surface. This is because irregularities and kinks in the smooth curves of the precessing ellipse as it is being traced out are somehow very unwelcome to the eye. Any non-linearities lurking within the dynamic ranges of analogue to digital converters, servos and resolvers are thereby exposed. It can also reveal frame slip­page or packet loss within the telemetry link connecting the track recorder to its in­formation source.

To Run These Animation Programs

You need Java installed on your computer. Then for each of the two programs:

  1. create a new folder in a convenient place.
  2. download the file lissajou.jar or trackrec.jar as appropriate.
  3. move it to your new folder.
  4. unzip the 'jar' file. [A 'jar' file is merely a 'zip' file with a '.jar' extension.]
  5. open a terminal.
  6. change directory to your new folder.
  7. enter the command: "java lissajou" or "java trtest".

Note: mainstream warnings notwithstanding, these programs will neither blow up your computer nor wreak any other kind of fanciful mischief. They simply draw graphs on your screen. In the good old days these programs simply ran embedded within the web page where their static images are now displayed. The embedded applets still run in pre-2017 versions of browsers with Java 1.6 installed and the Web Start versions still run in pre-2019 versions of browsers with Java 1.8 installed. To read the rancid history of this sad retrogression in Web functionality, please click here.

You can download the source code of the 'C' version of this program, lissajous.c, which is really the best option. Compile and run it on your own computer. The compiling and running commands are given in the header of the program. You can see directly from the source code before you compile it that it can do no harm to your computer. [Back to top.]


© October 1997 Robert John Morton | PREV | HOME