3D回転行列 — X, Y, Z軸周りの回転

各軸の3D回転行列を理解します。回転の合成、ジンバルロックの回避、3Dグラフィックスとロボティクスでの回転行列の使用方法を学びます。

Applications

詳細な説明

3D回転行列

3Dでは、各座標軸に1つずつ、3つの基本回転行列があります。

X軸周りの回転

Rx(a) = | 1     0       0    |
        | 0   cos(a)  -sin(a) |
        | 0   sin(a)   cos(a) |

Y軸周りの回転

Ry(a) = |  cos(a)  0  sin(a) |
        |    0     1    0    |
        | -sin(a)  0  cos(a) |

Z軸周りの回転

Rz(a) = | cos(a)  -sin(a)  0 |
        | sin(a)   cos(a)  0 |
        |   0        0     1 |

回転の合成

組み合わせ回転は個々の回転の積です。行列乗算は非可換なので順序が重要です:

R = Rz(c) * Ry(b) * Rx(a)  (ZYXオイラー角)

性質

  • すべての3D回転行列の行列式 = 1
  • 直交行列: R^T = R^(-1)
  • SO(3)群(3次元特殊直交群)を形成
  • 回転の合成は別の回転になる

ジンバルロック

オイラー角(3つの軸順次回転)を使用する場合、特定の角度の組み合わせで2つの軸が揃い、1つの自由度が失われます。これをジンバルロックと呼びます。クォータニオンは回転をコンパクトに表現しながらこの問題を回避するためによく使用されます。

ユースケース

3D回転行列はコンピュータグラフィックス(カメラの動き、オブジェクトの向き)、ロボティクス(関節角度、エンドエフェクタの向き)、航空宇宙工学(航空機の姿勢)、バーチャルリアリティ(ヘッドトラッキング)、分子モデリング(可視化とドッキングのための分子構造の回転)に不可欠です。

試してみる — Matrix Calculator

フルツールを開く