November 29, 2015

Lissajous Curves

Lissajous Figures
Robert F Szalapski, PhD

§ 1. Introduction

Lissajous figures are created by combining a periodic motion in one direction with a periodic motion in a perpendicular direction. When the periods of motion in the two directions make a simple ratio, then a closed curve results. A couple of examples are given in Figure 1.


Figure 1.  A simple example of a Lissajous figure is a circle or an oval, but they can become increasingly complex depending upon the periods of the perpendicular motions.

You might notice that these figures were generated using a Matlab program with a simple Graphical User Interface. I will make this program available for free download on my website, The program I created allows a user to easily explore Lissajous figures as parametrized curves. It also explores the derivative curve of a Lissajous curve which is another Lissajous curve. (The program requires that you have access to Matlab which is available in many colleges and occasionally to high schools. An individual license, either commercial or student, may be purchased, but it is not inexpensive.)

To understand this article the reader should have knowledge of graphing and periodic function, i.e. sine and cosine functions. Some of the discussion around derivative curves requires basic knowledge of differential calculus. Without significant understanding it is possible to plot these curves on a graphing calculator.

§ 2. History

I first encountered Lissajous curves when learning how to use an oscilloscope in a freshman physics laboratory at the University of Minnesota. These curves can be useful for comparing two electric signals that differ by a phase or that have a simple relationship between their frequencies. More recently, when developing the Matlab program presented here, I looked up the history of these curves. I was surprised to learn on Wikipedia that they were originally investigated by an American ship’s captain, navigator and mathematician named Nathaniel Bowditch around the year 1815. Jules Antoine Lissajous wasn’t exploring them until about forty or so years later, but Monsieur Lissajous also invented a mechanical device for projecting these curves on a screen using a light source, lenses and tuning forks. An image of this device can be found a small book called Harmonograph by Anthony Ashton. A more easily tunable device called the harmonograph, which substituted a pendulum for a tuning fork, was later invented by others.

Today it is very easy to create a device to project Lissajous curves. Mount a laser pointer to a base, and use voice coils to change the pointing direction. The voice coils can be driven by a simple signal generator, and the light can be pointed at a projection screen or even a smooth wall. These curves may even more easily be plotted by a simple program or on a graphing calculator.

§ 3. Parametric Curves

Mathematically a Lissajous figure is a parametric curve; the x coordinate is given by one periodic function, and the y coordinate is given by another. One can use sine or cosine functions for this parametrization with the only difference being absorbed in a phase shift. Using time as the independent variable the parametrization may be written as

\displaystyle\left(\begin{array}[]{c}x(t)\\ y(t)\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}A_{x}\cos\left(\omega _{x}t\right)\\ A_{y}\cos\left(\omega _{y}t+\delta\right)\end{array}\right)\;.

The curve has been written as a coordinate pair of periodic functions where A_{x} and A_{y} are the amplitudes, \omega _{x} and \omega _{y} are the angular frequencies and \delta is the phase shift, a constant. Angular frequency is related to ordinary frequency by

\displaystyle\omega \displaystyle= \displaystyle 2\pi f\;,

so the parametric curve may also be represented by

\displaystyle\left(\begin{array}[]{c}x(t)\\ y(t)\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}A_{x}\cos\left(2\pi ft\right)\\ A_{y}\cos\left(2\pi ft+\delta\right)\end{array}\right)\;.

Since the period is the inverse of the frequency,

\displaystyle T \displaystyle= \displaystyle\frac{1}{f}

another representation is

\displaystyle\left(\begin{array}[]{c}x(t)\\ y(t)\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}A_{x}\cos\left(\frac{2\pi t}{T}\right)\\ A_{y}\cos\left(\frac{2\pi t}{T}+\delta\right)\end{array}\right)\;.

The above parameterizations are important when considering, for example, the properties of electric signals. However, if we are classifying curves according to their projections on a screen we are not able to distinguish whether the curve has been retraced once per second or a thousand times per second. In this case we may simply use

\displaystyle\left(\begin{array}[]{c}x(\theta)\\ y(\theta)\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}A_{x}\cos\left(n_{x}\theta\right)\\ A_{y}\cos\left(n_{y}\theta+\delta\right)\end{array}\right)\;,

where n_{x} and n_{y} are integers. As \theta undergoes one cycle from 0 to 2\pi, x(\theta) undergoes n_{x} full cycles, and y(\theta) undergoes n_{y} full cycles.

§ 4. Examples of Lissajous Curves

§ 4.1. Point

Consider the case case n_{x}=0 and n_{y}=0. Because \cos(0)=0,

\displaystyle\left(\begin{array}[]{c}x(\theta)\\ y(\theta)\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}A_{x}\\ A_{y}\cos\left(\delta\right)\end{array}\right)\;.

Because \delta is a constant, this case reduces to a fixed point in the x-y plane.

§ 4.2. Line Segments

When n_{x}=1 and n_{y}=0,

\displaystyle\left(\begin{array}[]{c}x(\theta)\\ y(\theta)\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}A_{x}\cos\left(\theta\right)\\ A_{y}\cos\left(\delta\right)\end{array}\right)\;.

