python - 如何在 python 中从 .obj 文件获取坐标?

标签 python matplotlib blender .obj

我的任务是使用 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/

相关文章:

python - Django 查询集,小于或大于版本号

python - 在 Python/matplotlib 中使用 xaxis_date() 手动设置 xticks

Python 使用 sys.stdout 打印尾随逗号行为

python - 如何设置冲突?

python - 二维列表行中的最后一个元素没有改变

python - Matplotlib 方形箱线图

在 matplotlib 中绘制时,Python networkx 图出现困惑

blender - 在 blender 2.76 中将钻机重量从一个网格转移到另一个网格

java - 转换/导出到 libgdx G3D

python - 如何在 UV 贴图边缘获取数据并进行编辑?