A new aspect of relative motion in two dimensions is that an observer can look in different directions -- instead of just forward and back (the distinction between positive and negative in one dimension). The effect of changing the direction in which the observer looks corresponds mathematically to a rotation of the plane. For example, if the observer at the origin turns 90 degrees clockwise, then what he or she sees seems to turn 90 degrees counterclockwise. So we need to derive what happens to the apparent positions of objects in the plane when the plane is rotated.

Here are the fomulas that describe clockwise rotation of the plane through the angle theta:

newx := t -> cos(theta)*oldx(t) + sin(theta)*oldy(t) newy := t -> -sin(theta)*oldx(t) + cos(theta)*oldy(t)

To see that this really works, let's try looking at some stationary objects -- circles (originally) centered at the points (2,0) and (0,3), of radius 1/2. These circles are given by

[2+0.5*cos(s),0.5*sin(s),s=0..2*Pi] and [0.5*cos(s),3+0.5*sin(s),s=0..2*Pi]

respectively. The first and second coordinates of each of these will be our "oldx" and "oldy", so we can define:

oldx1:=2+0.5*cos(s); oldy1:=0.5*sin(s); oldx2:=0.5*cos(s); oldy2:=3+0.5*sin(s);

Then we can animate what happens as theta increases (i.e., as the observer at the origin rotates) using the following definitions and animation. Notice that newx1, etc are defined as above.

newx1 := cos(theta)*oldx1 + sin(theta)*oldy1;

newy1 := -sin(theta)*oldx1 + cos(theta)*oldy1;

newx2 := cos(theta)*oldx2 + sin(theta)*oldy2;

newy2 := -sin(theta)*oldx2 + cos(theta)*oldy2;

animate({[newx1,newy1,s=0..2*Pi],[newx2,newy2,s=0..2*Pi]} ,theta=0..2*Pi);

Here is the Maple worksheet that implements this animation.

Let's apply the ideas of relative motion and rotation to two astronomical situations. The first is familiar to almost everyone, and the second, less well-known phenomenon is unusual and remarkable.

What's wrong with the name of this picture? It is called "Earthrise."

An astronomical fact that "everybody knows" -- and can observe -- is that the moon always presents the same face toward the earth. This is because the moon rotates as is moves around the earth, and its period of rotation is precisely the same as its period of revolution. We begin by producing an animation to illustrate this phenomenon from the point of view of the earth. The illustration will not be to scale, but will serve to indicate the motions of earth and moon from various vantage points.

Our illustration will have three components: the earth and the moon, which will be represented by circles, and the position of an object on the moon (so we can observe the moon's rotation), which will be represented by a line segment from the center of the moon through the position of the object on the moon's surface and extending somewhat into space (so as to be visible).

The earth is represented by:

earth:=[eposx+cos(s),eposy+sin(s),s=0..2*Pi];

For our first illustration, the earth will be stationary at the origin, so eposx = 0 and eposy = 0.

The moon is represented by

moon:=[mposx+0.5*cos(s),mposy+0.5*sin(s),s=0..2*Pi];

The moon will appear half as large as the earth -- as noted before, these pictures are not to scale. Also, since our first illustration will have the moon circling the stationary earth, we will have

mposx:=4*cos(t) and mposy:=4*sin(t)

At this point, if we animate,

animate({earth,moon},t=0..2*Pi);

we will see the moon circle the earth.

And here is the Maple worksheet that does this animation.

Now for the object. It is on the surface of the moon at some position -- let's say facing toward the earth. So relative to the standard polar coordinate system, its polar angle is 180 degrees (or Pi radians). The moon rotates in the same direction it revolves, and at the same angular rate. So the position of the object on the moon's surface is given by

oposx:=mposx+0.5*cos(t+Pi); oposy:=mposy+0.5*sin(t+Pi);

To draw the line from the center of the moon through the object, we define

objectline:=[s*oposx+(1-s)*mposx, s*oposy+(1-s)*mposy, s=0..2];

(We use s=0..2 so that the line extends beyond the surface of the moon out into space.) Now we can animate,

animate({earth,moon,objectline},t=0..2*Pi);

to see all three characters moving as they do from the point of view of the stationary earth. The Maple worksheet is here.

To begin to answer this question, first we correct for the revolution of the moon around the earth -- to do this, as usual, we subtract the (originally varying) position of the center of the moon from the positions of everything under consideration:

mposnewx:=mposx-mposx; mposnewy:=mposy-mposy;

(this puts the center of the moon at the origin).

eposnewx:=eposx-mposx; eposnewy:=eposy-mposy; oposnewx:=oposx-mposx; oposnewy:=oposy-mposy;

Given these definitions for the positions of the earth, the moon and the object, we can define the following for the purposes of animation:

earthnew:=[eposnewx+cos(s),eposnewy+sin(s),s= 0..2*Pi];moonnew:=[mposnewx+0.5*cos(s),mposnewy+0.5*sin(s),s=0..2*Pi]; objectlinenew:=[s*oposnewx+(1-s)*mposnewx, s*oposnewy+(1-s)*mposnewy, s=0..2];

Now, if we animate:

animate({earthnew,moonnew,objectnew},t=0..2*Pi);

we will see the moon centered at the origin and the earth will appear to circle the moon. Here is the Maple worksheet so far. But the object is still moving, since we have not yet compensated for the rotation of the moon. To do this, we will rotate eveything clockwise at precisely the same rate the moon was rotating counterclockwise --- this will have the effect of making the object stationary and we can see what happens to everything else.

So we define the positions of the earth, moon and object for the third time:

epos3x := cos(t)*eposnewx + sin(t)*eposnewy; epos3y := -sin(t)*eposnewx + cos(t)*eposnewy; mpos3x := cos(t)*mposnewx + sin(t)*mposnewy; mpos3y := -sin(t)*mposnewx + cos(t)*mposnewy; opos3x := cos(t)*oposnewx + sin(t)*oposnewy; opos3y := -sin(t)*oposnewx + cos(t)*oposnewy;

and then we define the following for the purposes of animation:

earth3:=[epos3x+cos(s),epos3y+sin(s),s= 0..2*Pi];moon3:=[mpos3x+0.5*cos(s),mpos3y+0.5*sin(s),s=0..2*Pi]; objectline3:=[s*opos3x+(1-s)*mpos3x, s*opos3y+(1-s)*mpos3y, s=0..2];

So now we can

animate({earth3,moon3,objectline3},t=0..2*Pi);