I know how to prove the rotation matrix that from axis and angle by vector transform. But I have other thought about rotate the vector by coordinate transform. But this thought have some wrong.
First have a vector $a$ and two orthogonal coordinate $X$ and $X'$ .These coordinate bases is $B$ and $B'$
and The relation is\begin{gathered}a=Bx=B'x' \\
BT=B'\quad \{B,B',T\in \mathbb{R}^{3\times 3};B,B',T\text{ are orthogonal matrices}\}.
\end{gathered}So the coordinate value transform is$$T^{-1}x=T^{t}x=x'.$$Then rotate the $x'$ along $B'$'s first column vector $B'_{c1}$. Obviously, the operation is equal to $x'_{r_{c1}}=Rx'$ ($R$ is an orthogonal matrix).
Finally, exchange coordinate value form $X'$ to $X$\begin{split}Tx'_{r_{c1}} & =TRT^{t}x \\
& =(TRT^{t})x \\
& =R_{B'_{c1}}x.
\end{split}I find $(R_{B'_{c1}})^tR_{B'_{c1}}=I$, so $R_{B'_{c1}} $ is an orthogonal matrix.
But the rotation matrix from axis and angle is not orthogonal matrix. Why and what's wrong with my thought?
Best Answer
The rotation matrix from axis $u$ and angle $\theta$, also known as the Rodrigues' rotation matrix formula is given by
$ R = {u u}^T + (I - {u u}^T) \cos(\theta) + S_u \sin(\theta) $
where
$S_u = \begin{bmatrix} 0 && - u_z && u_y \\ u_z && 0 && - u_x \\ - u_y && u_x && 0 \end{bmatrix} $
which is the form
$ R = A + B $
with $ A = {u u}^T + (I - {u u}^T) \cos(\theta) $ is symmetric
and $ B = S_u \sin(\theta) $ is skew-symmetric
From which, taking the transpose, gives us
$ R^T = A^T + B^T = A - B $
Now
$ R^T R = (A - B)(A + B) = A^2 - B^2 + A B - B A$
we have
$A^2 = \big( {u u}^T + (I - {u u}^T ) \cos(\theta) \big) \big({u u}^T + (I - {u u}^T ) \cos(\theta) \big) \\ = {u u}^T + (I - {u u}^T ) \cos^2(\theta) $
$ B^2 = \big( S_u \sin(\theta) \big) \big( S_u \sin(\theta) \big)\\ = S_u^2 \sin^2(\theta) $
Now $S_u v = u \times v$, therfore, $S_u^2 v = u \times (u \times v) = u (u \cdot v ) - v (u \cdot u) = ( {u u}^T - I ) v $
So $ B^2 = \big( {u u}^T - I \big) \sin^2(\theta) $
$A B = \big( {u u}^T + (I - {u u}^T ) \cos(\theta) \big) \big( S_u \sin(\theta) \big) = S_u \cos(\theta) \sin(\theta)$
$BA = \big( S_u \sin(\theta) \big)\big( {u u}^T + (I - {u u}^T ) \cos(\theta) \big) = S_u \sin(\theta ) \cos(\theta) $
Hence,
$R^T R = {u u}^T + (I - {u u}^T ) \cos^2(\theta) - \big( {u u}^T - I \big) \sin^2(\theta) = I $
Hence, $R$ is an orthogonal matrix.