函数说明:
用于在OpenGL中设置观察矩阵的视点和目标。观察方向始终沿着从视点到目标的矢量,始终朝向视点。
语法:
def set_lookat(self, eye: Vector3d, center: Vector3d, up: Vector3d) -> None:
参数说明:
eye
:Vector3d类型,表示观察矩阵的视点(观察者的位置)center
:Vector3d类型,表示观察矩阵的目标(观察者所望向的位置)up
:Vector3d类型,表示观察矩阵的上方向(默认值:Vector3d(0.0, 1.0, 0.0))返回值:
该函数没有返回值。
示例:
import open3d as o3d
import numpy as np
# 创建网格,在屏幕上显示球体和立方体
mesh_sphere = o3d.geometry.TriangleMesh.create_sphere(radius=1.0)
mesh_sphere.compute_vertex_normals()
mesh_sphere.paint_uniform_color([1.0, 0.0, 0.0])
mesh_box = o3d.geometry.TriangleMesh.create_box(width=1.0, height=1.0, depth=1.0)
mesh_box.compute_vertex_normals()
mesh_box.paint_uniform_color([0.0, 0.0, 1.0])
# 网格可视化
vis = o3d.visualization.Visualizer()
vis.create_window()
vis.add_geometry(mesh_sphere)
vis.add_geometry(mesh_box)
view_control = vis.get_view_control()
view_control.set_lookat(eye=np.array([0, -10, 0]), center=np.array([0, 0, 0]), up=np.array([0, 0, 1]))
vis.run()
vis.destroy_window()
该代码运行后,将在屏幕上显示一个球体和一个立方体。观察者的视点位于y轴下方10个单位,观察者望向原点,且观察者的头朝向z轴正方向。
注意事项: