座標変換と回転

提供: tknotebook
移動: 案内検索

メインページ>数学の部屋#回転

座標系の定義

座標というのは空間上に定められた目盛のというか定規のようなものと考えてよいでしょう。ここではデカルト座標(直交座標)に話を絞ります。

普通に内積が定義された3次元のデカルト座標系が既にあるとします。座標系を定めるのに座標系が必要というのも困った話ですが、神が定めた座標系があると思ってください。

ここに別の座標系を定義することを考えます。

基準となる原点と、X, Y, Z方向を下の図のように定めるとデカルト座標をひとつ定義できます。

座標系の定義.png

図の点Oが座標の原点を表します。面倒なので、 ここでは 点Oは神の座標の原点と一致しているとしましょう。 {\boldsymbol e_1}, {\boldsymbol e_2}, {\boldsymbol e_3}は、x軸, y軸, z軸の方向を表す方向ベクトル(単位ベクトル)で、デカルト座標なので互いに直交しています。{\boldsymbol e_3}は、{\boldsymbol e_1}が回転して{\boldsymbol e_2}に向くとき、その回転に対して右ネジの方向に定めます。ようするに {\boldsymbol e_3}={\boldsymbol e_1} \times {\boldsymbol e_2} となるわけで、これを「右手系」といいます。

新たに定義したデカルト座標上での点の位置 {\boldsymbol r}座標値(成分)

{\boldsymbol r}=A_1{\boldsymbol e_1}+A_2{\boldsymbol e_2}+A_3{\boldsymbol e_3} ( 1 )

と定義します。つまり、A_i = {\boldsymbol r}\cdot{\boldsymbol e_i} という関係になります。

座標変換(合同変換)

次に原点が一致する、目盛の大きさが同じである2つの異なるデカルト座標系の座標変換を考えます。この変換は図形の内積を変えないのでいわゆる合同変換(鏡映、回転)になります。

座標軸の方向ベクトルの変換.png

図には xyz座標系と x'y'z' 座標系の2つが示されていますが {\boldsymbol e_1}, {\boldsymbol e_2}, {\boldsymbol e_3} が xyz座標系の座標軸の方向ベクトルを、{\boldsymbol e^'_1}, {\boldsymbol e^'_2}, {\boldsymbol e^'_3} が x'y'z'座標系の座標軸の方向ベクトルを表しています。

R_{ij} = {\boldsymbol e^'_i}\cdot{\boldsymbol e_j} ( 2 )

とし、x'y'z' 座標系の座標軸の方向ベクトル{\boldsymbol e^'_1}, {\boldsymbol e^'_2}, {\boldsymbol e^'_3}xyz座標系の成分で表すと、

{\boldsymbol e^'_1}=R_{11}{\boldsymbol e_1}+R_{12}{\boldsymbol e_2}+R_{13}{\boldsymbol e_3} ( 3 )
{\boldsymbol e^'_2}=R_{21}{\boldsymbol e_1}+R_{22}{\boldsymbol e_2}+R_{23}{\boldsymbol e_3} ( 4 )
{\boldsymbol e^'_3}=R_{31}{\boldsymbol e_1}+R_{32}{\boldsymbol e_2}+R_{33}{\boldsymbol e_3} ( 5 )

これは以下のように略記できます。

{\boldsymbol e^'_i}=\sum_{j=1}^3R_{ij}{\boldsymbol e_j} ( 6 )

ここで R_{ij}ij列の要素に持つ行列を (R_{ij}) と書くことにしましょう。

この (R_{ij}) は座標系の座標軸方向ベクトルを別の座標軸方向ベクトルへ移すための行列です。(R_{ij})の各行ベクトルは x'y'z'座標系の座標軸の方向ベクトルを xyz座標系の成分で表したものですから、各行ベクトルの大きさは1であり、各行ベクトルは互いに直交することは明らかでしょう。また逆変換は ijを入れ替えた、つまり転置になることは明らかなので、 (R_{ij})=Rとすると

{}^t\!R=R^{-1} ( 7 )

になります。

ベクトル {\boldsymbol A} を2つの座標系の成分で表すと

{\boldsymbol A}=\sum_{j=1}^3A^'_j{\boldsymbol e^'_j}=\sum_{j=1}^3A_j{\boldsymbol e_j} ( 8 )

両辺に {\boldsymbol e^'_i} をかけると

A^'_i=\sum_{j=1}^3({\boldsymbol e^'_i}\cdot{\boldsymbol e_j})A_j = \sum_{j=1}^3R_{ij}A_j ( 9 )

これを全てのiに対して行列を使って書き直すと

 
\left( \begin{array} {c} A^'_1 \\ A^'_2 \\ A^'_3\end{array}\right) =
\left( \begin{array} {ccc} R_{11} & R_{12} & R_{13} \\ R_{21} & R_{22} & R_{23} \\ R_{31} & R_{32} & R_{33}  \end{array}\right)
\left( \begin{array} {c} A_1 \\ A_2 \\ A_3\end{array}\right)
( 10 )

つまり、行列(R_{ij})は xyz座標系での座標の成分をx'y'z'座標系の成分に変換する行列でもあります。

座標軸の方向ベクトルの変換の合成

x'y'z'座標系の軸の方向ベクトルを、さらにもう一つの座標系 x''y''z'' の軸方向ベクトルに変換することを考えます。

{\boldsymbol e^{''}_1}, {\boldsymbol e^{''}_2}, {\boldsymbol e^{''}_3} が x''y''z''座標系の座標軸の方向ベクトルを表しているとすると

R^'_{ij} = {\boldsymbol e^{''}_i}\cdot{\boldsymbol e^'_j} ( 11 )

とし、x''y''z'' 座標系の座標軸の方向ベクトル{\boldsymbol e^{''}_1}, {\boldsymbol e^{''}_2}, {\boldsymbol e^{''}_3}x'y'z'座標系の成分で表すと、

{\boldsymbol e^{''}_1}=R^'_{11}{\boldsymbol e^'_1}+R^'_{12}{\boldsymbol e^'_2}+R^'_{13}{\boldsymbol e^'_3} ( 12 )
{\boldsymbol e^{''}_2}=R^'_{21}{\boldsymbol e^'_1}+R^'_{22}{\boldsymbol e^'_2}+R^'_{23}{\boldsymbol e^'_3} ( 13 )
{\boldsymbol e^{''}_3}=R^'_{31}{\boldsymbol e^'_1}+R^'_{32}{\boldsymbol e^'_2}+R^'_{33}{\boldsymbol e^'_3} ( 14 )

