我试图实现几何模板引擎。其中一个部分是采用原型多边形网格,并将实例与大对象中的某些点对齐。解决三维多边形网格的最佳对齐问题
所以,问题是这样的:给定多边形网格中某些(可能是所有)顶点的三维点位置,找到一个缩放旋转,以最小化变换的顶点和给定点位置之间的差异。如果有帮助,我也有一个可以保持固定的中心点。 vert和3d位置之间的对应关系是固定的。
我在想这可以通过求解变换矩阵的系数来完成,但我有点不确定如何构建系统来解决。
一个例子是一个立方体。原型将是单位立方体,以原点为中心,以VERT指数:
4----5
|\ \
| 6----7
| | |
0 | 1 |
\| |
2----3
的VERT位置的一个例子,以适应:
- 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将减少垂直和那些位置之间的距离?这种方法最好是可以推广到任意网格,而不仅仅是一个立方体。
这是非常有用的,特别是对Procrustes问题的参考。当你从T,V和M移到A和B时,我有点迷惘。他们如何相互关联? – tfinniga 2009-11-19 19:05:14
对不起,A应该是V,B应该是M.我已经修复了这个问题。 – 2009-11-20 00:38:03