在计算机图形学中,欧拉角、四元数和旋转矩阵是描述物体旋转的常用方法,本文将详细介绍 Python 中如何进行它们之间的相互转换。
欧拉角的概念很简单,就是指物体绕 x、y、z 轴依次旋转的角度,这里采用 ZYX 的顺序表示欧拉角,即先绕 z 轴旋转,再绕 y 轴旋转,最后绕 x 轴旋转。
欧拉角转旋转矩阵:
import numpy as np
def euler_to_matrix(euler_angles):
R_x = np.array([[1, 0, 0],
[0, np.cos(euler_angles[0]), -np.sin(euler_angles[0])],
[0, np.sin(euler_angles[0]), np.cos(euler_angles[0])]
])
R_y = np