将 3D 模型投影到 2d 平面上
Projecting 3D Model onto 2d plane
我有一个 3d 对象,希望全部导出它 direction.Suppose 我有家庭图片,如果我将它投影到 2d 平面上,它只会显示像正方形的东西,但如果我改变角度,它会给我不同的视图(简而言之,我想要相同 3d 对象的不同 2d 投影以获得更好的可视化效果)。我正在寻找 python 能够执行 that.Please 参考图的库或算法,以清楚地了解我想要什么。 enter image description here
这可以通过投影变换来完成。这实际上只是两个矩阵乘法和一个除法。可能写成一行Python。
右边的矢量是您的 3D 模型的许多 3D 顶点之一。矩阵 [r_11 ... t_3] 是一个刚性变换,表示平面的位置和方向(有些人称之为相机姿势或外部相机参数)。您将为每个单独的投影更改此矩阵。矩阵 [f_x ... 1] 定义投影本身并且通常保持不变。对于您的应用程序,可能只使用单位矩阵(因此,您可以忽略它)。最后一步是以 z = 1 的距离放置在图像平面上的方式缩放变换后的矢量。u_x 和 u_y 是相应的二维坐标。
我有一个 3d 对象,希望全部导出它 direction.Suppose 我有家庭图片,如果我将它投影到 2d 平面上,它只会显示像正方形的东西,但如果我改变角度,它会给我不同的视图(简而言之,我想要相同 3d 对象的不同 2d 投影以获得更好的可视化效果)。我正在寻找 python 能够执行 that.Please 参考图的库或算法,以清楚地了解我想要什么。 enter image description here
这可以通过投影变换来完成。这实际上只是两个矩阵乘法和一个除法。可能写成一行Python。
右边的矢量是您的 3D 模型的许多 3D 顶点之一。矩阵 [r_11 ... t_3] 是一个刚性变换,表示平面的位置和方向(有些人称之为相机姿势或外部相机参数)。您将为每个单独的投影更改此矩阵。矩阵 [f_x ... 1] 定义投影本身并且通常保持不变。对于您的应用程序,可能只使用单位矩阵(因此,您可以忽略它)。最后一步是以 z = 1 的距离放置在图像平面上的方式缩放变换后的矢量。u_x 和 u_y 是相应的二维坐标。