1 回転行列の基本
回転行列は、ユークリッド空間における回転を線形変換として表した行列である。ベクトルの長さや角度を変えず、向きだけを回す変換として定義される。線形代数では直交行列の一種として扱われ、幾何学では図形の姿勢を記述する道具として重要である。
1.1 定義と幾何学的意味
回転行列とは、原点を中心とする回転を表す行列である。平面では、ある角度だけ座標系またはベクトルを回す操作に対応し、空間では特定の軸を中心とする回転を記述する。変換後も原点は不動で、直線性が保たれるため、平行移動を含む一般の剛体変換とは区別される。
1.2 直交性と内積の保存
回転行列は直交行列であり、列ベクトル同士、または行ベクトル同士が互いに直交し、長さ1をもつ。この性質により、任意の2ベクトルの内積が保存される。したがって、距離、角度、面積の局所的な尺度が変化せず、形状が歪まない変換として理解できる。
1.3 行列式と向きの保存
回転行列の行列式は通常 +1 である。これは、空間の向きを反転させず、右手系と左手系の区別を保ったまま回転することを意味する。行列式が -1 の直交行列は鏡映を含むため、厳密には回転行列と区別される。
2 2次元の回転行列
2次元では、回転行列は角度を用いて明示的に書ける。平面内の点やベクトルを、原点を中心に反時計回りまたは時計回りに回す操作が、簡潔な三角関数の式で表現される。
2.1 回転角による表現
平面上の回転は、1つの角度によって完全に決まる。角度を与えると、回転後の座標は一意に定まり、幾何学的操作と代数的表示が直接対応する。
2.1.1 回転行列の具体的な形
角度 θ の反時計回り回転は、一般に \[ \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix} \] で表される。この行列をベクトルに掛けると、各成分は三角関数の組合せで変換される。θ が 0 のときは単位行列となり、π/2 では座標軸が入れ替わる形になる。
2.1.2 作用の幾何学的解釈
この行列は、各ベクトルを原点の周囲で同じ角度だけ回す。長さは保存され、円周上の点は円周上に留まる。座標軸自体を回したとみなすこともでき、受動変換と能動変換の区別は文脈によって使い分けられる。
2.2 合成と逆行列
2次元回転では、複数の回転を続けて行うと、結果は別の1回の回転としてまとめられる。逆方向への回転も容易に定義でき、回転群の構造が現れる。
2.2.1 合成則(角の加法)
角度 θ1 の回転の後に θ2 の回転を行うと、全体としては θ1 + θ2 の回転になる。これは回転行列の積が、角度の加法に対応することを示している。三角関数の加法定理と一致するため、代数的な計算と幾何学的直観が整合する。
2.2.2 逆行列と転置の関係
2次元の回転行列では、逆行列は転置行列に等しい。つまり、逆向きの回転は角度の符号を反転させればよい。直交性により、転置を取るだけで逆変換が得られる点は、計算上の利点でもある。
3 3次元の回転行列
3次元では、回転は単一の角度だけでは定まらず、回転軸の向きと回転角の組が基本になる。さらに、表現方法も複数あり、用途に応じて使い分けられる。
3.1 回転軸と回転角
空間内の回転は、ある固定された軸のまわりに物体を回す操作として理解できる。軸に沿う成分は変わらず、軸に垂直な平面内でのみ回転が起こる。
3.1.1 回転軸の定義
回転軸とは、回転の前後で位置と向きが変わらない直線である。軸方向のベクトルは固有ベクトルとして現れ、対応する固有値は通常 1 になる。これにより、3次元回転の不動方向を代数的に捉えられる。
3.1.2 回転角による構成
3次元の回転は、軸と角度を指定することで作れる。与えられた単位ベクトルを軸として、そのまわりに角度 θ だけ回す行列を組み立てればよい。実際の記述では、軸を座標軸に合わせてから2次元回転を施し、再び戻す方法も用いられる。
3.2 ロドリゲスの公式
ロドリゲスの公式は、軸と角から3次元回転行列を直接与える標準的な式である。幾何学的にも計算的にも扱いやすく、解析や実装の両面で広く使われる。
3.2.1 外積を用いた表現
この公式では、ベクトルの回転を、軸方向成分、外積による垂直成分、そして軸への射影の3つに分けて表す。外積は回転方向を与え、式全体が回転の向きを自然に反映する。行列表示に直せば、外積演算子を含む簡潔な形になる。
3.2.2 実装上の注意
数値計算では、軸ベクトルの正規化が重要である。軸が十分に単位化されていないと、回転角の解釈や精度に影響が出る。また、角度が非常に小さい場合や π に近い場合には、丸め誤差への配慮が必要となる。
3.3 オイラー角と座標変換
オイラー角は、複数の基本回転を順に組み合わせて姿勢を表す方法である。航空、ロボット工学、コンピュータグラフィックスなどで使われる一方、順序依存性が強いという特徴もある。
3.3.1 代表的なオイラー角の系
オイラー角には、回転の順番に応じた複数の系がある。たとえば、ある座標軸の組に沿って3回の回転を行う方式が代表的で、文献や分野によって定義が異なる。したがって、同じ「オイラー角」という名称でも、どの順序を採るかを明示する必要がある。
3.3.2 ロックの概念(ジンバルロック)
ジンバルロックは、特定の角度配置で自由度が失われたように見える現象である。オイラー角の2つの回転軸が一致またはほぼ一致し、姿勢の表現が不安定になる。これは回転そのものの障害ではなく、表現法に由来する特異性である。
4 回転行列の性質と応用
回転行列は理論的性質が明快であるだけでなく、物理や工学の広い範囲で使われる。計算機実装では、数値誤差により理想的な直交性が崩れることがあるため、補正の考え方も重要になる。
4.1 固有値・固有ベクトルの理解
回転行列の固有構造は、回転の軸や不変方向を理解する手がかりになる。2次元では一般に複素固有値が現れ、3次元では回転軸に対応する実固有ベクトルが1本存在する。これにより、回転の幾何学的性質を線形代数の枠組みで解析できる。
4.2 応用:剛体運動と座標変換
回転行列は、剛体の姿勢表現や座標系の変換に欠かせない。位置を変えず向きだけを調整するため、物体の方向管理に適している。
4.2.1 変換行列としての利用
座標変換では、ある基底から別の基底へ成分を写す行列として機能する。これは能動的に物体を回す場合にも、受動的に座標軸を回す場合にも現れる。グラフィックスやロボット制御では、姿勢更新の基本部品として組み込まれる。
4.2.2 物理・工学での扱い
力学では、剛体の回転、慣性テンソルの変換、角運動の記述に用いられる。工学分野では、機械の姿勢制御、ナビゲーション、センサー座標の整合などに応用される。表現が明快で、他の姿勢表現と相互変換しやすい点が利点である。
4.3 数値計算と安定化
計算機上では、理論上の回転行列が浮動小数点誤差でわずかに崩れることがある。そのため、更新後に性質を保つための補正手法が重要になる。
4.3.1 オーソナル化と誤差管理
繰り返し計算によって直交性が失われる場合、列ベクトルを再直交化して回転行列に戻す。代表的にはグラム・シュミット法や特異値分解を利用する方法がある。これにより、累積誤差を抑え、行列式や直交条件を保ちやすくなる。
4.3.2 球面線形補間との関連(概要)
球面線形補間は、2つの姿勢の間を滑らかに補う手法で、回転の中間状態を自然に生成する。回転行列そのものを直接補間するというより、別の姿勢表現と組み合わせて利用されることが多い。アニメーションやロボットの軌道生成で、急な変化を避ける目的に適している。