Rotation about an arbitrary axis

The rotation about an arbitrary axis through an arbitrary point can be derived using five primitive transformations.

Background Material

We need to discuss direction cosines. Consider the following:

A vector along the axis of rotation is:

vec(v) = [a b c] = [(x'-x) (y'-y) (z'-z)]

If this vector is normalized, then it becomes the vector of direction cosines.

Properties of direction cosines:

cos(alpha) is the angle between the axis of rotation and the x-axis.

cos(alpha) = a / sqrt((x'-x)^2+(y'-y)^2+(z'-z)^2)

cos(beta) = b / sqrt((x'-x)^2+(y'-y)^2+(z'-z)^2)

cos(gamma) = c / sqrt((x'-x)^2+(y'-y)^2+(z'-z)^2)

cos(alpha)^2 + cos(beta)^2 + cos(gamma)^2 = 1

This may seem a little connfusing, so we start with realizations in 2D as follows:

If the rotation axis passes through the origin (0,0) and a point (a,b) as illustrated above:

1) What is the length of the vector along the rotation axis through (a,b) starting at the origin?

2) What are the direction cosines of the rotation axis knowing that cos(theta) = adjacent / hypotenuse?

3) If we add a point (a',b') along the axis as follows:

4) What is a vector along the axis of rotation, given points (a,b) and (a',b')?

5) What is the length of this vector?

6) What are the direction cosines?

Problem1: Assume an axis of rotation defined by the two points (3,3) and (5,5). Find the direction cosines.

Problem2: Assume an axis of rotation defined by the two points (1,2) and (4,5). Find the direction cosines.

Are the direction cosines for Problem 1 the same as Problem 2 or different? What is the explanation for your result?


©1995 Douglas J. Ryan
Douglas J. Ryan/ryand@tardis.pacificu.edu