【发布时间】:2013-10-06 18:35:10
【问题描述】:
我在两个不同的坐标空间(A 和 B)中有一个 3D 配对点数组。
给定点不共面,如何计算能够将点从 A 转换为 B 的非仿射变换矩阵?
我已经设法在 2D 中做到这一点(使用单应性),但无法弄清楚如何让它在 3D 中工作。如果可能的话,将非常感谢一个快速的代码示例。 :)
【问题讨论】:
标签: matrix geometry coordinate-systems homography
我在两个不同的坐标空间(A 和 B)中有一个 3D 配对点数组。
给定点不共面,如何计算能够将点从 A 转换为 B 的非仿射变换矩阵?
我已经设法在 2D 中做到这一点(使用单应性),但无法弄清楚如何让它在 3D 中工作。如果可能的话,将非常感谢一个快速的代码示例。 :)
【问题讨论】:
标签: matrix geometry coordinate-systems homography
this post 中描述的方法将推广到三个维度:如果您知道两个坐标系中五个点的坐标,那么您可以使用它们为此计算一个 4×4 投影变换矩阵,这将是唯一的除了没有几何相关性的比例因子。
我在variousposts 中包含了二维所需代码的变体,为sage 编写,还有与the description 一起提到的JavaScript 示例。这些中的任何一个都可以适应 3D 情况,但是如果您还想更改编程语言,那么您最好直接实现公式,请记住,伴随可能在几个矩阵中用作矩阵逆的替代地点。
这里有一些关于泛化到 3D 的细节:
【讨论】: