四元数,欧拉角,旋转矩阵相互转换

本文档详细介绍了角度与弧度之间的转换函数,以及如何使用欧拉角、四元数和齐次矩阵进行3D旋转矩阵的计算,包括从欧拉角到矩阵、矩阵到欧拉角、四元数的相互转换,以及齐次矩阵的合成与解析方法。
#include <TransForms3d/TransForms.h>

/*---------------------------------------角度弧度转换----------------------------------------*/
/**
     * @description: 角度转为弧度
     * @param {double} angle 角度值
     * @return 返回对应弧度值,一般在-3.14~3.14之间
     */
double TransForms::Degrees(double angle)
{
    return angle / 180 * M_PI;
}

/**
     * @description: 弧度转为角度
     * @param {double} degrees 弧度值
     * @return 返回对应的角度值,一般在-180~180之间
     */
double TransForms::Angle(double degrees)
{
    return degrees / M_PI * 180;
}

/*---------------------------------------欧拉角部分---------------------------*/
/**
     * @description: 角度制欧拉角转旋转矩阵,此函数默认的旋转顺序是x-y-z.
     * @param {double} rx 绕x轴的旋转.
     * @param {double} ry 绕y轴的旋转.
     * @param {double} rz 绕z轴的旋转.
     * @return {Matrix3d}  返回3✖3的旋转矩阵.
     */
Matrix3d TransForms::EulerAngle2Mat(double rx, double ry, double rz)
{
    rx = Degrees(rx);
    ry = Degrees(ry);
    rz = Degrees(rz);
    AngleAxisd rollAngle(AngleAxisd(rx, Vector3d::UnitX()
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值