部門 > Three.js > 回転

「部門/Three.js/回転」の編集履歴(バックアップ)一覧に戻る

部門/Three.js/回転 - (2013/02/01 (金) 01:27:02) の編集履歴(バックアップ)


オイラー角で回転

Three.jsで物体を回転させるときに最もよく使われるのはオイラー角のもよう。オイラー角の定義は
にあるような感じで、ふつうはこれと同じようにz-x-zの順で回転すると思うんだが(ランダウの力学の定義もこうだったと思う)、
によるとx-y-zの順で回転するらしい。別の定義でオイラー角を計算し直すのはめんどうなので、Three.jsのほうでなんとかしてくれませんか。上のリンクからeulerOrder()というメソッドを使えばいいとわかっても引数をどうすればいいのか不明だったのだけど、そのままだった。
object.eulerOrder='XYZ';
のようにする。(例えば、Streaming data from Blender into Three.js (WebGL+Websockets)に載ってた。)

というはずだったんだけど、
どうもこれによるとThree.jsでの回転はあくまで元のX,Y,Z軸に対して行われて、本来の意味でのオイラー回転ではないように読めるんだけど。。。

ちなみにROOTにおける回転は、

TRotation
にあるようにz-x-zの順。よく読んだら、ランダウ-リフシッツやゴールドスタインもこれって書いてある。

参考リンク



名前:
コメント:

すべてのコメントを見る