我想把等高线上的一组参考点转换成一组对应的目标点。每个等高线共有8个点。

为了计算旋转和平移向量,我使用Math.Net数字库来执行SVD计算--这个想法来自于这个URL (第3-7页):
但不知何故,我注意到使用SVD计算结果进行的转换似乎不准确。结果如下:

转换应该将参考点尽可能地移动到目标点,但正如突出显示的那样,它会远离目标点。
此外,我还做了一个简单的测试,计算轮廓的质心并执行演绎:(TargetCentroid - RefCentroid =平移向量)。最后的转换结果与通过SVD的结果相同。
我做错什么了吗?有人能提出一个更好的解决方案,将参考点转换为目标点吗?
编辑: 1.服装从参考模型到各种目标模型的转换

发布于 2016-03-03 10:17:15
这似乎是这个问题过于复杂的解决办法。
如果你有目标点,你就可以把给定的点和它们对应的目标点联系起来。
或者,如果目标是相同的网格,但不同的尺度和旋转,你可以只需要在转换值,比例和旋转尊重,而不需要逐个遍历所有的点。
使用Vector3.Lerp
编辑:另外,lerping会导致所有点同时到达它们的目标,在大多数情况下,这就是想要的行为。
https://stackoverflow.com/questions/35767936
复制相似问题