-
trimesh.transformations.rotation_matrix(np.radians(rot_angle), rot_axis)
-
np.radians(rot_angle)
:将角度rot_angle
转换为弧度。trimesh
和大多数 3D 库通常使用弧度来表示旋转角度,而不是角度。 -
rot_axis
:表示旋转轴的向量。例如,[1, 0, 0]
表示绕 X 轴旋转,[0, 1, 0]
表示绕 Y 轴旋转,[0, 0, 1]
表示绕 Z 轴旋转。 -
trimesh.transformations.rotation_matrix()
:这个函数生成一个 4x4 的旋转矩阵,用于对 3D 物体进行旋转。返回的矩阵可以应用到网格上,实现旋转变换。
-
-
mesh.apply_transform(rot)
mesh.apply_transform(rot)
:这行代码将上面生成的旋转矩阵rot
应用到网格mesh
上。它会改变网格的坐标,使其绕指定轴旋转指定角度。
-
第二个旋转矩阵:
rot = trimesh.transformations.rotation_matrix(np.radians(180), [1, 0, 0]) mesh.apply_transform(rot)
- 这段代码是第二次旋转操作,它创建了一个 180 度绕 X 轴旋转的旋转矩阵。具体来说:
np.radians(180)
:将 180 度转换为弧度(即π
弧度)。[1, 0, 0]
:表示绕 X 轴旋转。
然后,
mesh.apply_transform(rot)
会将这个旋转矩阵应用到网格上,使网格绕 X 轴旋转 180 度。 - 这段代码是第二次旋转操作,它创建了一个 180 度绕 X 轴旋转的旋转矩阵。具体来说: