Rodriguesの回転公式
任意の3次元vector$ rを任意の3次元単位vector$ \hat{\pmb n}周りに$ \thetaだけ回転させた3次元vector$ \pmb r'は
$ \pmb r'=\pmb r\cos\theta+(1-\cos\theta)\hat{\pmb n}\hat{\pmb n}\cdot\pmb r+(\sin\theta)\hat{\pmb n}\times\pmb r
tensor表記
$ \pmb r'=\pmb R(\pmb n,\theta)\cdot\pmb r
$ \pmb R(\pmb n,\theta):=\pmb I\cos\theta+(1-\cos\theta)\hat{\pmb n}\hat{\pmb n}-(\sin\theta)\hat{\pmb n}\cdot{\Large\pmb\epsilon}
成分表記(正規直交基底)
$ \begin{pmatrix}r_x'\\r_y'\\r_z'\end{pmatrix}=\begin{pmatrix}n_0^2(1-\cos\theta)+\cos\theta&n_0n_1(1-\cos\theta)-n_2\sin\theta&n_0n_2(1-\cos\theta)+n_1\sin\theta\\n_0n_1(1-\cos\theta)+n_2\sin\theta&n_1^2(1-\cos\theta)+\cos\theta&n_1n_2(1-\cos\theta)-n_0\sin\theta\\n_0n_2(1-\cos\theta)-n_1\sin\theta&n_1n_2(1-\cos\theta)+n_0\sin\theta&n_2^2(1-\cos\theta)+\cos\theta\end{pmatrix}\begin{pmatrix}r_x\\r_y\\r_z\end{pmatrix}
$ [\hat\bm n]=\begin{pmatrix}n_0\\n_1\\n_2\end{pmatrix}
証明
ベクトルの分解方法とかCross積のことがわかっていればすぐ求まるtakker.icon 3次元直交行列で行列式が1の場合、必ず$ \pmb R(\pmb n,\theta)で表せると予想されるが、まだ証明できていないtakker.icon