在下面的for
循环中,我希望mesh
为mesh_6
,mesh_31
等。
最后存储每个网格物体的名称并绘制它们。
无需深入研究脚本的细节,它可以在循环外部进行硬编码。
我看过一些例子,但我不理解。
contexts = [6, 31, 35, 43, 10]
meshes = []
for context in contexts:
c = str(context)
r = random.uniform(0, 1)
g = random.uniform(0, 1)
b = random.uniform(0, 1)
path = "E:/gygaia/database/contexts/99_526/" + c + ".ply"
mesh = read_triangle_mesh(path)
mesh.compute_vertex_normals()
mesh.paint_uniform_color([r, g, b])
mesh.purge()
meshes.append(mesh)
draw_geometries([meshes])
编辑
这是不在循环中的脚本
mesh_6 = read_triangle_mesh("E:/gygaia/database/contexts/99_526/6.ply")
mesh_6.compute_vertex_normals()
mesh_6.paint_uniform_color([random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)])
mesh_6.purge()
mesh_31 = read_triangle_mesh("E:/gygaia/database/contexts/99_526/31.ply")
mesh_31.compute_vertex_normals()
mesh_31.paint_uniform_color([random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)])
mesh_31.purge()
mesh_35 = read_triangle_mesh("E:/gygaia/database/contexts/99_526/35.ply")
mesh_35.compute_vertex_normals()
mesh_35.paint_uniform_color([random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)])
mesh_35.purge()
draw_geometries([
# big pit
mesh_6,
mesh_31,
mesh_35,
])
所以我正在努力简化代码,所以我只需要在列表中添加文件编号即可。
答案 0 :(得分:1)
draw_geometries()
不需要对象变量名,只需要包含对象本身的列表,因此我相信只需要更改代码的最后一行:
发件人:
draw_geometries([meshes])
收件人:
draw_geometries(meshes)
因为meshes
已经是list
。