No.4ベストアンサー
- 回答日時:
先ほどの回答はアルゴリズムが複雑なのでもっと簡単な方法を考えてみました。
|r11 r12 r13|
|r21 r22 r23|=A
|r31 r32 r33|
として固有ベクトル v、固有値 λに対して
(A-λE)v=0
なので固有値λ=1のときvは軸の方向なので、
|r11-1 r12 r13 |
|r21 r22-1 r23 |・v=0
|r31 r32 r33-1|
なので(ri1-1 ri2 ri3) (i=1~3)は軸の方向を向いたベクトルとvと直交します。
そこで、0でないベクトルを取ります(ここではaとします)。
この軸と直交したベクトルを行列Aで回転させて、b=Aa とします。
もとのベクトルaとbが成す角度を求めます。
b・a = |a|^2 cosθ、|b×a| = |a|^2 sinθなので、
θ=atan2(|b×a|, b・a)が求める角度になります。
どうでしょう。
この回答へのお礼
お礼日時:2009/12/29 15:30
アルゴリズムまで考えていただきありがとうございます^^;
やはり3Dプログラミングは難しいですね・・・
今まで学んだ行列の知識をフル活用しています笑
さっそく、ご提示いただいたアルゴリズムを試してみたいと思います!
ご解答、ありがとうございました。
No.3
- 回答日時:
|1 0 0 |
|0 cosθ -sinθ|
|0 sinθ cosθ|
の固有値を求めると1, exp(ix), exp(-ix)になると思います。
適当な方向に回転の軸を向けるためにこの行列をユニタリ変換で適当に基底を変えても固有値は変わらないと思います(簡単に証明できます)。
ということで、1でないどちらかの固有値の複素数としての偏角から角度が得られると思います。(もちろん2π×自然数の自由度と、軸のどちらから眺めるか=正負の自由度がありますが)
プログラミングでこの計算をするのはしんどいと思われますが、わたしなら、以下のようにやるでしょう。
|r11 r12 r13|
|r21 r22 r23|=A
|r31 r32 r33|
として固有方程式
0=det(A-xE)≡ax^3+bx^2+cx+d
の係数を求めます。
さらに一つの解は1と分かっているので
(x-1)(xの2次式)=0とできるはずです。係数の関係を求めるために
ax^3+bx^2+cx+d=(x-1)(sx^2+tx+u)=sx^3+(t-s)x^2+(u-t)x-u
とすると
s=a
t=b+a
u=c+b+a=-d (!本当?)
という関係がえられて、このs,t,uから2次方程式の解を求めて、偏角をもとめればよいかと思います。
No.1
- 回答日時:
1つ
>物体はx軸・y軸・z軸にそれぞれ未知の値で回転させられており、
x軸、y軸の2つの軸の周りの回転だけで十分任意の位置に回転できるので
z軸の周りの回転は冗長です。言い換えれば回転行列Rから2つの軸の周りの回転角の情報しか得られません。
2つ
>2軸の周りの回転の回転の順序を変えると回転行列Rが同じになりません。
つまり、回転行列Rだけの情報では、2軸の周りの回転角が一意的に決まりません。なので一意的に決まる為には、2軸の周りの回転の順序などを指定しないといけないでしょう。
まず、具体的な簡単な例を作って、その回転行列を求めて、その回転行列から回転角が決定できるかをやってみてください。
そうすれば、上述の2つの冗長性のアドバイスのことが理解できるかと思います。その結果、回転角を決定するには、どんな条件を付け加えれば良いか、目処が立つかと思います。
参考URL
http://ft-lab.ne.jp/cgi-bin/wiki.cgi?page=%A5%A2 …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 物理学 角速度ベクトルにつきまして 3 2022/08/09 15:44
- 物理学 力学の微分の質問です。 答えを教えてください。至急です。 問題1ある軸の上を並進運動している物体の位 2 2023/01/31 15:10
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- 物理学 質量 M,半径αの円板が1つの直径を固定軸として回転できるようになっている。質量mの物体が速さvで円 2 2022/10/21 20:16
- 物理学 トルク 4 2022/10/01 23:23
- 数学 x軸をまたぐ場合について考えてます。 それぞれ体積、表面積の立式は合ってますか? y=b±√(a 2 2023/05/21 17:05
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
- 物理学 長さaの軽い棒の各端に質量mの物体A,Bを取り付け、なめらかな床の上におき、これを棒の中点Oを中心と 2 2022/10/09 19:16
- 数学 回転体の問題について。 画像の(2)の問題ですが、解答には1辺を軸に回転させたものと書いてありますが 3 2023/08/22 22:06
- その他(自然科学) 信頼度がR1、R2の機器を並列に接続した場合、システム全体の信頼度はどれか。答え1-(R1)(1- 2 2023/01/15 21:45
このQ&Aを見た人はこんなQ&Aも見ています
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一次関数の回転移動について
-
エクセルで横軸の数字を縦書き...
-
回転した座標軸と一致させるた...
-
突然カーソルが手の形に…
-
クリッピングマスクの枠の外を...
-
jw_cadで消えない線があります...
-
バツ印をつけるには??(ワード)
-
jwcadで図形を簡単に水平にする...
-
エクセルの図形で弧を書く方法
-
指定範囲内で図形等を削除する...
-
エクセルで図形やワードアート...
-
Auto Cadで文字の傾きを一気に...
-
イラストレーターで辺の中心に...
-
EXCEL2013 VBA ListBox 未選択
-
in Designで一部のページにのみ...
-
Office365 のExcelでオブジェク...
-
ウィンドウ枠固定の線を非表示(...
-
テキストボックスのカーソル位...
-
google earth pro をPCで使って...
-
Photoshopで、パスを連結するに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一次関数の回転移動について
-
エクセルで横軸の数字を縦書き...
-
3次元座標を原点中心に回転したい
-
回転行列から角度を求める
-
回転中の独楽の理想的中心(点...
-
なぜ回転行列が以下のようにな...
-
オイラー角 回転行列
-
回転した座標軸と一致させるた...
-
y軸のまわり、さらにx軸のまわ...
-
3次元のガウス関数
-
計算の仕方を教えて下さい
-
平面近似式から2次元座標を求め...
-
3次元の座標変換と角度について。
-
平面図形をx軸、y軸に対して回...
-
立体図形の回転
-
座標変換
-
3次元上の任意の四角形を回転移動
-
座標変換による回転角の求め方
-
Z軸に45度回転したときの座標
-
傾けた円板を地面に沿って転が...
おすすめ情報