オイラー角と回転行列についての質問

このQ&Aのポイント
  • オイラー角について質問させて下さい。何度も質問して申し訳ないです。今ひとつ理解できていません。
  • Z-X-Zオイラー角の回転行列Rz・Rx・Rzについて、「前の2つの回転行列Rz,Rxは固定された空間座標回りの回転ではなく、回転後の新たな座標軸回りの回転を意味する。」と教えて頂きました。なぜ前の2つなのでしょうか?最初は元の座標系だから後ろの2なら分かるのですが・・・
  • そもそも、なぜオイラー角は一般的に座標系の回転を示すのでしょうか?3次元空間において、物体を回転するとき物体その物を回転しますよね?座標系を回転する方が物体を回転するよりも何かメリットがあるのでしょうか?またジンバルロックについてもご回答頂きました。ジンバルロックとは、Z-X-Zオイラー角でRxの回転角度がπや2πのとき、最初のRzと最後のRzとで回転軸が一致して3つの座標系の回転軸方向ベクトルのうちRzの2つが線形従属となってオイラー角における任意の3つの角度を決められない状態。ジンバルロックを解消するためにクォータニオンと言われる手法があるようです。ちなみに、このジンバルロックは頻発するように感じるのですが、それでも回転をオイラー角で表記するのはなぜなのでしょうか?素人考えでは最初からクォータニオンを用いれば良いのでは?と思いました。
回答を見る
  • ベストアンサー

オイラー角 回転行列

オイラー角 回転行列 オイラー角について質問させて下さい。 何度も質問して申し訳ないです。 今ひとつ理解できていません。 Z-X-Zオイラー角の回転行列Rz・Rx・Rzについて、 「前の2つの回転行列Rz,Rxは固定された空間座標回りの 回転ではなく、回転後の新たな座標軸回りの回転を意味する。」 と教えて頂きました。 なぜ前の2つなのでしょうか?最初は元の座標系だから後ろの2 なら分かるのですが・・・ そもそも、なぜオイラー角は一般的に座標系の回転を示すのでしょうか? 3次元空間(いわゆる私たちが日常過ごしている空間)において、 物体を回転するとき物体その物を回転しますよね? 座標系を回転する方が物体を回転するよりも 何かメリットがあるのでしょうか? またジンバルロックについてもご回答頂きました。 ジンバルロックに関してはおおよそ理解しました。 ジンバルロックとは、Z-X-Zオイラー角でRxの回転角度がπや2πのとき、 最初のRzと最後のRzとで回転軸が一致して3つの座標系の回転軸方向 ベクトルのうちRzの2つが線形従属となってオイラー角における任意の3つの 角度を決められない状態。 ジンバルロックを解消するためにクォータニオンと言われる手法があるようです。 ちなみに、このジンバルロックは頻発するように感じるのですが、それでも 回転をオイラー角で表記するのはなぜなのでしょうか? 素人考えでは最初からクォータニオンを用いれば良いのでは?と思いました。 以上、ご回答何卒よろしくお願い致します。

  • RY0U
  • お礼率40% (436/1071)

質問者が選んだベストアンサー

  • ベストアンサー
  • muturajcp
  • ベストアンサー率78% (505/644)
回答No.1

物体の位置座標を(x,y,z)とする W=t(x,y,z)=((x,y,z)の転置縦ベクトル)とする z軸周りの回転角度をtzとすると Rz= (cos(tz),-sin(tz),0) (sin(tz), cos(tz),0) (0......,0.......,1) x軸周りの回転角度をtxとすると Rx= (1,0......,0.......) (0,cos(tx),-sin(tx)) (0,sin(tx), cos(tx)) 位置Wにある物体をz軸周りにtz度回転した後 x軸周りにtx度回転した後 z軸周りにtz度回転すると V=Rz(Rx(Rz・W)) の位置に物体は移動するので、 回転行列の演算順序は右から左へとなり 「前の2つの回転行列Rz,Rx…」 の「前」とは「左」の事で 「左の2つの回転行列Rz,Rxは固定された空間座標回りの 回転ではなく、回転後の新たな座標軸回りの回転を意味する。」 演算順序の最初は右のRzで 左のRzは演算順序の最後となる 上に記述したtzは物体の回転角度で 座標系の回転角度は-tzとなる

