私は、WPFで3Dオブジェクト(Model3DGroup)の中心点を変更する最善の方法に苦労しています。3D WPFオブジェクトの中心を変更する方法
私はSketchUpからモデルをエクスポートしましたが、すべて問題はありませんが、中心が外れてオブジェクトを回転させるのに問題があります。 今私は各オブジェクト自身の中心の周りにいくつかの回転を行う必要があり、どのようにそれを行うには考えがありません...
すべての提案をいただければ幸いです。ジャクソン教皇の提案を使用して
おかげ
は、私は、オブジェクトの中心点を取得するために以下のコードを使用:
var bounds = this.My3DObject.Bounds;
var x = bounds.X + (bounds.SizeX/2);
var y = bounds.Y + (bounds.SizeY/2);
var z = bounds.Z + (bounds.SizeZ/2);
var centerPoint = new Point3D(x, y, z);
その間私はすべて試してみて、移動するために、より良い解決策を見つけるてみよう目的のオフセットを指します...
これは可能な解決策のようです。しかし、私のモデルは何百ものポイントを持っています。どのようにして最大/最小延長を得るのですか? –
各点をループし、各次元の最小値と最大値を求めます。オブジェクトが静的な場合は、最初にこれを行うことができます。オブジェクトは移動しますが(シェイプは変更されません)、それらを一度計算してから、オブジェクトと同じ変換を適用して現在の値を取得できます。 –