四元数与欧拉角互转
来源:互联网 发布:js 相册原理 编辑:程序博客网 时间:2024/06/06 09:45
在3D图形学中,最常用的旋转表示方法便是四元数和欧拉角,比起矩阵来具有节省存储空间和方便插值的优点。本文主要归纳了两种表达方式的转换,计算公式采用3D笛卡尔坐标系:
图1 3D Cartesian coordinate System (from wikipedia)
定义分别为绕Z轴、Y轴、X轴的旋转角度,如果用Tait-Bryan angle表示,分别为Yaw、Pitch、Roll。
图2 Tait-Bryan angles (from wikipedia)
一、四元数的定义
通过旋转轴和绕该轴旋转的角度可以构造一个四元数:
其中是绕旋转轴旋转的角度,为旋转轴在x,y,z方向的分量(由此确定了旋转轴)。
二、欧拉角到四元数的转换
三、四元数到欧拉角的转换
arctan和arcsin的结果是,这并不能覆盖所有朝向(对于角的取值范围已经满足),因此需要用atan2来代替arctan。
四、在其他坐标系下使用
在其他坐标系下,需根据坐标轴的定义,调整一下以上公式。如在Direct3D中,笛卡尔坐标系的X轴变为Z轴,Y轴变为X轴,Z轴变为Y轴(无需考虑方向)。
http://blog.163.com/20053327_enter/blog/static/3943864220103161142859/
- 四元数与欧拉角互转
- OSG 四元数与欧拉角互转
- 四元数与旋转
- 四元数与旋转关系
- 四元数与旋转
- Quaternion四元数与旋转
- 四元数与矩阵
- 四元数与旋转
- 四元数与旋转
- 四元数与旋转
- 四元数与复数
- 四元数与旋转
- 四元数与旋转
- 浅谈欧拉角与四元数
- 四元数与旋转
- 欧拉角与四元数
- 四元数与旋转
- 四元数与旋转
- oracel 树查询相关
- XP风格控件
- C#基础四
- 数据库组件 Hxj.Data (四)(添加操作篇)
- 在MFC程序中使用XML文件配置工具栏
- 四元数与欧拉角互转
- 实战!双硬盘安装图解!
- 一个通用的makefile写法,自动推导文件的依赖关系
- 互联网时代,移动者为王
- eclipse 文件编码问题
- 欧拉角转成四元数的公式
- 今天好烦躁!!!
- 传智播客JAVA培训OA项目2010-5-12
- 关于ASP.NET页面打印技术的总结