Circles In Space

Most students know what the equation of a circle in the xy -plane is. But what about a circle in 3 dimensional space? That is, what is the equation of a circle in 3 dimensional space, and how do we compute angles on that circle?

The answer to these questions is given entirely by the following, easily proven theorem:

Theorem: If u and v are perpendicular and have the same length R , then

r ( t ) = ( a,b,c ) + cos( t ) u + sin( t ) v

is a circle of radius R centered at ( a,b,c ) in the plane with normal n = u x v.

Let's try it out by determining the equation of a circle of radius R in a plane with normal vector n that is centered at a point ( a,b,c ).

[Maple OLE 2.0 Object]

To do so, we first assume that n is normalized , which is to say that we assume that n is a unit vector. We also assume that n is not vertical, since then the plane would be horizontal and the equation of the circle would be easily determined (see the exercises).

First, let's define u . If n = < p,q,r >, then define u by the formula

u = <Rq/sqrt(p^2+q^2),-Rp/sqrt(p^2+q^2), 0>

Clearly, u.n = 0 , so that u is perpendicular to n . Moreover, u has a length of R .

If we now let v = n x u, then v has a length of R , is in the plane with normal n , and is perpendicular to u . Thus, these vectors u and v satisfy the hypotheses of the theorem, and as a result, the equation of the circle centered at ( a,b,c ) with radius R in the plane with normal n is given by

r ( t ) = ( a,b,c ) + cos( t ) u + sin( t ) v

Let's look at an example.

> n:=[1,1,2]: #Enter a normal vector
centPoint:=[2,1,3]: #Enter the center of the circle
R:=3: #Enter the Radius

#####Normalize n########
n:=expand(simplify(n/sqrt(innerprod(n,n)))):

#####Form Circle########
u:=[R*n[1]/sqrt(n[1]^2+n[2]^2),-R*n[2]/sqrt(n[1]^2+n[2]^2),0];
v:=convert(crossprod(u,n),'list');
r:=expand(centPoint+cos(t)*u+sin(t)*v);

>

Let's now look at the curve graphically.

> spacecurve(r,t=0..2*Pi,color=blue,scaling=constrained,axes=normal);

>

Next, let us compute the velocity and speed of r.

> v:=diff(r,t);
speed:=sqrt(simplify(innerprod(v,v)));

>

Notice that the speed is constant. Moreover, the length will be the circumference of the circle.

> L:=int(speed,t=0..2*Pi);

>

Finally, let's also obtain the unit tangent vector.

> T:=expand(v/speed);

>