open3d.geometry.LineSet
的方法,用于根据给定的轴和角度创建旋转矩阵。
open3d.geometry.LineSet.get_rotation_matrix_from_axis_angle(axis: np.ndarray, theta: float) -> np.ndarray
axis
: 三维向量,表示旋转轴。必须是单位向量。theta
: 角度值,度数制。一个3x3的旋转矩阵np.ndarray,代表绕给定轴旋转给定角度的旋转变换。
import open3d as o3d
import numpy as np
# 创建单位向量和角度
axis = np.array([1, 1, 0])
axis = axis / np.linalg.norm(axis)
theta = np.pi / 4
# 用给定的轴和角度创建旋转矩阵
rot_mat = o3d.geometry.LineSet.get_rotation_matrix_from_axis_angle(axis, theta)
print(rot_mat)
运行后输出:
array([[ 0.85355339, 0.35355339, 0. ],
[-0.35355339, 0.85355339, 0. ],
[ 0. , 0. , 1. ]])
axis
必须是单位向量,否则会导致旋转矩阵计算错误。theta
必须是弧度值,否则需要先将其转换为弧度值再传入。