Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.



Re: Rotation matrix in N dimensions
Posted:
Jul 18, 2003 12:09 AM


> I'm looking for an explicit representation for a general rotation > matrix in N dimensions. I have been able to find a representation in > terms of the product of N(N1)/2 Givens rotation matrices (that being > the number of degrees of freedom for an Ndimensional rotation > matrix), but this doesn't give me easy access to the individual > elements of the final rotation matrix. Is there an explicit formula > for the individual elements?
Having gone over rotations in 2d,3d,4d and 5d space, I'd like to suggest that taking the individual axis rotations and finding their product might be the way to go here. You will have access to the individual rotation terms of the ndimensional rotation matrix, but be aware that rotations are NOT commutative.
Take for example 3d space:
We'll have 3 rotation matrices and find their product. Let
Rx =  1 0 0   0 cos(r_x) sin(r_x)   0 sin(r_x) cos(r_x) 
Ry =  cos(r_y) sin(r_y) 0   0 1 0   sin(r_y) cos(r_y) 1 
Rz =  cos(r_z) sin(r_z) 0   sin(r_z) cos(r_z) 0   0 0 1 
These are counterclockwise rotations of R_c around the axis.
There are 6 possible products of rotations: Rx*Ry*Rz Rx*Rz*Ry Ry*Rz*Rx Ry*Rx*Rz Rz*Rx*Ry Rz*Ry*Rx (they don't commute)
For 4d space http://research.microsoft.com/~hollasch/thesis/chapter2.html states that we have rotation about a plane. (this is true for 2d or 3d space also) We have six rotation matrices, not 3.
+ + + + + +  cosT sinT 0 0   1 0 0 0   cosT 0 sinT 0  sinT cosT 0 0   0 cosT sinT 0   0 1 0 0   0 0 1 0   0 sinT cosT 0   sinT 0 cosT 0   0 0 0 1   0 0 0 1   0 0 0 1  + + + + + + XY Plane YZ Plane ZX Plane
+ + + + + +  cosT 0 0 sinT   1 0 0 0   1 0 0 0   0 1 0 0   0 cosT 0 sinT   0 1 0 0   0 0 1 0   0 0 1 0   0 0 cosT sinT  sinT 0 0 cosT   0 sinT 0 cosT   0 0 sinT cosT  + + + + + + XW Plane YW Plane ZW Plane
where T is the rotation on the plane considered counterclockwise. There are 6! or 720 ways of rotating, choosing all 6 rotation matrices.
You can follow the general idea as the dimensional space increases, for creating an individual rotation matrix in nspace that only uses 2 coordinates thus allowing you to keep track of the rotation angles.
For R5 you will have 5c2 or 10 planes to rotate about. There will be 10! or 3,628,800 ways of choosing those 10 matrices.
You can see how the choices climb almost exponentially as N increases. Of course one can always add a translation too, if so desired.
(I trust the above is correct, but I fully expect flames if not)



