Dynamic construction of ellipse and other curves

This page was prompted by a letter from Richard Mickelsen:

I recently learned the following.

The sum of two counter-rotating circular vectors is an ellipse.

The extremes (circle and line segment), are easy to see. The general case was clumsy for me, but I managed to convince myself it was so. The reason I bring it to your attention are:

  1. I never encountered such a decomposition of an ellipse before, and wished to share it.
  2. The graphics are cool - I immediately thought of you.
  3. I would welcome an elegant demonstration of the equivalence.

How I got into this is through an industrial application which interprets the Fourier components from two sensors in terms of elliptical motion at a frequency, and then decomposes this into its circular components for FFT presentation. I will be happy to share more details with you if you wish.

Thanks for the math!


To make clear of what Richard was referring to, we need two things: a parametric representation of a rotating vector and the componentwise addition of vectors.

First, let's select a standard (orthogonal) system of coordinates with value on the x-axis increasing from left to right; values on the vertical y-axis increasing upwards. As usual, the angles are measured in the positive - counterclockwise - direction.

If w > 0, vector a = (r·cos(wt + f), r·sin(wt + f)) rotates in the positive direction at the rate of w with the phase shift of f. The phase shift indicates the position of the vector at time t = 0. For a vector with the initial position on the x-axis, the phase is 0. We can rotate the axes to achieve this simplification.

Two vectors rotating at the same rate in opposite directions could be taken to be

a = (r1·cos(wt + f1), r1·sin(wt + f1)) and b = (r2·cos(- wt + f2), r2·sin(- wt + f2)).

Since a and b rotate in opposite directions, they are bound to overlap at some time t = t0. Taking the position of the vectors at t0 as the point of departure, we may eliminate the phase shifts by shifting time from t to t - t0. After that change, the two phase shifts of the two vectors are equal. As before, we can rotate the axes to eliminate the common shift. This means we need only consider vectors

a = (r1·cos(wt), r1·sin(wt)) and b = (r2·cos(- wt), r2·sin(- wt)).

which won't limit the shapes of the curves at hand but only their relative position with respect to the selected system of coordinates.

Denoting a + b = (X, Y), we obtain

X = r1·cos(wt) + r2·cos(wt) = (r1 + r2)·cos(wt), and
Y = r1·sin(wt) - r2·sin(wt) = (r1 - r2)·sin(wt),

from where (X/(r1 + r2))2 + (Y/(r1 - r2))2 = 1, which is an equation of ellipse.

(The numbers in the right portion of the applet below are clickable. To reduce the value, click a little to the left of that number's vertical center line. Click a little to its right in order to increase the value.)

This applet requires Sun's Java VM 2 which your browser may perceive as a popup. Which it is not. If you want to see the applet work, visit Sun's website at https://www.java.com/en/download/index.jsp, download and install Java VM and enjoy the applet.

What if applet does not run?

Curves other than ellipse could be obtained in a similar manner as the sum of two rotating vectors. The curves will differ depending on the ratio of the radii of the vectors R = r1/r2 and that of their angular rates W = w1/w2. For W = -1 we just got an ellipse. As we saw elsewhere, for W = 2, R = 1/2, the curve is a cardioid, a member of the cycloid family. W = -2 with R = 1/2 we get a deltoid, or the Steiner curve - a hypocycloid with three cusps. Astroid is drawn with W = -3 with R = 1/3. This is a hypocycloid with 4 cusps. With W = 3 with R = 1/3, we get a nephroid - a two cusps epicycloid.