Python 代码实现欧拉角转换为旋转矩阵
以下是欧拉角转为旋转矩阵的 Python 代码:
import numpy as np
def euler_to_rotmat(euler_angles):
'Convert Euler angles to rotation matrix.'
'param euler_angles: Euler angles in radians (roll, pitch, yaw).'
'return: Rotation matrix.'
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.array([[np.cos(euler_angles[1]), 0, np.sin(euler_angles[1])],
[0, 1, 0],
[-np.sin(euler_angles[1]), 0, np.cos(euler_angles[1])]])
R_z = np.array([[np.cos(euler_angles[2]), -np.sin(euler_angles[2]), 0],
[np.sin(euler_angles[2]), np.cos(euler_angles[2]), 0],
[0, 0, 1]])
R = np.dot(R_z, np.dot(R_y, R_x))
return R
其中,euler_angles 是一个包含三个欧拉角的一维数组,分别代表绕 $x$ 轴的旋转角度、绕 $y$ 轴的旋转角度和绕 $z$ 轴的旋转角度,单位为弧度。该函数返回一个 $3 \times 3$ 的旋转矩阵 R。
原文地址: https://www.cveoy.top/t/topic/lS7X 著作权归作者所有。请勿转载和采集!