get_rotation_matrix_from_xyz
用于创建一个旋转矩阵,通过指定三个旋转角度的值(分别为X轴,Y轴和Z轴的旋转)构建旋转矩阵。
get_rotation_matrix_from_xyz(xyz: List[float]) -> numpy.ndaarray
参数列表:
xyz
:一个包含三个浮点型元素的列表,表示要进行旋转的三个角度值(分别为X轴,Y轴和Z轴的旋转)返回结果:
import numpy as np
from open3d.geometry import HalfEdgeTriangleMesh
mesh = HalfEdgeTriangleMesh()
# 添加顶点及三角形面片
v1 = mesh.add_vertex(np.array([0, 0, 0]))
v2 = mesh.add_vertex(np.array([1, 0, 0]))
v3 = mesh.add_vertex(np.array([0, 1, 0]))
mesh.add_triangle(v1, v2, v3)
# 获取旋转矩阵
rot_mat = np.eye(3)
rot_angle = np.pi/4
rot_mat = np.dot(rot_mat, HalfEdgeTriangleMesh.get_rotation_matrix_from_xyz([rot_angle, 0, 0]))
rot_mat = np.dot(rot_mat, HalfEdgeTriangleMesh.get_rotation_matrix_from_xyz([0, rot_angle, 0]))
rot_mat = np.dot(rot_mat, HalfEdgeTriangleMesh.get_rotation_matrix_from_xyz([0, 0, rot_angle]))
# 对网格进行旋转操作
mesh.rotate(rot_mat, center=np.array([0.5, 0.5, 0.5]))