我在两个不同的坐标空间(A和B)中有一组3D配对点。
给定点不是共面的,如何计算能够将A点转换为B的非仿射变换矩阵?
我已经设法在2D中使用单应性(使用单应性),但无法弄清楚如何使其在3D中工作。如果可能的话,将非常感谢快速代码示例。 :)
答案 0 :(得分:2)
this post中描述的方法将推广到三个维度:如果您知道两个坐标系中五个点的坐标,那么您可以使用它们为此计算4×4投影变换矩阵,这将是除了没有几何相关性的比例因子外,它是唯一的。
我在various posts中添加了为sage编写的2D所需代码的变体,并且还提供了与the description一起提到的JavaScript示例。其中任何一个都可以适应3D情况,但是如果你也想改变编程语言,那么你可能最好直接实现公式,记住伴随可以作为几个矩阵的逆矩阵的替代。位置。
以下是有关3D概括的一些细节: