読者です 読者をやめる 読者になる 読者になる

ぬうぱんの備忘録

技術系のメモとかいろいろ

作った曲一覧はこちら

右手系と左手系と回転の話

TODO

まぎらわしいよね

 3次元の回転行列とクォータニオンオイラー角の3つの話でもすでにめんどくさいのにそれに右手系と左手系の話が入ってくるともう脳細胞の活動が止まって気持ちええんじゃ。ということで、ここらへんのよく知られている事実をまとめてみようと思います。

右手系と左手系の違い

X軸とY軸が同じ向きで、Z軸だけが逆を向いている、とする。

行列・ベクトルの積については

  • <右手系>列ベクトルに左から行列をかける
  • <左手系>行ベクトルに右から行列をかける

とする。

右からかける系と左からかける系の相互変換

行列を転置すればOK

TODO : くわしく

回転行列の逆行列は転置行列

回転行列は転置で逆行列が求まります。正確には「逆行列=転置行列」を満たす行列を直交行列と言って、回転行列はこの条件をみたします。
また、直交行列は

  • <右手系>各列のベクトルは互いに直交
  • <左手系>各行のベクトルは互いに直交

という性質を持ちます。

回転行列は基底ベクトルのあつまり

  • <右手系> 回転行列の各列のベクトルは回転後の座標系の基底ベクトル
  • <左手系> 回転行列の各行のベクトルは回転後の座標系の基底ベクトル

「ほげほげ座標系の基底ベクトル」というのはほげほげ座標系の各軸に沿う方向ベクトルのことです。
3次元の回転行列だと、回転後のXYZ軸に沿う3本の単位ベクトルのことで、この3つのベクトルは互いに直交します。
そして、互いに直交する3つの単位ベクトルの場合、基本ベクトルと呼びます。

つまり、何らかの姿勢が基本ベクトルで与えられたとき、それは姿勢を表す回転行列を与えられたのと同義。その逆も同様。

位置ベクトルの右手系<->左手系相互変換

Z要素の符号を反転すればよい。

回転行列の右手系<->左手系相互変換

  • <右手系> 回転行列の3列目の符号を反転する
  • <左手系> 回転行列の3行目の符号を反転する

「Z軸基本ベクトルを反転する」と覚えればよいでしょう。

オイラー角の逆変換

X軸でx度->Y軸でy度->Z軸でz度の順番で回転させたときの逆変換は
Z軸で-z度->Y軸で-y度->X軸で-x度の順番。
回転をかける順番を逆にして、回転角度の符号を反転させる必要がある。
このとき、回転角度が(-180, +180)の範囲でなければならないことに注意。