Septimra said:
I think i see, it now, but I might need to ponder on it a little bit longer. This is really all new to me, rotations that is. I am working on a game engine and what to properly understand the mathematics of what I am using.
The message that I am getting is that quaternions and complex numbers are isomorphic to certain sets of numbers. Isomorphic mathematically means?
There are different vector spaces for matrices. You have the orthogonal, and the special orthogonal with determinant +1.
Next up there is another vector space formed by unitary vectors. That means that a matrix with complex elements where the (conjugate of the transpose * matrix) = (matrix * conjugate of the transpose) = Identity.
Therefore the connections that these numbers have with these unitary vector spaces is what allows for rotation?
Sorry, I was busy earlier and was only able to answer partially. It turns out that the quaternions are isomorphic not to numbers but to sets of matrices with complex entries. In fact, we know that all groups are isomorphic to a group of matrices with complex entries. The quaternions are isomorphic to the group:
##
\begin{array}{cccc}
1 = \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \\ \end{array} \right) &
\mathbf{i} = \left( \begin{array}{cc} i & 0 \\ 0 & -i \\ \end{array} \right) &
\mathbf{j} = \left( \begin{array}{cc} 0 & 1 \\ -1 & 0 \\ \end{array} \right) &
\mathbf{k} = \left( \begin{array}{cc} 0 & i \\ i & 0 \\ \end{array} \right)
\end{array}
##
and their additive inverses, where the ##i## inside the matrices is the imaginary unit. This a very important subgroup of ##SL_2(\mathbb{C})##. The the group operation is matrix multiplication. You should verify that the group of matrices follows the same rules as the quaternions that they represent, which verifies that they are isomorphic.
Now, we can use these matrices as a basis for a vector space over the real numbers by taking linear combinations. Consider the set of vectors
## Q = \left \{ a + b\mathbf{i} + c\mathbf{j} + d\mathbf{k} \;|\; a,b,c,d \in \mathbb R \right \} .##
You should verify that this set satisfies the axioms of a vector space (in this case over the field of real numbers). Notice that if that we let ##a=0## we have a vector in ##\mathbb{R}^3,## say ##v##. This will be important later.
Now, notice that if I write out the ##\mathbf{i,j,k}## in their matrix form and carry out the scalar multiplication and matrix addition, this set is the same as the set of (technically, still "vectors," since this is a vector space) matrices:
## \mathbf{Q} = \left \{ \left( \begin{array}{cc} a+bi & c+di \\ -c+di & a-bi \\ \end{array} \right) \;|\;a,b,c,d \in \mathbb{R} \right \} ##
For some ##u = u_x\mathbf{i}+u_y\mathbf{j}+u_z\mathbf{k}\; \in \mathbb{R}^3,## and ##\theta \in [0,2\pi) ## consider the vector ##u_\theta \in Q## given by
## u_\theta = \cos{\frac{\theta}{2}} + u_x\sin{\frac{\theta}{2}}\mathbf{i} + u_y\sin{\frac{\theta}{2}}\mathbf{j} + u_z\sin{\frac{\theta}{2}}\mathbf{k} ##
Then in ##\mathbf{Q}##, the representation of ##u_\theta## is
##\mathbf{u}_\theta = \left( \begin{array}{cc} \cos{\frac{\theta}{2}} + u_x\sin{\frac{\theta}{2}}i & u_y\sin{\frac{\theta}{2}} + u_zsin{\frac{\theta}{2}}i \\ \cos{\frac{\theta}{2}}- u_y\sin{\frac{\theta}{2}} + u_z\sin{\frac{\theta}{2}}i & \cos{\frac{\theta}{2}} - u_x\sin{\frac{\theta}{2}}i \\ \end{array} \right)##
Think back to ##v##, our vector in ##\mathbb{R}^3.## ##v##'s representation in ##\mathbf{Q}## is simply
##\mathbf{v} = \left( \begin{array}{cc} bi & c+di \\ -c+di & -bi \\ \end{array} \right) ##.
And here's where the magic happens. To rotate
any vector ##v## by ##\theta## degrees around
any axis ##u##, we just multiply matrices in ##\mathbf{Q}##:
##\mathbf{v}' = \mathbf{u}_\theta \mathbf{v} \mathbf{u}_\theta^{-1} = \mathbf{u}_\theta \mathbf{v} \mathbf{u}_{-\theta} ##,
and then rewrite it in it's vector form, which is easy.
So, what we've shown is that using the quaternions, we can write the complicated operation of vector rotation in terms of the simple notation of matrix multiplication. Formally, we've shown that the map ##\mathbf{v} \rightarrow \mathbf{u}_\theta \mathbf{v} \mathbf{u}_\theta^{-1}## defines a group action of ##\langle i,j,k \rangle## on ##\mathbb{R}^3## by conjugation, where the action is a rotation about ##\mathbf{u}## by ##\theta## radians.
This is valuable not only because we can compute the rotations more easily (especially computationally), but by replacing ##\mathbb{R}## with another field, we can begin to think about describing rotations in three dimensional vector spaces over any field, and actually extend the theory to talk about rotation in a general vector space, which is incredibly powerful.