RY0U
質問者

お礼

ご回答ありがとうございます。 理解できました。

関連するQ&A

  • オイラー角 回転行列

    オイラー角 回転行列 オイラー角と回転行列の関係が良く理解出来ないので 質問させて下さい。 工学や物理学で使われるオイラー角の回転順序は Z-X-Zが一般的だと認識しています。 ここで、3次元空間でのX軸、Y軸、Z軸周りの回転を 表す回転行列は、   1  0  0 Rx= 0 cosθ -sinθ 0 sinθ cosθ   cosθ 0 sinθ Ry= 0  1 0 -sinθ 0 cosθ    cosθ -sinθ 0 Rz= sinθ cosθ 0 0   0  1 です。 それぞれのθが、その軸での回転だと認識しています。 ここで、回転の方向はRxはY軸をZ軸に向ける方向、 RyはZ軸をX軸に向ける方向、RzはX軸をY軸に向ける方向。 Z-X-Zとは、 Rz・Rx・Rzの積という認識で良いでしょうか? 例えば、 Rx:Y軸をZ軸に向ける方向にπ/2 Ry:Z軸をX軸に向ける方向にπ/3 Rz:X軸をY軸に向ける方向にπ/4 回転させたとします。 Rz・Rx・Rzの積でなぜ、Ryの回転 が表現できるのですか? また、オイラー角はα,β,γと表記される事もありますが、 これは、X軸回転をα、Y軸回転をβ、Z軸回転をγで表して いるという事なのでしょうか? 分からない点だらけで申し訳御座いませんが、ご回答何卒よろしくお願い致します。

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

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

  • オイラー角

    オイラー角 オイラー角は一般的に座標系の回転を示すようですが、 なぜ座標系の回転なのでしょうか? 物体(のベクトル)の回転の方が分かりやすいです・・・ 3次元空間(いわゆる私たちが日常過ごしている空間)において、 物体を回転するとき物体その物を回転しますよね? 座標系を回転する方が物体を回転するよりも 何かメリットがあるのでしょうか? ご回答よろしくお願い致します。

  • 行列の回転とオイラー角についての問題です

    (1) 2  2  -1 2 -1  2  =P  行列Pより定まるR^3上の回転移動の回転軸を求めよ 1 -2 -2     (2)行列Qのオイラー角を求める 3 -1 2                                                  0 3 -2 1 =Q、 行列Sは(Z軸周りの回転)(Y軸周りの回転)(Z軸周りの回転)、 e=0   2 2  3                                                  1 で定める 1:Se と ^teSを求めよ 2:Qe と ^teQを求めよ これらの問題が解けません。どれか1つだけでもご教授お願い致します。

  • 回転行列から角度を求める

    3Dのプログラミングを行っていますが、ある物体から得た回転行列から、ラジアンの角度を得たいと思っています。 物体はx軸・y軸・z軸にそれぞれ未知の値で回転させられており、 この物体から得られる回転行列Rは3×3の行列として |r11 r12 r13| |r21 r22 r23| |r31 r32 r33| と与えられています。ここから、x軸・y軸・z軸にそれぞれ何度回転させられているのかを算出するにはどのようにすればいいでしょうか? 参考資料が少ないため、ご教授お願いいたしますm(_ _)m

  • 線形代数学 ベクトル(0,1,1)を軸とするθの回転を与える行列

    線形代数学を最近学び始めて、いきずまってしまいました。 任意のベクトル(でいいのかな)を軸とするθの回転を与える行列を求める問題です。 問題として 3次元ユークリッド空間に直交座標x,y,zを入れて考える。 (1)x軸の周りのπ/4だけの回転を表す行列Qを求めよ。 (2)ベクトル(0,1,1)を軸とするθの回転を与える行列Q(-1)Rz(θ)Qを計算せよ。  ※Q(-1)はQの逆行列です。Rz(θ)はz軸の周りのθ回転の行列です。 (2)がわからなくて困っています。 行列Q(-1)Rz(θ)Qという形は対角化の形に似ているのですが、 これは、対角化を考えた時に、ベクトルが(0,1,1)がx軸と直角に交わっているからQが直行行列になるのかな~とか、思うのですが、 θ回転するのに対角行列が出てくる意味が少しわからないので、 (2)でなぜ行列Q(-1)Rz(θ)Qになるのか、解説をお願いします。 ちょっとわかりにくい文章になってしまってるかもしれませんが、 申し訳ありません・・・。

  • 回転行列が分かっているとき、基準座標に対してどれだ

    回転行列が分かっているとき、基準座標に対してどれだけ動いたかどうやって調べる? 座標系0(基準座標系)と座標系1があります。 0から1へのZYXオイラー角回転行列1R0がわかっています。 このとき,座標系1であらわされた動き(加速度)a1x,a1y,a1zを座標系0で表わすにはどう計算すればいいですか? よろしくお願いします.

  • 左手系のオイラー角で説明しているのでしょうか

    オイラー角の説明で、 z軸まわりにφだけ回転させると、添付図のように (x,y,z)軸は(x',y',z')軸の位置まで運動する。 そしてこの回転による座標系の変換式は x'=xcosφ+ysinφ y’=-sinφ+ycosφ とあるのですが、これは左手系で 説明していると考えて宜しいですか。

  • 回転した座標系を基準とし、再回転したときの回転行列について

    x軸、y軸、z軸が互いに直角に交わる座標系を考えます。(これを座標系Aとします) 座標系Aを、原点を中心とし、各軸ごとにθxa,θya,θzaだけ回転させた座標系を座標系Bとします。 さらに、座標系Bを基準とし、各軸ごとにθxb,θyb,θzbだけ回転させた座標系を座標系Cとします。 このとき、座標系Aから見た座標系Cの回転角は、どのように計算すればよろしいでしょうか? 座標系Aを基準とした回転角で座標系Bを計算し、さらに座標系Aを基準とした回転角で座標系Cを計算し……という問題であれば、単純に回転行列を掛けていけばいいと思うのですが、 「1つ前の座標を基準とした回転角を与えられたとき、全体でどれだけ回転したか?」 を表現する方法がわからなかったので、ご教示いただければ幸いです。 何卒よろしくお願いいたします。

  • 任意軸回転行列の、回転量を少し減らしたいのですが…

    皆様、いつもお世話になっております。 任意軸回転行列関係でひとつ疑問が出たので質問させていただきます。 3D物理シミュレータで物体の回転を扱うときに出た疑問です。 「アクセル」という行列に、単位行列を初めとして、さまざまな任意軸回転行列を、左から掛けていきます。 これが終わると「アクセル」はある回転行列になるはずです。 次に、問題があります。「ベロシティ」という行列に、「アクセル」という回転行列を、左からそのまま掛けるのではなく、回転量をちょっと少なくした、弱い回転を、しかしながら回転軸は同じものを、掛けたいのです。 -- ・まず思いついた解決策: 回転角と回転軸を保持しておいて、ベロシティに「回転軸」と「デルタ×回転角」を掛ける、という方法。 =>しかしアクセルの時点で、行列を左から掛けていきたいので、この過程で回転角と回転軸を更新し続ける手法がわかりません。そもそも存在するのでしょうか。 ・次に思いついた方法: アクセルで左から任意軸回転行列をかけていった完成品は、これもまた任意軸回転行列のはずですから、この完成した行列から回転軸と回転角を逆算して、ベロシティに掛ける行列を「回転軸」と「デルタ×回転角」から再構成する、という方法。 =>任意軸回転行列から回転角と回転軸を逆算する方法がわかりません。 ・次に思いついた方法: 任意軸回転行列から角度と軸を逆算しなくとも、任意軸回転行列に、何かしら手を加えると、回転角度に定数を掛け、回転量を調節することができる。 =>どんな方法があるのだろうか -- これらの推測はしましたが、どれも解答にたどり着けませんでした。 どうかよろしくお願い致します。 不明な点がございましたら随時補足いたします。