導入
数学、より正確には線形代数では、回転行列は行列式 1 を持つ直交行列であり、次の方程式で表すことができます。
これらの行列は、まさにユークリッド空間で直接(ベクトル) アイソメトリクスを表す行列です。後者はベクトル回転とも呼ばれます (そのため、「回転行列」という名前が付けられています)。これは、次元2 と 3 では、それぞれ原点を中心とした平面のアフィン回転と、原点を通過する軸を中心とした空間内のアフィン回転に対応するためです。
次元3 では、これらの行列は幾何学、物理学、コンピューター グラフィックスの計算に集中的に使用されます。
回転行列は常に正方行列であり、実際の係数を使用してアプリオリに定義されますが、上記の方程式は係数のどのフィールドでも意味を持ちます。
固定サイズのすべての回転行列のセットは、回転グループまたは特殊直交グループと呼ばれるグループを形成します。これは直交群の部分群です。
2 次元および 3 次元での回転
このセクション全体を通じて、行列が列ベクトルに作用すると考えます。
二次元では
2 次元では、回転行列は次の形式になります。
- $$ { R(\theta) = \begin{bmatrix} \cos \theta & -\sin \theta \\[3pt] \sin \theta & \cos \theta \\ \end{bmatrix} } $$(角度回転θ)
この行列は、平面を角度θだけ回転します。 x軸をy軸に向かって回転させます。
指向性のある平面内で


平面の方向に通常の規則 ( x が右方向、 y が上方向) を選択した場合、この回転は反時計回りに行われます。逆に、反対の向きを選択した場合 (たとえば、 xが右方向、 y が下方向)、この回転は時計回りに行われます。それが確かに同じ回転であると自分自身に納得させるには、透明度を通して上と下から交互に見る1 枚の紙として計画を想像するだけで済みます。
数学と物理学では、ほとんどの場合、通常の方向性に従います。一方、デジタルイメージングでは、逆の規則を採用するのが一般的です。これには、西洋文字の筆記方向 (左から右、上から下) と互換性があるという利点があります。このため、多くのソフトウェア プログラムでは回転が時計回りに行われます。
通常の計画の方向性を採用すると仮定しましょう。時計回りの回転を取得するには、単にθ を– θに置き換えます。
- $$ { R(\theta) = \begin{bmatrix} \cos \theta & -\sin \theta \\[3pt] \sin \theta & \cos \theta \\ \end{bmatrix} } $$(角度θの反時計回り)
- $$ { R(-\theta) = \begin{bmatrix} \cos \theta & \sin \theta \\[3pt] -\sin \theta & \cos \theta \\ \end{bmatrix} } $$(角度θの時計回りの回転)
通常のローテーション
90° および 180° の回転に対応する行列は特に便利です。
- $$ {\begin{alignat}{1} R(90^\circ) &= \begin{bmatrix} 0 & -1 \\[3pt] 1 & 0 \\ \end{bmatrix} \end{alignat} } $$(反時計回り90°回転)
- $$ {\begin{alignat}{1} R(180^\circ) &= \begin{bmatrix} -1 & 0 \\[3pt] 0 & -1 \\ \end{bmatrix} \end{alignat} } $$(180°回転)
- $$ {\begin{alignat}{1} R(270^\circ) &= \begin{bmatrix} 0 & 1 \\[3pt] -1 & 0 \\ \end{bmatrix} \end{alignat} } $$(時計回りに90°回転)
三次元では
基本的な行列
3 次元ユークリッド空間では、次の回転行列は、それぞれx 、 y 、 z軸の周りの回転に対応します。
- $$ {R_{{x}}(\theta) = \begin{bmatrix}1 & 0 & 0 \\ 0 & \cos \theta & -\sin \theta \\ 0 & \sin \theta & \cos \theta\end{bmatrix}} $$
- $$ {R_{{y}}(\theta) = \begin{bmatrix}\cos \theta & 0 & \sin \theta \\ 0 & 1 & 0 \\ -\sin \theta & 0 & \cos \theta\end{bmatrix}} $$
回転は次のように動作します。R x はy軸をz軸に向かって回転し、 R y はz軸をx軸に向かって回転し、 R z はx軸をy軸に向かって回転します。
空間志向で
通常の規則 ( x が前方、 y が右方、 z が上方) に従って 3 次元の空間の方向を定める場合、これらの回転は、3 番目の軸 (回転を受けない軸) が方向を向いたときに反時計回りに行われます。観察者。実際には、回転方向を決定するために右手の法則を使用できます。
一般的な場合の回転行列
他の回転行列は、行列の乗算を使用して基本回転から取得されます。たとえば、製品
- $$ {R_x(\gamma) \, R_y(\beta) \, R_z(\alpha)\,\!} $$
は、ヨー、ピッチ、ロールがそれぞれα 、 β 、 γである回転を表します。製品も同様に、
- $$ {R_z(\gamma) \, R_x(\beta) \, R_z(\alpha)\,\!} $$
は、オイラー角がα 、 β 、 γである回転を表します (オイラー角のz – x – z規則を使用)。
回転軸
3 次元の回転には軸、つまり回転によって変更されない方向があります。

