有关四元数
2015-04-16 14:38
309 查看
这段时间用到了四元数,以前没有接触过,所以理解起来感觉比较困难,故在这里做一下记录,以便以后使用。
一般说来四元数是用来表示旋转的,具体定义如下:四元数可以表示向量和物体的旋转,并且没有冗余信息,提供了一种比3*3旋转矩阵更为有效的表示旋转的方法。四元数一般用于计算机图形,三维游戏制作,在Qt中也有关于四元数的类(Qt中的类Quaternion),该类中实现了四元数的一些操作运算。
四元说的形式和复数形式类似,形式为q=(w,v)=(w,x,y,z),q=w+xi+yj+zk; x,y,z为三个虚轴的单位分量。
四元数与向量的乘法是这样进行的:把三维向量看做是实部为零的(w=0)的四元数进行乘法运算
具体的乘法规则可参考http://blog.csdn.net/kfqcome/article/details/6745301
另外自己刚开始看四元数时,总是不明白怎么用四元数去表示旋转矩阵,现在这么理解Rt=qtq*,q为对应与旋转矩阵R的四元数,q*为q的共轭四元数。
四元数与3*3旋转矩阵之间的转换关系可参考http://www.oschina.net/code/snippet_876234_20178
另外关于四元数还有求模(2-范数)运算,求逆运算等
特别注意的是,当四元数为为单位四元数(模为1)时,才能表示旋转,与旋转矩阵之间的关系可以对应为Rt=qtp,其中p为四元数q的逆,当q为单位四元数时,q的逆与q的共轭四元数相同。
一般说来四元数是用来表示旋转的,具体定义如下:四元数可以表示向量和物体的旋转,并且没有冗余信息,提供了一种比3*3旋转矩阵更为有效的表示旋转的方法。四元数一般用于计算机图形,三维游戏制作,在Qt中也有关于四元数的类(Qt中的类Quaternion),该类中实现了四元数的一些操作运算。
四元说的形式和复数形式类似,形式为q=(w,v)=(w,x,y,z),q=w+xi+yj+zk; x,y,z为三个虚轴的单位分量。
四元数与向量的乘法是这样进行的:把三维向量看做是实部为零的(w=0)的四元数进行乘法运算
具体的乘法规则可参考http://blog.csdn.net/kfqcome/article/details/6745301
另外自己刚开始看四元数时,总是不明白怎么用四元数去表示旋转矩阵,现在这么理解Rt=qtq*,q为对应与旋转矩阵R的四元数,q*为q的共轭四元数。
四元数与3*3旋转矩阵之间的转换关系可参考http://www.oschina.net/code/snippet_876234_20178
另外关于四元数还有求模(2-范数)运算,求逆运算等
特别注意的是,当四元数为为单位四元数(模为1)时,才能表示旋转,与旋转矩阵之间的关系可以对应为Rt=qtp,其中p为四元数q的逆,当q为单位四元数时,q的逆与q的共轭四元数相同。
相关文章推荐
- About The Quaternion 有关四元数
- 有关lookrotate相关的数学四元数的知识(更新待定)
- 有关四元数 我所理解的四元数
- 有关数据质量控制
- 有关static的问题
- 四元数和旋转矩阵
- 实验 线性表的有关操作
- 有关委托与事件的几个小事例
- 有关IUnKnown的Info .
- 有关上拉电阻和下拉电阻的知识点
- 【总结】有关vue使用微信扫码登录的一点小总结
- Request.QueryString 接受参数时,跟编码有关的一些问题
- java程序设计中有关内存管理的经验
- 有关cookie实现统计pv,uv的一些用法
- 一 线性表的有关操作
- 与socket有关的一些函数介绍
- 有关background的使用同一图片做背景position定位的方法
- MySQL有关1042 Can’t get hostname for your address的问题分析解决过程
- 判断链表中是否有环 ----- 有关单链表中环的问题
- C#中有关string和byte[]转换的问题