In 1770 Leonhard Euler published a remarkable paper[1] showing how 2D,
3D, 4D and 5D rotations can be described mathematically. One of the
important theorems proven in that paper is something now called
Euler's rotation theorem. This theorem basically says that any 3D
rotation can be characterized by a minimum of 3 parameters. If we
choose those parameters such that they correlate to angles about the X,
Y and Z axes, we can construct an arbitrary 3-rotation by 'canonical'
rotations about those axes (i.e through roll, pitch and yaw rotations).

In this article we prove the generalization of Euler's rotation
theorem in N-space. We show that any N-rotation can be characterized by
a minimum of N(N-1)/2 parameters and we show how that result can be
used to construct N-rotations arbitrarily.

Before that, we must abolish the commonly held misconception that
rotations occur about an axis. The correct interpretation (one also
reflected through Clifford/Geometric Algebras) is that rotations occur
on planes. That is, a 2-space rotation takes place on the XY plane. In
right-handed 3-space, the 'X-axis rotation' is really a rotation on
the YZ-plane. The 'Y-axis' rotation is really a ZX-plane rotation
and the 'Z-axis' rotation is really an XY-plane rotation. Having
understood that, we proceed to prove the generalization of Euler's
rotation theorem.

Theorem: Every N-dimensional rotation can be described by a minimum of
N(N-1)/2 parameters.

Proof:
Let R denote the matrix-representation of the arbitrary rotation. R is
an NxN square matrix. It is known that R can always be given by the
exponentiation of an NxN skew-symmetric matrix S. That is, R = exp(s).

Since S is an NxN matrix, S has N^2 elements. Since S is
skew-symmetric, the N diagonal elements of S must all be 0 leaving us
with N^2-N unique elements.

But the skew-symmetry of S also implies that upper-triangular portion
is defined by the lower-triangular portion leaving us with only
(N^2-N)/2=N(N-1)/2 unique elements in S. It follows trivially that
only N(N-1)/2 elements are necessary to describe an arbitrary
N-rotation.
QED

Now, if we wish to also generalize Euler angles into N-space, we can
choose to correlate each of the parameters to rotation angles on the
orthogonal basis planes. That is,

(1) R(x_1, x_2, ..., x_n) = MUL(k=1..n) R_k(x_k)

Where
R_n(x_n) denotes the matrix for rotating on the n'th orthogonal
basis plane.
x_n is the angle to rotate on the n'th orthogonal basis plane

There are many possible sets of orthogonal basis planes to choose from.
In 3-space we could choose from {XY, YZ, ZX} or {XY, XZ, YZ} or {XY,
YZ, XZ}, etc. In N-space the distinction does not really matter much.
The set of planes and the order in which they are applied are thus left
to convention.

For simplicity, we can choose a regime where we permute the basis
vectors sequentially to form our set of basis planes. For example, in a
4-space with basis (X,Y,Z,W) we construct the set of basis planes as
{XY, XZ, XW, YZ, YW, ZW}. In a future article we will generalize
notions of 'handedness' into N-space which admits a unique set of basis
planes with 'nice' (but fundamentally arbitrary) geometric properties.

References:
1. Leonhard Euler (1770) PROBLEMA ALGEBRAICVM OB AFFECTIONES PRORSVS
SINGVLARES MEMORABILE. [Only registered users see links. ]

....
This is stated very high nosed - actually You don't seem to know, what
You are describing in the above sentences.

Of course math can describe rotations and ask for a generalisation of
this in a mathematical space of four or more mathematical
dimensions.Now it seems, that there are some properties known to
rotations are getting lost by your concept, isn't it?
So You from a higher level dictate that also the rotations in our
natural space must be corrected and that there are misconceptions, in
order to fit into Your concept of higher dimensions.
Just now earth is rotating You around, although You are not
perpendicular to it's (imagined) axis and You are not in a plane.
Traditionally math describes rotations of solids with axes and angles
of rotation, with 3x3 rotation matrices or with quaternions, and from
this we can not only rotate solids, but also parts of them, like
arrow-vectors, not perpendicular to the axis and also perpendicular
arrow-vectors, like planes and points.

If You had known, what You are expressing in Your sentences, You simply
had expressed, that You reduce solids out of Your considerations (and
it would be error-avoiding giving Your rotations a proper name, like
"non-solid rotations" or else).
I think i still prefer my "common misconceptions" , what rotations
"really" are, against Your "house of mathematical lords flat-land
conceptions".

Still i wish You , that You will not experience the dizziness of gimbal
lock.

This result is well-known and has been well-known for a long, long
time. The number of parameters is determined from the properties of
the group SO(p,q). Since the transformation is an anti-symmetric
matrix, the number of independent elements required to specify it is
1/2 of the total N minus the diagonal elements => (N^2 - N)/2 =
N(N-1)/2.

On 27 Nov 2006 10:21:30 -0800, [Only registered users see links. ] wrote:

In 3 dimensions you are safest if you can draw a gimbal set that
contains the order of rotation you want and rotations can be made in
any arbitrary sequence.
JP:
There's a lot of ignorance going on here. RPY are not Euler angles.
The Euler angles are defined as a ZXZ or YPY sequence, see Goldstein
Pg. 109.

