以下是欧拉角转为旋转矩阵的 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

Python 代码实现欧拉角转换为旋转矩阵

原文地址: https://www.cveoy.top/t/topic/lS7X 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录