四元数和欧拉角转换

一、四元数的定义

   通过旋转轴和绕该轴旋转的角度可以构造一个四元数:

       其中

是绕旋转轴旋转的角度, 

为旋转轴在x,y,z方向的分量(由此确定了旋转轴)。 

二、欧拉角到四元数的转换

三、四元数到欧拉角的转换

       arctan和arcsin的结果是

,这并不能覆盖所有朝向(对于 

角 

的取值范围已经满足),因此需要用atan2来代替arctan。 

四、在其他坐标系下使用

在其他坐标系下,需根据坐标轴的定义,调整一下以上公式。如在Direct3D中,笛卡尔坐标系的X轴变为Z轴,Y轴变为X轴,Z轴变为Y轴(无需考虑方向)。


四元数与欧拉角的转化::

偏航角——Yaw,俯仰角——Pitch,翻滚角——Rool

四元数与欧拉角的如下转换公式:
                Yaw=      atan2f( 2 * (q0 * q1 + q2 * q3), q0q0 - q1q1 - q2q2 + q3q3 )*57.3;//yaw
                Pitch=      asin(-2 * (q1 * q3 + 2 * q0* q2)* 57.3; // pitch
                Rool =    atan2 ( 2 * (q1 * q2 + 2 * q0 * q3), q0q0 + q1q1 - q2q2 - q3q3 )* 57.3; //roll


  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值