get_rotation_matrix_from_xyz
函数返回一个旋转矩阵,该矩阵将坐标系从本地坐标系旋转到全局坐标系。这个函数的输入是3个角度,分别对应于x、y、z轴的旋转角度。
get_rotation_matrix_from_xyz(x: float, y: float, z: float) -> numpy.ndarray
参数:
x
:x轴的旋转角度,以弧度为单位。y
:y轴的旋转角度,以弧度为单位。z
:z轴的旋转角度,以弧度为单位。返回值:
import open3d as o3d
import numpy as np
# 创建一个Unity大小的立方体
mesh = o3d.geometry.TetraMesh.create_box(attrib=None,
tetrahedra=[[0,1,2,4], [0,2,3,4]],
vertices=[[-1,-1,-1], [1,-1,-1], [1,1,-1], [-1,1,-1], [0,0,1]])
mesh.compute_vertex_normals()
# 以x轴为中心旋转30度
R_x = o3d.geometry.get_rotation_matrix_from_xyz(np.pi/6, 0, 0)
mesh.transform(R_x)
# 以y轴为中心旋转60度
R_y = o3d.geometry.get_rotation_matrix_from_xyz(0, np.pi/3, 0)
mesh.transform(R_y)
# 以z轴为中心旋转90度
R_z = o3d.geometry.get_rotation_matrix_from_xyz(0, 0, np.pi/2)
mesh.transform(R_z)
o3d.visualization.draw_geometries([mesh])