- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习四元数笔记.
复数是由实数加上虚数单位 i 组成,其中
i^2 = -1 \,。
相似地,四元数都是由实数加上三个元素 i、j、k 组成,而且它们有如下的关系:
i^2 = j^2 = k^2 = ijk = -1 \,
每个四元数都是 1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bi + cj + dk \,。
四元数不像实数或复数那样,它的乘法是不可交换的,看乘数表
四元数的优点是:
表达式无奇点(和例如欧拉角之类的表示相比)
比矩阵更简炼(也更快速)
单位四元数的对可以表示四维空间中的一个转动。
以矩陣表示四元數[编辑]
有兩種方法能以矩陣表示四元數,並以矩陣之加法、乘法應用於四元數之加法、乘法。
第一種是以二階複數矩陣表示。若 h = a + bi + cj + dk 則它的複數形式為:
這種表示法有如下優點:
所有複數 (c = d = 0) 就相應於一個實矩陣。
四元數的絕對值的平方就等於矩陣的行列式。
四元數的共軛值就等於矩陣的共軛轉置。
對於單位四元數 (|h| = 1) 而言,這種表示方式給了四維球体和SU(2)之間的一個同型,而後者對於量子力學中的自旋的研究十分重要。(請另見泡利矩陣)
第二種則是以四階實數矩陣表示:
其中四元數的共軛等於矩陣的轉置。
(转载)四元数入门 (2012-02-14 00:52:24)转载▼
标签: computer graphic quaternion 四元数 it 分类: 学习
(转载)四元数入门
---------------------------------------------------------------------
/showthread.asp?threadid=73511
4元数宝典
这是国内找不到的超好文章。(为什么大陆的4元数文章很垃圾呢?)
(翻译中。。。奉献给大家~~)
70秒即懂,能使用,用四元数,4元数,阔特尼恩,Quaternion旋转
(C) 中田 亨 (独立行政法人 产业技术综合研究所 数字人类研究中心 研究员 博士(工学))
2003年11月25日
★这个页面的对象读者
想把三次元的旋转,用CG等定量地处理的人
使用欧拉角(Euler Angles)的话,不懂得其道理的人
卡尔丹角和欧拉角(Cardan Angles)不能区别的人
对吉恩瓦尔洛克很困惑的人
但是,对数学之类麻烦的事情很讨厌的人
想要实例程序的人
没有时间的人
★旋转篇:
我将说明使用了四元数(si yuan shu, quaternion)的旋转的操作步骤
(1)四元数的虚部,实部和写法
所谓四元数,就是把4个实数组合起来的东西。
4个元素中,一个是实部,其余3个是虚部。
比如,叫做Q的四元数,实部t而虚部是x,y,z构成,则像下面这样写。
Q = (t; x, y, z)
又,使用向量 V=(x,y,z),
Q = (t; V)
也可以这么写。
正规地用虚数单位i,j,k的写法的话,
Q = t + xi + yj + zk
也这样写,不过,我不大使用
(2)四元数之间的乘法
虚数单位之间的乘法
ii = -1, ij = -ji = k (其他的组合也是循环地以下同文)
有这么一种规则。(我总觉得,这就像是向量积(外积),对吧)
用这个规则一点点地计算很麻烦,所以请用像下面这样的公式计算。
A = (a; U)
B = (b; V)
AB = (ab - U·V; aV + bU + U×V)
不过,“U·V”是内积,「U×V」是外积的意思。
注意:一般ABBA所以乘法的左右要注意!
(3)3次元的坐标的四元数表示
如要将某坐标(x,y,z)用四元数表示,
P = (0; x, y, z)
则要这么写。
另外,即使实部是零以外的值,下文的结果也一样。用零的话省事所以我推荐。
(4)旋转的四元数表示
以原点为旋转中心,旋转的轴是(α, β, γ)
(但 α^2 + β^2 + γ^2 = 1),
(右手系的坐标定义的话,望向向量(α, β, γ)的前进方向反时针地)
转θ角的旋转,用四元数表示就是,
Q = (cos(θ/2); α sin(θ/2), β sin(θ/2), γ sin(θ/2))
R = (cos(θ/2); -α sin(θ/2), -β sin(θ/2), -γ sin(θ/2))
(另外R 叫 Q 的共轭四元数。)
那么,如要实行旋转,
则 R P Q = (0; 答案)
请像这样三明治式地计算。这个值的虚部就是旋转之后的点的坐标值。
(另外,实部应该为零。请验算看看)
*未完。。。
instemast_REAL 2007-2-24 1
文档评论(0)