您的位置:首页 > 其它

有关四元数

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的共轭四元数相同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息