-2

所以我尝试运行代码,但它给出了超出索引范围错误的列表。我将索引从 1 更改为 0,但屏幕只弹出黑色。我怎样才能更改代码以使其工作?

4

2 回答 2

1

您只需将 .obj 文件的文件名/路径传递给OBJ类:

obj = OBJ('suzzane.obj')

此外,该脚本是用 Python 2 编写的,如果你想在 Python 3 中使用它,你必须更新一些东西。

改变这一行,

raise ValueError, "mtl file doesn't start with newmtl stmt"

至:

raise ValueError("mtl file doesn't start with newmtl stmt")

所有的map迭代器都必须变成列表:

mtl[values[0]] = map(float, values[1:])
# Just call `list()`.
mtl[values[0]] = list(map(float, values[1:]))
于 2017-10-06T18:05:28.610 回答
-1

尝试生成 wavefront(.obj) 文件并确保将suzzane.objandsuzzane.mtl文件与您的代码放在一个目录中,

而不是:

系统参数[0]

利用:

obj = OBJ('suzzane.obj')

于 2019-06-29T08:07:59.367 回答