2016-07-01 31 views
6

3次元プラントモデリングソフトウェアをThree.jsに書き出しようとしましたが、オブジェクトの回転と平行移動に執着しました。ジオメトリのThree.js回転と配置

これまでのところ、四元数と変換行列を使用しようとしましたが、両方の結果が満足できるものではありません。あなたは両方の輸出のコードの下を見つけることができます

enter image description here

enter image description here

私の輸出の結果はこのとおりです。私のテストのために私はもともとこのようになります単純なバイナリツリーを使用します

http://ufgb966.forst.uni-goettingen.de/three/test2Quaternion.html

http://ufgb966.forst.uni-goettingen.de/three/test2Matrix.html

私の回転は間違った点の周りに作られています。各回転は、各ジオメトリの原点を中心に行う必要があります。私が探している結果を達成する方法は何でしょうか?

+0

アプローチは[threejs.org/examples/webgl_geometry_hierarchy.html](http://threejs.org/examples/webgl_geometry_hierarchy.htmlで(ライン54から73)で撮影された検討) – gallygator

+0

@gallygatorこのアプローチは、オイラー角を用いています私は持っていないし、matirxからそれらを再計算することは通常、良い考えではありません。 –

+1

私は問題は、あなたがそのコンポーネントの部品からあなたのオブジェクトを構築した方法だと思います。目標は、世界空間で_together_を変換するコンポーネントジオメトリの_オブジェクト階層を確立することです。 – gallygator

答えて

5

あなたがまだ持っていない場合は、Using Matrices & Object3Ds in THREEとこのHow to use matrix for transformationを見てみるといいかもしれませんが、それは私を助けました。また、three.jsはおそらくあなたが知っている右手座標系を使用しています。

ブレンダーから書き出す場合は、-Z Forward、Y upを試してください。

+0

「右利き対左手座標系」の問題でした。この[行列変換](http://stackoverflow.com/a/1264880/2421048)に続いて、私の問題が解決されました。 –

0

翻訳と回転変換のシーケンスを変更する必要があります。問題は変換シーケンスにあります。

関連する問題