Open3D中的open3d.geometry.get_rotation_matrix_from_quaternion
函数将四元数表示的旋转转换为旋转矩阵表示。
open3d.geometry.get_rotation_matrix_from_quaternion(q: numpy.ndarray) -> numpy.ndarray
q
:(4,)形状的numpy数组表示四元数,[x,y,z,w]。import open3d.geometry as o3d_geom
import numpy as np
q = np.array([0.0, 0.0, 0.0, 1.0])
rot_mat = o3d_geom.get_rotation_matrix_from_quaternion(q)
print(rot_mat)
# Output:
# [[1. 0. 0.]
# [0. 1. 0.]
# [0. 0. 1.]]
给定四元数 [0.0, 0.0, 0.0, 1.0],上述代码将其转换为表示单位矩阵的(3,3)形状的numpy数组。
如果输入的四元数不是形状为(4,)的numpy数组,则会引发“ValueError
:期望四元数表示为[ x, y, z, w ]的形状(len(q) = 4)数组”异常。