• 締切済み

オイラー角回転後座標系の回転について

オイラー角で回転させた座標系を作成。 その座標系を更に回転させた場合の、 オイラー角を求めたいのですが、上手く行きません。 そこで質問させて下さい。 【やりたい事】 (1)まずは、右手系座標系AをZYXオイラー角(φ,θ,ψ)で回転した座標系A'を作成する。   1.最初にZ軸周りにφ回転   2.Y'軸(Y軸をZ軸周りにφ回転したもの)周りにθ回転   3.X''軸(X軸をY'軸周りにθ回転したもの)周りにψ回転 (2)次に回転後座標系A'を回転前座標系AのX軸周りにβ回転したモノを座標系A''とする。   座標系A’’のZYXオイラー角を求めたい。   (AをA''に一致する様に回転した時のZYXオイラー角を求めたいです。) 上記の様な角度は算出できるのでしょうか? 説明が分かりづらく申し訳御座いませんが、 ご回答何卒よろしくお願い致します。

みんなの回答

  • spring135
  • ベストアンサー率44% (1487/3332)
回答No.1

次の2つのurlを参照してください。 要は回転行列を掛け算していけばよいわけです (1) http://ja.wikipedia.org/wiki/%E5%9B%9E%E8%BB%A2%E8%A1%8C%E5%88%97 (2) http://www.cg.info.hiroshima-cu.ac.jp/~miyazaki/knowledge/tech07.html

hide0911
質問者

お礼

spring135様 ご回答ありがとうございます。 補足の内容に誤りがありましたので、 訂正させて下さい。 【誤】     |CφCθ      CφSθSΨ-SφCΨ        CφSθCΨ+SφSΨ       |   = |CbSφCθ+SbSθ Cb(SφSθSΨ+CφCΨ)-CbCθSΨ Cb(CφSθCΨ-CφSΨ)-SbCθCΨ |     |SbSφCθ-CbSθ Sb(SφSθSΨ+CφCΨ)+CbCθSΨ Sb(CφSθCΨ-CφSΨ)+CbCθCΨ | 【正】     |CφCθ      CφSθSΨ-SφCΨ        CφSθCΨ+SφSΨ       |   = |CbSφCθ+SbSθ Cb(SφSθSΨ+CφCΨ)-SbCθSΨ Cb(CφSθCΨ-CφSΨ)-SbCθCΨ |     |SbSφCθ-CbSθ Sb(SφSθSΨ+CφCΨ)+CbCθSΨ Sb(CφSθCΨ-CφSΨ)+CbCθCΨ | 以上、よろしくお願いします。

hide0911
質問者

補足

spring135様 早速のご回答ありがとうございます。 教えて頂いた内容を元に考えたのですが、 以下のイメージでしょうか? (文中に【質問】を書かせて頂きました。) (1)の処理は、  Rx''(Ψ):x''軸でΨ回転する回転行列  Ry'(θ):y'軸でθ回転する回転行列  Rz(φ):z軸でφ回転する回転行列  とした場合、  M=Rx''(Ψ)Ry'(θ)Rz(φ) で回転行列が求まると思いますが、 【質問1】(2)の処理は、  Rx(β):x軸でβ回転する回転行列  の場合、  M'=Rx(β)Rx''(Ψ)Ry'(θ)Rz(φ) としてよろしいのでしょうか? 【質問2】最終的なオイラー角の求め方    |CφCθ CφSθSΨ-SφCΨ  CφSθCΨ+SφSΨ| M = |SφCθ SφSθSΨ+CφCΨ CφSθCΨ-CφSΨ|    |-Sθ  CθSΨ       CθCΨ     |     |1 0   0 ||CφCθ  CφSθSΨ-SφCΨ CφSθCΨ+SφSΨ| M’ = |0 Cb -Sb||SφCθ  SφSθSΨ+CφCΨ CφSθCΨ-CφSΨ|     |0 Sb  Cb||-Sθ    CθSΨ       CθCΨ     |     |CφCθ      CφSθSΨ-SφCΨ        CφSθCΨ+SφSΨ       |   = |CbSφCθ+SbSθ Cb(SφSθSΨ+CφCΨ)-CbCθSΨ Cb(CφSθCΨ-CφSΨ)-SbCθCΨ |     |SbSφCθ-CbSθ Sb(SφSθSΨ+CφCΨ)+CbCθSΨ Sb(CφSθCΨ-CφSΨ)+CbCθCΨ | そして、求めたM'は、  座標系A→座標系A'' の回転行列なので、 求めたいオイラー角(r,p,y)をとした時に M'を以下とみなし、     |CyCp CySpSr-SyCr  CySpCr+SySr| M' = |SyCp SySpSr+CyCr CySpCr-CySr|     |-Sp  CpSr      CpCr    | から r=atan(±r32,±r33) p=atan(-r31,sqrt(r32*r32+r33*r33)) y=atan(±r21,±r11) とすれば良いのでしょうか? (p=±90°時の縮退問題はあると思いますが。) 以上、細かい点で申し訳ございませんが、 アドバイス頂けませんでしょうか。 よろしくお願いします。

関連するQ&A