x''y''z'' 座標系の座標軸の方向ベクトル{\boldsymbol e^{''}_1}, {\boldsymbol e^{''}_2}, {\boldsymbol e^{''}_3}xyz座標系の成分で表すと、

{\boldsymbol e^{''}_1}=R^{''}_{11}{\boldsymbol e_1}+R^{''}_{12}{\boldsymbol e_2}+R^{''}_{13}{\boldsymbol e_3} ( 15 )
{\boldsymbol e^{''}_2}=R^{''}_{21}{\boldsymbol e_1}+R^{''}_{22}{\boldsymbol e_2}+R^{''}_{23}{\boldsymbol e_3} ( 16 )
{\boldsymbol e^{''}_3}=R^{''}_{31}{\boldsymbol e_1}+R^{''}_{32}{\boldsymbol e_2}+R^{''}_{33}{\boldsymbol e_3} ( 17 )

(R^'_{ij})=R^', (R^{''}_{ij})=R^{''}とし、式(3), (4), (5)を(12), (13), (14) に代入して注意深く行列を地道に計算して (15), (16), (17)と比較すると

R^{''} = R^'R ( 18 )

になります。これはなかなか美しい関係です。すなわち、{\boldsymbol e_1}, {\boldsymbol e_2}, {\boldsymbol e_3}{\boldsymbol e^{''}_1}, {\boldsymbol e^{''}_2}, {\boldsymbol e^{''}_3}へ移す行列R^{''}は各段階での座標軸ベクトルを移す行列の積になります。

座標軸を移す行列の例

方向ベクトル{\boldsymbol e_1}, {\boldsymbol e_2}, {\boldsymbol e_3}に対し、{\boldsymbol e^{'}_1}, {\boldsymbol e^{'}_2}, {\boldsymbol e^{'}_3}xyz座標系のz軸正方向に右ネジに\theta回転する場合、座標軸ベクトルを移す行列は


 
R^{(z)}(\theta)=
\left( \begin{array} {ccc} 
\cos\theta & \sin\theta & 0 \\
-\sin\theta & \cos\theta & 0 \\
0 & 0 & 1
\end{array}\right) ( 19 )

となります。

同様に、方向ベクトル{\boldsymbol e_1}, {\boldsymbol e_2}, {\boldsymbol e_3}に対し、 {\boldsymbol e^{'}_1}, {\boldsymbol e^{'}_2}, {\boldsymbol e^{'}_3}xyz座標系のy軸正方向に右ネジに回転する場合、座標軸ベクトルを移す行列は


R^{(y)}(\theta)=
\left( \begin{array} {ccc} 
\cos\theta & 0 & -\sin\theta \\
0 & 1 & 0 \\
\sin\theta & 0 & \cos\theta \\
\end{array}\right) ( 20 )

同様に、方向ベクトル{\boldsymbol e_1}, {\boldsymbol e_2}, {\boldsymbol e_3}に対し、 {\boldsymbol e^{'}_1}, {\boldsymbol e^{'}_2}, {\boldsymbol e^{'}_3}xyz座標系のx軸正方向に右ネジに回転する場合、座標軸ベクトルを移す行列は


R^{(x)}(\theta)=
\left( \begin{array} {ccc} 
1 & 0 & 0 \\
0 & \cos\theta & \sin\theta \\
0 & -\sin\theta & \cos\theta \\
\end{array}\right) ( 21 )

注意深く見ると、これらの行列は、3次元の内積の幾何学的な性質で紹介した回転行列と形は同じで角度の符号が逆であることがわかります。これは、座標系の回転は座標成分の逆回転だからです。


次ページ オイラー角