Re: N-Dimensional Rotation
- From: Michael Orion <beeworks@xxxxxxxxxxx>
- Date: Tue, 29 Aug 2006 17:48:00 EDT
Hi.
I was wondering, is there a general method to build
up a formula for
the rotation of an N-dimensional object about an
N-2-dimensional
"axis"? Like how one rotates 2-D objects around 0-D
points, 3-D objects
around 1-D lines, 4-D objects around 2-D planes,
etc.?
What is the rotation formula for, say, a
10-dimensional object,
ortating around all possible 9-dimensional "axes"?
What I want to do is
make a program that would show a 10-dimensional
"cube" starting
"head-on" (ie. it would first look like a bunch of
cubes nested inside
each other, although that's not what it would be),
and then start
rotating through all the axes, tumbling round and
round.
It seems there would be 24 different formulas, from
the following
sequence:
1-D means there are 0 rotations
2-D means there is 1 rotation, around the origin, o,
so 1 formula
3-D means there are 3 rotations (x, y, z) so 3
formulas
4-D means there are 6 rotations (xy, xz, xw, yz, yw,
zw) so 6 formulas
5-D means there are 9 rotations (xyz, xyw, xyv, xzw,
xzv, xwv, yzw,
yzv, zwv), so
9 formulas
What exactly would the formulas be, for each angle
a1...a24?
In 1-D there is no rotation.
In 2-D and 3-D there is one rotation. That rotation can be in any plane. In 2-D there is, of course, only one plane to choose from. In 3-D there are many. Furthermore in 3-D the axis that is orthogonal to that plane is often called the axis of rotation.
In 4-D and 5-D there are two rotations. The two rotations can be in any pair of mutually orthogonal planes. In 5-D there is one axis that is mutually orthogonal to the two planes. In some sense you could say that the two rotations are both about this one axis.
In general there are [n/2] rotations about [n/2] mutally orthogonal planes. If n is odd then there is one axis that is mutually orthogonal to these planes and which may be considered an eigen-axis of the rotations.
There is a wonderful old text on matrices that has a concise treatment of the subject.
Turnbull and Aitken, "An Introduction to the Theory of Canonical Matrices", 1961 Dover, orginally published 1932 Blackie & Son.
Let B be an orthogonal matrix. For "rotations" B is usually assumed to be a proper orthogonal matrix, i.e. det(B) = 1. The Schurr decomposition is
B = U L U^H
where L is the diagonal matrix of eigen values, U is the corresponding matrix of unit-length eigenvectors, and "^H" means hermitian (conjugate transpose). The eigenvalues all have modulus 1, and the complex eigenvalues appear in conjugate pairs (because B is real). With a little re-arranging you can write B as
B = P C P^T
where P is a proper orthogonal matrix, and C is a block diagonal matrix where each block is of the form
C_k = [ cos(theta_k) -sin(theta_k)
sin(theta_k) cos(theta_k) ]
If n is odd there is one C_k of the form C_k = 1 or -1, depending on whether B is proper or not. If n is even and B is not proper, then there is one C_k of the form
C_k = diag(1, -1)
The matrix P can be thought of as composed of adjacent pairs of vectors, where the k-th pair defines the plane of rotation for theta_k.
Hope that all makes sense. Find Turnbull and Aitken. They do a much better job of presenting the problem than I.
- MO
.
- Follow-Ups:
- Re: N-Dimensional Rotation
- From: Lee Rudolph
- Re: N-Dimensional Rotation
- References:
- N-Dimensional Rotation
- From: mike4ty4
- N-Dimensional Rotation
- Prev by Date: Re: Transforming bound space
- Next by Date: Re: To Compute ( a ^ b ) mod n
- Previous by thread: N-Dimensional Rotation
- Next by thread: Re: N-Dimensional Rotation
- Index(es):
Relevant Pages
|