我参考了http://www.open3d.org/docs/release/tutorial/visualization/visualization.html#Function-draw_geometries中的代码,代码如下:
import open3d as o3d
print("Let's draw a box using o3d.geometry.LineSet.")
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(
points=o3d.utility.Vector3dVector(points),
lines=o3d.utility.Vector2iVector(lines),
)
line_set.colors = o3d.utility.Vector3dVector(colors)
point_cloud2 = o3d.geometry.PointCloud()
point_cloud2.points = o3d.utility.Vector3dVector(points)
point_cloud2.paint_uniform_color([0, 1, 0])
o3d.visualization.draw_geometries([line_set, point_cloud2])
您无法通过
o3d.visualization.draw_geometries
执行此操作。 draw_geometries
只是提供了一个帮助方法来轻松使用 o3d.visualization.Visualizer
类。
在
o3d.visualization.Visualizer
中,您可以通过更新渲染选项来增加点大小和线宽:-
# Replace last line of o3d.visualization.draw_geometries([line_set, point_cloud2]) with below code.
vis = o3d.visualization.Visualizer()
vis.create_window()
vis.add_geometry(line_set)
vis.add_geometry(point_cloud2)
vis.get_render_option().line_width = 5
vis.get_render_option().point_size = 20
vis.run()
请参阅此处(Open3d 源代码)了解线宽和点大小的最小/最大限制。