誰かに私の公式を教えてもらえますか? 私はローカル座標の頂点の位置を表すvector3dを持っています。この頂点がジオメトリの一部であるオブジェクトの回転と位置を表すMatrix3dがあります。この頂点のローカル位置を世界の座標?ローカル座標をワールド座標に変換する式
-1
A
答えて
0
元のvertex3dを維持するのに問題がありました。私はこの順序で演奏しました。これはうまくいきました。ここにコードがあります。私はm2.invert()を使用しなければなりませんでした。ここでのコードは次のとおりです。実際には
var m3d:Matrix3D = new Matrix3D();
obj.Transform.copyToMatrix3D(m3d);
var m2:Matrix3D = new Matrix3D();
m2.append(m3d);
m2.invert();
m2.prependTranslation(obj.BoundingBox[i].x,obj.BoundingBox[i].y,obj.BoundingBox[i].z);
obj.BoundingBox[i] = new Vector3D(m2.position.x,m2.position.y,m2.position.z);
私が最初の場所でそれをやったとしてもOKだった:
var m3d:Matrix3D = new Matrix3D();
obj.Transform.copyToMatrix3D(m3d);
m3d.invert();
obj.BoundingBox[i] = m3d.transformVector(obj.BoundingBox[i]);
私が行方不明になった唯一の事は)(反転しました。私はそれが何であるかを知りたがっています。 オブジェクト行列とそれに続く世界行列を追加しなければならないと言った人もいますが、世界行列を追加するだけで問題が生じました。 invert();それはいいのですが、なぜですか?
ベスパー、あなたはそれを提案した、ありがとう、なぜですか?
私はなぜ、経験豊富な人が私に答えを与えたのか知っています。カメラはすべてが鏡を映していることを示します。あなたが左に行くと、世界は右に動いているように見えます。
関連する問題
- 1. ピクセル座標をワールド座標に変換する方法は?
- 2. OpenCv2でピクセル座標をワールド座標に変換する
- 3. Netlogoワールド座標
- 4. ローカル座標をグローバル座標に変換する
- 5. android opengl es 2.0画面座標をワールド座標に変換する
- 6. ARCoreスクリーン座標をワールド座標に合わせるOpenGL
- 7. GopenGLは、テクスチャ座標をワールド座標にアライメントします。
- 8. UIViewのスウィフト変換座標座標系
- 9. 三角測量後に地球座標をローカル座標に変換する
- 10. 座標変換
- 11. グローバル座標を文字のローカル座標とバックに変換する
- 12. コンテナの座標空間から子の座標に座標を変換する
- 13. 2Dワールドをスクリーン座標に変換する方法OpenGL
- 14. GLモデルビュー行列をワールド座標に変換する
- 15. ビューを変換する世界座標とローカル座標をクリックしますか?
- 16. ワールド座標をカメラ座標に変換するにはどうすればよいですか?
- 17. イメージ座標をデカルト座標に変換する方法
- 18. マウスリスナーの座標をグラフの座標に変換する
- 19. 画面座標をシーン座標に変換する方法
- 20. MKMapkit XY座標を緯度座標に変換する
- 21. カメラの座標をピクセル座標に変換するopencv
- 22. kinect v2の座標を別の座標に変換する
- 23. 座標ETRS89/LCCをWGS84 Lat座標に変換する
- 24. UIImageViewタッチ座標をUIImage座標に変換する
- 25. GPS座標をGoogleマップに変換する方法座標
- 26. OpenGLキャンバス座標をHTML5キャンバス座標に変換する
- 27. Python:Pymouseの座標をカメの座標に変換する方法
- 28. ピクセルへのタイル座標を地理座標に変換する
- 29. デカルト座標を極座標に変換する - Matlab
- 30. glut関数glutMouseFunc()を使ってウィンドウ座標を3Dワールド座標に変換する
私は、頂点の変換を表すMatrix3D **が必要だと思っています。次に、コンテナのMatrix3D **にそれを乗算します。https://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/ geom/Matrix3D.html#append()私はどちらがappendなのか、どれがappendeeなのかが重要だと思いますが、2つのオプションしかないので、試してみると傷つくことはありません。 – Organis
その行列がグローバル座標にある場合、その頂点のグローバル座標を取得するには、行列を逆変換し、その結果をあなたのベクトル2dに乗算する必要があります。 'matrix3D :: invert()'の結果を確認してください。間違っていると、あなたはうんざりです。 – Vesper
「頂点の変換を表すMatrix3Dが必要だと思います」 - このmatrix3dを作成するにはどうすればいいですか?次のようにします:m = new matrix3d; m..prependTranslation(v.x、v.y、v.z);またはこのようにm.position.x = v.x; m.position.y = v.y; m.position.z = v.z; ? – danielkotzer