Rotations in nth Dimensional Space

  • Context: Graduate 
  • Thread starter Thread starter Bob65536
  • Start date Start date
  • Tags Tags
    Rotations Space
Click For Summary
SUMMARY

This discussion focuses on implementing rotations in nth dimensional space for a flash animation project using ActionScript. The user seeks to create a wireframe for an nth dimensional cube and animate its rotation, specifically about the x-y and x-z planes. The rotation matrix formula provided is R = \mathbf{u}\otimes\mathbf{u} + \cos\theta(1-\mathbf{u}\otimes\mathbf{u}) + \sin\theta[\mathbf u]_{\times}, where the challenge lies in understanding how to derive the skew-symmetric form of a vector. The discussion includes detailed explanations of skew-symmetric matrices and their association with vectors in three-dimensional space.

PREREQUISITES
  • Understanding of linear algebra concepts, particularly rotation matrices.
  • Familiarity with skew-symmetric matrices and their properties.
  • Basic knowledge of ActionScript for animation development.
  • Experience with orthographic projection techniques in computer graphics.
NEXT STEPS
  • Study the derivation of skew-symmetric matrices from vectors in linear algebra.
  • Research the implementation of rotation matrices in higher dimensions.
  • Learn about orthographic projection methods for visualizing higher-dimensional objects.
  • Explore advanced ActionScript techniques for animating complex geometries.
USEFUL FOR

This discussion is beneficial for computer graphics developers, mathematicians interested in higher-dimensional geometry, and anyone involved in animation programming using ActionScript.

Bob65536
Messages
5
Reaction score
0
Let me start by saying I do not have a lot of background in linear algebra, but I'm not afraid of learning. I am working on a flash animation with action script. That does the following:
1. Start with a point.
2. Add width so it turns into a line.
3. Rotate about the x-y plane 360 deg.
4. Add height so it turns into a square.
5. Rotate about the x-y plane 360 deg.
6. Add depth so it turns into a cube.
7. Rotate about the x-z plane 360 deg.
8. Add 4 dimensional length so it turns into a hypercube.
...
I plan on going up to about 10 dimensions before the animation ends.

I have to code to:
-Create the wire frame for an nth dimensional cube.
-Orthographic projection of the verticies into 2d space for drawing.
-Animate the new "dimension being added". The last component of the vector for each vertex starts at zero and approaches the correct value over time.

Basically the only thing I am missing is rotating the cube. I am having a hard time generalizing rotations into nth dimensional space. I came across an article on Wikipedia that looks promising at http://en.wikipedia.org/wiki/Rotation_matrix#Axis_of_a_rotation. The formula is:
[tex]R = \mathbf{u}\otimes\mathbf{u} + \cos\theta(1-\mathbf{u}\otimes\mathbf{u}) + \sin\theta[\mathbf u]_{\times}[/tex]
where
R is the rotation matrix.
u is a unit vector.
[tex]\otimes[/tex] is the outer product.
[tex][\mathbf u]_{\times}[/tex] is the skew symmetric form of u.

I do not understand though how you get the skew symmetric form of u. Reading the Wikipedia page on skew symmetric matrices does not help me understand how u goes from a vector to a square matrix. Does anybody have any tips or references that might help please?

Thanks!
 
Physics news on Phys.org
In three-dimensions we can associate a vector with a skew-symmetric matrix. A 3 by 3 matrix generally has 9 entries. But for skew-symmetric, [itex]a_{nm}= -a{mn}[/itex] we must have [itex]a_{nn}= -a_{nn}[/itex] so all diagonal entries are 0. That leaves 9- 3= 6 entries and, once we have set, say, the 3 above the diagonal, the other 3 are fixed. That is, 3 by 3 skew-symmetric matrix has 3 independent entries, just like a 3- vector. The standard way of associating a skew-symmetric matrix to a vector is to associate the [itex]n^{th}[/itex] basis vector with the matrix having 0s along the [itex]n^{th}[/itex] column and row, -1 above the diagonal and 1 below. (-1 below the axis and 1 above would also give rotations about the vector as axis but with reversed direction.)

Specifically, [itex]\vec{i}[/itex] maps to the matrix
[tex]\begin{bmatrix}0 & 0 & 0 \\0 & 0 & -1 \\ 0 & 1 & 0\end{bmatrix}[/tex]

[itex]\vec{j}[/itex] maps to the matrix
[tex]\begin{bmatrix}0 & 0 & -1 \\0 & 0 & 0 \\ 1 & 0 & 0\end{bmatrix}[/tex]

[itex]\vec{k}[/itex] maps to the matrix
[tex]\begin{bmatrix}0 & -1 & 0 \\ 1 & 0 & 0 \\0 & 0 & 0\end{bmatrix}[/itex]<br /> <br /> And so a general vector, [itex]a\vec{i}+ b\vec{j}+ c\vec{k}[/itex] maps to <br /> [tex]a\begin{bmatrix}0 & 0 & 0 \\0 & 0 & -1 \\ 0 & 1 & 0\end{bmatrix}+ b\begin{bmatrix}0 & 0 & -1 \\0 & 0 & 0 \\ 1 & 0 & 0\end{bmatrix}+ c\begin{bmatrix}0 & -1 & 0 \\ 1 & 0 & 0 \\0 & 0 & 0\end{bmatrix}[/tex][tex]= \begin{bmatrix}0 & -c & -b \\ c & 0 & -a \\ b & a & 0 \end{bmatrix}[/tex][/tex]
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 11 ·
Replies
11
Views
2K
  • · Replies 14 ·
Replies
14
Views
4K
Replies
3
Views
3K
  • · Replies 13 ·
Replies
13
Views
3K
  • · Replies 6 ·
Replies
6
Views
5K
  • · Replies 0 ·
Replies
0
Views
2K
Replies
1
Views
5K
  • · Replies 4 ·
Replies
4
Views
3K