open3d.geometry.AxisAlignedBoundingBox
的函数之一,用于创建一个绕Y、Z、X轴依次旋转的旋转矩阵。
get_rotation_matrix_from_yzx(yaw: float, pitch: float, roll: float) -> numpy.ndarray
yaw
(float):绕Y轴旋转的角度,单位为弧度。pitch
(float):绕Z轴旋转的角度,单位为弧度。roll
(float):绕X轴旋转的角度,单位为弧度。一个 $3\times3$ 的旋转矩阵,表示绕Y、Z、X轴依次旋转后的变换。
import open3d.geometry as o3d
import numpy as np
# 创建一个包围盒
box = o3d.geometry.AxisAlignedBoundingBox(
np.array([0.0, 0.0, 0.0]), np.array([1.0, 1.0, 1.0]))
# 绕Y、Z、X轴旋转
R = o3d.geometry.AxisAlignedBoundingBox.get_rotation_matrix_from_yzx(
np.pi / 2, np.pi / 4, np.pi / 8)
# 应用旋转变换
box.rotate(R)
# 可以通过 box.get_box_points() 查看包围盒顶点的坐标
如果输入的参数不符合规定的范围,会抛出 ValueError 异常。