JP:
You seem to be fascinated by something that can't be true even though
Euler is credited. You need 4 parameters, (x y z) to define the
rotation axis and the ANGLE.

It depends on the parameters used. On the complex XY plane the
rotation axis is obviously the z axis and rotation could be described
as rho exp itheta, so theta is a parameter.
Or you could define the rotation as between 2 vectors A and B in the
XY plane via A cross B = AB sin theta.
I think Euler also said that any combination of rotations can be
duplicated with a single axis and a single angle. It's still 4
parameters.
JP: In 4 dimensions, is there a clockwise?
John Polasek

To notate an axis of rotation in 3D one needs two (or more) parameters.
Just like a point on earth surface is described by two parameters
longitude and latitude.
The distance from the center of earth is not of concern, when we
determine the direction of this point in a coordinate system, which
matches to an axis of rotation.

The canonical rotation matrix R_n(x_n) is constructed by exponentiation
of a skew-symmetric matrix S (as we used in the proof).

For simplicity, we will rename the index 'n' into the set of basis
planes to 'ij' where 'i' denotes some basis vector and 'j' some other
basis vector such that when combined into 'ij' ij'th basis plane is
represented (i.e. the n'th plane in the set of basis planes).

The canonical rotation matrix R_n(x_n) thus becomes R_ij(x_ij) defined

(2) R_ij(x_ij) = exp( x_ij S_ij)
where
(S_ij)[i][j] = 1 and (S_ij)[j][i] = -1 and (S_ij)[_][_] = 0
for all other elements

As noted in the previous post, convention allows us various possible
definitions of the skew-symmetric matrix S. We have chosen the
definition such that it is consistent with sequential permutation of
the basis vectors (as discussed previously).

While this isn't new stuff, it is nevertheless interesting.

[Only registered users see links. ] wrote:

An example of rotation is vorticity of a fluid. This is represented by
the skew symmetric form du_i/dx_j-du_j/dx_i (here u_i is the ith
coordinate of velocity, and x_i is the ith Cartesian coordinate). In 3D
this happens to be representable as a vector, commonly called the
"curl," of the velocity field. But as you say, it is really a 2-form
(its equivalence to vector fields via Hodge duality only happens in 3D),
which as you say is really a plane.

A cute way of saying everything you say is that the Lie group SO(N) is
an N(N-1)/2 dimensional manifold. The rotations - the associated Lie
algebra of skew symmetric matrices - is also N(N-1)/2 dimensional.

On 27 Nov 2006 14:02:24 -0800, "Hero" <[Only registered users see links. ]> wrote:

(Lat, Long) is not even just a location. Properly the location would
be
(Lat - equator, Long - Prime meridian), which then becomes a pair of
vectors which are of no use for defining a rotation in azimuth at that
location. You need the radial vector for that. You need 3 parameters
to define the axis and 4 if you would include the angle of rotation.

I have made a conclusive construction on rotation. The construction
requires that we allow a series of points of a rigid body in n
dimensions to be fixed to an underlying coordinate system. The standard
Cartesian view is fine. By not concerning ouselves with the origin
being a fixed point of the transform we can allow for a translation
into the system as well. So let's say that we have an object in a
coordinated frame that we will transform into a new image where the
distance from every point of the body will be preserved to every other
point of the body. Now we begin a series of 'point fixing'. We choose a
point of the original body and assign a new position. At this stage the
body can now freely rotate about this point in any direction. Upon
fixing a second point we will find that the body rotates about an axis.
In the 3D case upon selecting a third point we will find that the body
has been sufficiently transformed i.e. every point may now be mapped.
This process dictates that in an n dimensional object has m points that
have been fixed that the degree of freedom is simply
n - m
in the context of this point fixing scenario. These points are
n-dimensional positions so their vectors informationally can form the
nxn projection matrix and were they made general(not conserving
distance) we would observe the skewing that is possible via general
values in the nxn projection matrix.

For me this is the most primitive form of perceiving rotation. It is
simply the superposition of two discrete images on a singular reference
frame using pointwise geometry. The points do have to be chosen so as
not to be colinear, coplanar, etc. but this is a trivial point. There
may be also something to say about including translation into this
mapping since we would typically not view that as within the projection
matrix would we? If there is an error in my logic above it would be
pretty easily remedied. We really have doubled the information in doing
the pointwise mapping but the degree of freedom drops as we progress
through the series and retain distance. Another thread on this topic is
at:

Multiply ( x, y, z ) with 1 / sqrt ( x² + y² + z² ) and You get an
arrow-vector into the same direction as (x, y, z ), but with length 1.
Now change this one into spherical coordinates, so You have two
parameters, two angles, just like latitude and logitude. Add the angle
of rotation makes three.
In Quaternions You have four parameters, but the total length ( sqrt of
sum of four squares)
gives scaling, so by dividing by this one three parameters are left for
rotations.

What might be irritating You ( ..."a rotation in azimuth at that
location " ), that one needs
three extra parameters, to fix the axis of rotation to a point in
space. So here You need 3 + 3 parameters.