[sci.math] N-dimensional rotation

hiebeler@csv.rpi.edu (David Hiebeler) (09/20/87)

   I have been playing around with using matrices to perform rotations on
objects defined using homogeneous-coordinates.  For example, using
  --                      --
  |  cos(O)  sin(O)  0  0  |
  | -sin(O)  cos(O)  0  0  |
  |    0       0     1  0  |
  |    0       0     0  1  |
  --                      --
  to multiply a row-vector  [ x y z 1 ] to rotate the point around the x-axis.
('O' is theta).

   What I am wondering is, how can I generalize this to N dimensions?  I can
understand the derivation of this matrix, and the ones for rotation about
y- and z-axis, but I don't know how to do this for N-D, with N >= 4.
   Can someone either show me a general derivation for N dimensions, or,
failing to do that, tell me the 4 matrices to rotate a point in 4-D about
each of the 4 orthogonal axes?  
  Any help whatsoever would be great and appreciated.

                             -D.H.
----
David Hiebeler       hiebeler@csv.rpi.edu
Troy, NY            "Illusions, Richard!  Every
                     bit of it illusions!"

lgy@pupthy2.PRINCETON.EDU (Larry Yaffe) (09/21/87)

In article <81@rpicsb8> hiebeler@csv.rpi.edu (David Hiebeler) writes:
>
>   I have been playing around with using matrices to perform rotations on
>objects defined using homogeneous-coordinates.  For example, using
>  --                      --
>  |  cos(O)  sin(O)  0  0  |
>  | -sin(O)  cos(O)  0  0  |
>  |    0       0     1  0  |
>  |    0       0     0  1  |
>  --                      --
>  to multiply a row-vector  [ x y z 1 ] to rotate the point around the x-axis.
>('O' is theta).
>
>   What I am wondering is, how can I generalize this to N dimensions?  I can
>understand the derivation of this matrix, and the ones for rotation about
>y- and z-axis, but I don't know how to do this for N-D, with N >= 4.
>   Can someone either show me a general derivation for N dimensions, or,
>failing to do that, tell me the 4 matrices to rotate a point in 4-D about
>each of the 4 orthogonal axes?  
>  Any help whatsoever would be great and appreciated.
>
>                             -D.H.
>----
>David Hiebeler       hiebeler@csv.rpi.edu
>Troy, NY            "Illusions, Richard!  Every
>                     bit of it illusions!"

    To understand how to generalize rotations (actually orthogonal
transformations) from 3 dimensions to N-dimensions, it is much better
to think of 3 dimensional rotations as not being "around an axis", but
rather as a rotations "in some plane".  In 3 dimensions, these views are
of course equivalent, but the latter viewpoint is what generalizes nicely.
Particularly simple N-dimensional rotations are rotations in a plane
containing a pair of coordinate axes.  Such a transformation matrix looks like:

                       col i    col j
                        |        |
                        v        v
                -                           -
                | 1                         |
                |   .                       |
       row i -> |     cos(T)   sin(T)       |
                |            1              |
       row j -> |    -sin(T)   cos(T)       |
                |                     1     |
                |                       .   |
                |                         1 |
                -                           -

(All suppressed matrix elements are zero.)

    An arbitrary N-dimensional orthogonal transformation may be decomposed
into a product of these primitive rotations.  Note however, that unlike
the situation in 3 dimensions, an arbitrary orthogonal transformation
is not in general given by a single rotation in some plane.  (For example,
in 4 dimensions, you can perform a rotation in the x-y plane by some angle T1,
and simultaneously, perform a rotation in the z-t plane by an independent
angle T2.)

    Numerous parameterizations of the group of all N-dimensional orthogonal
transformations (usually called O(N)) are available.  One possibility
uses a generalization of the idea of "polar coordinates".  Alternatively,
you can use an exponential parameterization: Any orthogonal transformation
(of determinant +1) can be written as the matrix exponential of an
anti-symmetric matrix.

    Most introductory books on group theory discuss these topics is (much)
greater detail.  One book I like is "Lie Groups, Lie Algebras, and Some
of Their Applications" by R. Gilmore (Wiley, 1974).  Look for topics
like "Canonical coset parameterization of classical groups".

------------------------------------------------------------------------
Laurence G. Yaffe
Department of Physics			lgy@pupthy.princeton.edu
Princeton University			...!princeton!pupthy!lgy
PO Box 708, Princeton NJ 08544		609-452-4371 or -4400