我想获取使用
SceneWidget()
显示的点云的相机视角,其场景设置如下:
self.window = gui.Application.instance.create_window("Open3D", width, height)
self._scene = gui.SceneWidget()
self._scene.scene = rendering.Open3DScene(self.window.renderer)
如果我使用
o3d.visualization.Visualizer()
,我可以使用 get_view_control()
获取它,但无法弄清楚如何使用 SceneWidget
获取它。
我尝试从
Visualizer()
获取渲染器对象,认为它可以传递给 rendering.Open3DScene()
但 Visualizer()
只有一个 get_render_option()
SceneWidget 的相机属性可通过
widget3d.scene.camera
获得。注意班级关系:- SceneWidget -> Open3dScene -> Camera
.
您应该能够从
获取视图矩阵widget3d.scene.camera.get_view_matrix()
注意 - 您应该将
_scene
重命名为 widget
,以便更容易推断对象的类。