ジオメトリ テンプレート エンジンを実装しようとしています。パーツの 1 つは、プロトタイプのポリゴン メッシュを取得し、インスタンス化をより大きなオブジェクト内のいくつかのポイントに合わせることです。
したがって、問題は次のとおりです。ポリゴン メッシュの頂点の一部 (おそらくすべて) の 3 次元ポイント位置が与えられた場合、変換された頂点と特定のポイント位置の差を最小限に抑えるスケーリングされた回転を見つけます。それが役立つ場合は、固定したままにできる中心点もあります。頂点と 3D 位置の対応は固定されています。
変換行列の係数を解くことでこれができると思っていますが、解くシステムを構築する方法が少しわかりません。
この例は立方体です。プロトタイプは、頂点インデックスを持つ、原点を中心とする単位立方体になります。
4----5
|\ \
| 6----7
| | |
0 | 1 |
\| |
2----3
適合する頂点の位置の例:
- v0: 1.243,2.163,-3.426
- v1: 4.190、-0.408、-0.485
- v2: -1.974、-1.525、-3.426
- v3: 0.974、-4.096、-0.485
- v5: 1.974,1.525,3.426
- v7: -1.243,-2.163,3.426
では、そのプロトタイプとそれらの点が与えられた場合、頂点とそれらの位置の間の距離を最小化する単一の倍率と、x、y、および z を中心とした回転をどのように見つけるのでしょうか? メソッドが立方体だけでなく、任意のメッシュに一般化できることが最善です。