第15回 任意の回転軸の周りの回転

オンデマンドで受講する場合は、本題に入る前に必ず連絡の動画を見てください。

回転軸の方向ベクトル

概要

動画の解説を参照

前回の (6) の回転行列
\( \boldsymbol{Q}(\boldsymbol{n}, \theta) = \begin{pmatrix} 1&0&0&0\\ 0& \cos\theta+n_x^2(1-\cos\theta)& n_xn_y(1-\cos\theta)-n_z\sin\theta& n_zn_x(1-\cos\theta)+n_y\sin\theta\\ 0& n_xn_y(1-\cos\theta)+n_z\sin\theta& \cos\theta+n_y^2(1-\cos\theta)& n_yn_z(1-\cos\theta)-n_x\sin\theta\\ 0& n_zn_x(1-\cos\theta)-n_y\sin\theta& n_yn_z(1-\cos\theta)+n_x\sin\theta& \cos\theta+n_z^2(1-\cos\theta) \end{pmatrix}\cdots(6) \)
の \(\boldsymbol{n}\) は回転軸の向きを表す単位ベクトルで
\(n_x^2+n_y^2+n_z^2=1\)
を満たします。これを第4回でみた極座標系
\(x=r\sin\theta\cos\phi\)
\(y=r\sin\theta\sin\phi\)
\(z=r\cos\theta\)

で表してみましょう。
ただし、(6)式の \(\theta\) との混同を避けるため、\(\theta\) → \(\alpha\), \(\phi\) → \(\beta\) のように別の変数を使うことにします。
\(\boldsymbol{n}\) の大きさは 1 なので
\(n_x=\sin\alpha\cos\beta\)
\(n_y=\sin\alpha\sin\beta\)
\(n_z=\cos\alpha\)
のようになります。

課題1

※ 準備 : 学籍番号を入れて「入力」をクリック (タップ) してください。


\(\alpha\), \(\beta\) の場合の \(\boldsymbol{n}\) を求めてください。
ただし、成分は四捨五入して小数第2位までにしてください。

課題1解説

※ 解説動画は3つの成分を求めて終わっていますが、課題に対する解答は \(\boldsymbol{n} = (\hspace{15pt}, \hspace{15pt},\hspace{15pt})\) のような形です。詳しくは課題2解説を最後まで見てください。

行列を使った回転

概要

動画の解説を参照

回転の前後の四元数を
\(\boldsymbol{p}=(0, x, y, z)\)
\(\boldsymbol{p}'=(0, x', y', z')\)
とすると、
\(\boldsymbol{p}'^T=\boldsymbol{Q}(\boldsymbol{n}, \theta)\boldsymbol{p}^T\)
のように行列の積の形で書けます。
右辺は 4行4列の行列と4行の列ベクトルの積ですが、\((x, y, z)\) から \((x', y', z')\) への変換を行うには3つの成分だけ考えれば十分です。
\(\boldsymbol{r}\equiv(x, y, z)\)
\(\boldsymbol{r}'\equiv(x', y', z')\)
\( \begin{eqnarray} \boldsymbol{R}(\boldsymbol{n}, \theta) &\equiv& \begin{pmatrix} R_{xx}& R_{xy}& R_{xz}\\ R_{yx}& R_{yy}& R_{yz}\\ R_{zx}& R_{zy}& R_{zz} \end{pmatrix}\\ \\ &=& \begin{pmatrix} \cos\theta+n_x^2(1-\cos\theta)& n_xn_y(1-\cos\theta)-n_z\sin\theta& n_zn_x(1-\cos\theta)+n_y\sin\theta\\ n_xn_y(1-\cos\theta)+n_z\sin\theta& \cos\theta+n_y^2(1-\cos\theta)& n_yn_z(1-\cos\theta)-n_x\sin\theta\\ n_zn_x(1-\cos\theta)-n_y\sin\theta& n_yn_z(1-\cos\theta)+n_x\sin\theta& \cos\theta+n_z^2(1-\cos\theta) \end{pmatrix} \end{eqnarray} \)
とすれば
\(\boldsymbol{r}'^T=\boldsymbol{R}(\boldsymbol{n}, \theta)\boldsymbol{r}^T\)
つまり
\(x'=R_{xx}x+R_{xy}y+R_{xz}z\)
\(y'=R_{yx}x+R_{yy}y+R_{yz}z\)
\(z'=R_{zx}x+R_{zy}y+R_{zz}z\)
が成り立ちます。

課題2

\(\boldsymbol{r}\) を課題1の \(\boldsymbol{n}\) の方向の軸の周りに \(\theta\) 回転させた点の座標 \(\boldsymbol{r}'\) を求めてください。
ただし、成分は四捨五入して小数第2位までにしてください。

課題2解説

課題

課題解答