我有我的模型的三维点。我有二维点-我的模型的这些三维点在平面上的投影。我想要找到3D模型的3D-仿射变换(平移、旋转和缩放),这样这个3D模型的投影就可以在平面上得到与我相同的2D点。
如果我有3D模型的2D投影点,我如何找到3D模型的3D-仿射变换?
发布于 2015-11-18 05:31:51
只需找到投影矩阵的零空间,例如,在matlab中,您可以使用u=null(P) (或者在numpy中使用Python (NumPy, SciPy), finding the null space of a matrix )。这将是一个单一的向量,因为P从3D空间向下投影一维。
满足P*A=P (其中P是投影,A是仿射变换)的仿射变换将是A=(u u…u+I),从零空间向量u形成一个矩阵,以匹配A的维度(可能是4x4,以包括平移)。
https://stackoverflow.com/questions/33766605
复制相似问题