今天我开始使用 Open3D,但我真的不知道如何在一个场景/窗口中显示多个几何对象。
当我运行代码时,我有两个不同且独立的窗口(第一个带有点云,第二个带有线)。 我应该如何使用 Visualization.draw_geometries 在一个场景中显示它们两个?
xyz = np.genfromtxt('file.csv', delimiter=',')
print (xyz)
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(xyz)
print(np.asarray(pcd.points))
o3d.visualization.draw_geometries_with_editing([pcd])
choosen_points = [[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 1, 0], [0, 0, 1], [1, 0, 1],
[0, 1, 1], [1, 1, 1]]
lines = [[0, 1], [0, 2], [1, 3], [2, 3], [4, 5], [4, 6], [5, 7], [6, 7],
[0, 4], [1, 5], [2, 6], [3, 7]]
colors = [[1, 0, 0] for i in range(len(lines))]
line_set = o3d.geometry.LineSet()
line_set.points = o3d.utility.Vector3dVector(choosen_points)
line_set.lines = o3d.utility.Vector2iVector(lines)
line_set.colors = o3d.utility.Vector3dVector(colors)
o3d.visualization.draw_geometries([line_set])
o3d.visualization.draw_geometries
需要一个几何图形列表作为参数。您当前正在调用该函数两次,这会导致打开两个窗口。要同时绘制两个几何图形,您只需将它们组合在一个列表中,如下所示:
o3d.visualization.draw_geometries([pcd, line_set])