Because \delta is a constant, this is simply a horizontal line segment.
If instead n_{x}=0 and n_{y}=1,

\displaystyle\left(\begin{array}[]{c}x(\theta)\\ y(\theta)\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}A_{x}\\ A_{y}\cos\left(\theta+\delta\right)\end{array}\right)\;.

Because \delta is a constant, this is simply a vertical line segment.

§ 4.3. Circles and Ellipses

When n_{x}=1, n_{y}=1, \delta=\frac{\pi}{2} and the amplitudes are equal, A_{x}=A_{y}=A,

\displaystyle\left(\begin{array}[]{c}x(\theta)\\ y(\theta)\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}A\cos\left(\theta\right)\\ A\cos\left(\theta+\frac{\pi}{2}\right)\end{array}\right)
\displaystyle= \displaystyle\left(\begin{array}[]{c}A\cos\left(\theta\right)\\ -A\sin\left(\theta\right)\end{array}\right)\;,

and the curve that results is a circle. See Figure 2.

Figure 2.  With equal amplitudes and n_{x}=1, n_{y}=1 and \delta=\frac{\pi}{2} the resulting curve is a circle.

If the amplitudes are different, the curve that results is an ellipse. Changing the phase rotates the ellipse. See Figure 3.


Figure 3.  Changing the amplitudes turns a circle into an ellipse, and changing the phase rotates its major axis.

§ 4.4. More Complex Figures

Changing the ratio of n_{x} and n_{y} leads to a different number of oscillations in each the horizontal and vertical direction. Notice that we are only interested in n_{x}/n_{y} in its reduced form. The reader can verify that multiplying both n_{x} and n_{y} by the same number does not lead to a figure that appears different; rather it only changes the frequency with which the figure is drawn. The two cases n_{x}/n_{y}=3/5, \delta=\pi/2 and n_{x}/n_{y}=17/19, \delta=\pi/4 are shown in Figure 4.


Figure 4.  Changing the ratio of n_{x} and n_{y} leads to more complex and interesting curves.

§ 5. Derivative Curves

To obtain derivative curves, differentiate each coordinate, x and y, with respect to the independent variable. Using the parameterization by the angle \theta,

\displaystyle\left(\begin{array}[]{c}\frac{dx}{d\theta}\\ \frac{dy}{d\theta}\end{array}\right) \displaystyle= \displaystyle\left(\begin{array}[]{c}-n_{x}A_{x}\sin\left(n_{x}\theta\right)\\ -n_{y}A_{y}\sin\left(n_{y}\theta+\delta\right)\end{array}\right)
\displaystyle= \displaystyle\left(\begin{array}[]{c}-n_{x}A_{x}\cos\left(n_{x}\theta-\frac{\pi}{2}\right)\\ -n_{y}A_{y}\cos\left(n_{y}\theta+\delta-\frac{\pi}{2}\right)\end{array}\right)\;,

which is just another Lissajous curve with different amplitudes and a phase shift. The phase shift is not all that apparent when a complete figure is viewed. Two examples are presented in Figure 5. One feature of the Graphical User Interface is the Plot Derivative check box which triggers the presentation of the derivative curve on the same plot as the original curve. There is also a Plot at Angle slider which places a dot on the curve at the point that corresponds to the specified angle, and it plots the corresponding point on the derivative curve. In other words, the dot on the derivative curve indicates the slope of the tangent line for the point indicated by a dot on the original curve. The Matlab program provided is useful for exploring the relationship between the original curve and its derivatives.


Figure 5.  Two Lissajous curves along with their derivative curves.

§ 6. Matlab Program

The Matlab program is called LissajousPlot and is contained in the single M-Code file LissajousPlot.m which may be downloaded below. Once it has been placed in a directory on your Matlab path, simply enter the name of the command at the prompt in your Matlab command window:

>> LissajousPlot;

When the Graphical User Interface appears, enter parameter values in the fields in the Controls panel. The notation is defined by the equation in the title of the plot, and the labels on the x and y axes are updated to reflect the curves that are currently plotted. Be sure to explore the menus Graph, Print and Help on the menu bar. There is an additional feature that is available by pressing the right mouse button while the pointer is over the point on the plot indicated with a large dot. The coordinates of that point will be displayed. Note that this is the point associated with the Plot at Angle value on the Controls panel. See Figure 6.


Figure 6.  A right mouse click on the highlighted point displays its coordinates.

Because both the point and its derivative associated with the Plot at Angle value are indicated with a special dot, it is easy to obtain both the coordinate point on the Lissajous curve and the slope of the curve at that same coordinate point.

A very simple set of instructions may be revealed under the Help menu. See Figure 7.

Figure 7.  Help is available from the Help menu on the menu bar.

Hopefully the Graphical User Interface is reasonably intuitive.


Download LissajousPlot


This program has also been submitted to the Matlab Central File Exchange via the MathWorks web site.


Forgot Password?

Join Us

Password Reset
Please enter your e-mail address. You will receive a new password via e-mail.