回転行列からの軸
回転行列Rが与えられると、次の方程式を解くことによって、軸を方向付けるベクトルを表す列行列uを見つけることができます。
- $$ {R\textbf{u} = \textbf{u}} $$
軸と角度からの回転行列
単位ベクトルによって方向付けられた軸の周りの回転行列R を計算できます。
- $$ {R = \begin{bmatrix} u_x^2+(1-u_x^2)c & u_x u_y(1-c)-u_zs & u_x u_z(1-c)+u_ys \\[3pt] u_x u_y(1-c)+u_zs & u_y^2+(1-u_y^2)c & u_y u_z(1-c)-u_xs \\[3pt] u_x u_z(1-c)-u_ys & u_y u_z(1-c)+u_xs & u_z^2+(1-u_z^2)c \end{bmatrix}} $$
または
- $$ {c = \cos\theta, \qquad s = \sin\theta} $$
3 次元空間が従来の方法で方向付けられている場合、この回転は、方向ベクトルが次のように配置された観察者にとっては反時計回りになります。
軸と角度の公式の簡略化された形式
この式は次のように簡略化できます。
- $$ {R = P +(I-P)\cos \theta + Q\,\sin \theta} $$
または
- $$ {P = \begin{bmatrix} u_x^2 & u_x u_y & u_x u_z \\[3pt] u_x u_y & u_y^2 & u_y u_z \\[3pt] u_x u_z & u_y u_z & u_z^2 \end{bmatrix} = \textbf{u} \, \textbf{u}^t,\qquad I = \begin{bmatrix} 1 & 0 & 0 \\[3pt] 0 & 1 & 0 \\[3pt] 0 & 0 & 1 \end{bmatrix},\qquad Q = \begin{bmatrix} 0 & -u_z & u_y \\[3pt] u_z & 0 & -u_x \\[3pt] -u_y & u_x & 0 \end{bmatrix} } $$
I は3 × 3 の単位行列です。 Q行列は の反対称表現です。
高次元の落とし穴
上記は任意の次元 n に一般化できます。回転の「軸」は、すべてのベクトルが回転によって固定される次元 n-2 のベクトル部分空間になります。このような部分空間 A では、共通の「軸」A の回転は、回転に直交する平面の回転に対応します。この軸(そして同じ方法で構成されます)。
しかし、3 を超える次元では、回転が必ずしもこの形式になるわけではないという新しい事実があります (つまり、その固定ベクトルの部分空間は、厳密に n-2 よりも小さい次元になる可能性が十分にあります)。それは、回転の積にすぎません。このフォーム (以下の例を参照)。
