2017-05-08 329 views
0

我有一个3D对象,并希望将其全部导出。假设我有家庭照片,并且如果将它投影到2D平面上,它只会向我展示像方形的东西,但如果我改变角度,给我不同的看法(简而言之,我想要相同的3d对象的不同2D投影更好的可视化)。我正在寻找能够做到这一点的Python库或算法。请参考图清楚地知道我想要什么。 enter image description here将3D模型投影到2D平面上

+0

我正在寻找python代码。 – Renu

+0

欢迎!有很多图书馆可以做这种事情。无论如何,你的问题不清楚,也没有任何努力。如果处于对不起的状态,这可能会大幅度低估。 – Ash

+0

其实我想把3D模型投影到2D平面上。请参阅本文的图1 https://pdfs.semanticscholar.org/087d/87eb6fc37245b7867cde27235c2f23574949.pdf您将会知道我正在寻找的是什么。 – Renu

回答

0

这可以通过投影变换完成。这实际上只是两个矩阵乘法和一个除法。可能会写成一行Python。 enter image description here

右边的矢量是3D模型的许多3D顶点之一。矩阵[r_11 ... t_3]是一个刚性变换,代表您的飞机的位置和方向(有些人称之为相机姿态或外部摄像头参数)。这个矩阵你将为每个单独的投影改变。矩阵[f_x ... 1]定义投影本身并保持通常不变。在你的应用程序中,可能只是使用单位矩阵(因此,你可以忽略它)。最后一步是以变换后的方式对变换后的矢量进行缩放,使其位于图像平面上z = 1的距离。u_x和u_y是对应的2D坐标。

+0

谢谢你的回答,我只是编辑了我的问题,以便理解。给不便带来的不便 – Renu

+0

它看起来像透视投影,但我想要正交投影 – Renu

+0

正交投影很容易计算。您只需要上述转换的两个正确组件。在[r_11 ... t_3] * [A_x; A_y; A_z],只需将z分量设置为零。 – eidelen