我的任务是使用 python 中的 matplotlib 将 3D 对象从 .obj 文件(使用 Blender)转换为 2D 图片。从 3D 到 2D 的转换是使用矩阵完成的,所以没关系,但我不知道如何从文件中获取坐标。当我打印文件的内容时,我得到了这个:
# Blender v2.73 (sub 0) OBJ File: ''
# www.blender.org
mtllib test.mtl
o Cube
v 1.000000 -1.000000 -1.000000
v 1.000000 -1.000000 1.000000
v -1.000000 -1.000000 1.000000
v -1.000000 -1.000000 -1.000000
v 0.388735 1.108067 -2.206034
v 1.538758 0.520736 2.855389
v -0.570206 0.995216 0.054703
v -0.454593 3.815588 -1.404268
usemtl Material
s off
有人可以帮帮我吗? :)
最佳答案
首先创建一个列表来存储所有顶点。该列表的每个元素本身都是一个包含 x、y 和 z 坐标作为 float 的列表。
然后逐行读取 .obj 文件,将每一行拆分为一个列表。如果该列表的第一个元素是 'v'
,则将列表中接下来的 3 个字符串转换为 float
并将它们存储到一个新列表中。然后将该列表附加到您的顶点列表。
关于python - 如何在 python 中从 .obj 文件获取坐标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28794390/