我有一项任务是使用python中的matplotlib将.obob文件(使用Blender)中的3D对象转换为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
有人可以帮帮我吗? :)
答案 0 :(得分:0)
首先创建一个列表来存储所有顶点。该列表的每个元素本身都是一个包含x,y和z坐标作为浮点数的列表。
然后逐行读取.obj文件,将每一行拆分为一个列表。如果该列表的第一个元素是'v'
,请将列表中的后3个字符串转换为float
并将它们存储到新列表中。然后将该列表附加到顶点列表中。