四元数(quaternion)是三维旋转的常用表示形式
一个四元数h=w+xi+yj+zk,这里w,x,j,z∈ (空心R, 表示数域,正常的R表示实数集合)
这里的i,j,k都是虚数单位,即i^2=j^2=k^2=ijk=−1.
四元数通常被写成4-D向量h= (w, x, y, z)或者 h= (w,v),其中v代表一个含有虚部的三维向量
两个单位复数的乘法可以定义2D 中的旋转
那么两个单位四元数的乘法就可以定义3D中的旋转
令p为一个要旋转的点,a为一条旋转轴而且=1,θ为旋转角。
那么我们得到俩个四元数h和p'和一个旋转公式
其中是旋转后的点,是h的共轭四元数(虚数部分的xyz全都取相反数)[1]。
对偶四元数/双四元数(dual quaternions):
四元数是三维旋转的表示,对偶四元数则以统一的方式表示处理了旋转和平移
对偶数定义:
类似虚数,只是对偶单位的平方为0(一平方就把对偶部消掉了)
当对偶数的a和b不是一个数而是向量,那这就变成了对偶向量。
对偶四元数 本质上是四元数 ,但是他的实部w和虚部xyz都是对偶数而不是普通的实数;或者说对偶四元数本质上是对偶数,只是对偶部分和非对偶部分变成了俩四元数,
即 其中h和h’都是四元数。
正如单位四元数表示旋转一样,单位对偶四元数包含旋转R和平移t
非对偶部分h在(5)式中已有定义。对偶部分h’为下式(7)所示
参考文献:[1]J. Schmidt, F. Vogt, H. Niemann, Robust HandEye Calibration of an Endoscopic Surgery Robot Using Dual Quaternions, in Pattern Recognition. Lecture Notes in Computer Science (Springer, Berlin, 548– 556 (2003).