三维旋转四元数系列(0.复数基本介绍)https://blog.csdn.net/SKANK911/article/details/90033451
三维旋转四元数系列(1.复数与二维旋转)https://blog.csdn.net/SKANK911/article/details/90055245
三维旋转四元数系列(2.三维旋转之轴角与罗德里格斯公式推导)https://blog.csdn.net/SKANK911/article/details/90056646
三维旋转四元数系列(3.四元数定义与基本性质)https://blog.csdn.net/SKANK911/article/details/90186556
序:上一节我们介绍了四元数的基本概念与性质,这一节讲解四元数如何表示三维旋转。
1.三维旋转的四元数表示(先给结论)
设点v[0,x,y,z]=[0,v]经过一次以单位向量定义的旋转轴u[ux,uy,uz]旋转Ѳ角度后,得到了v’,可以使用q四元数乘法表示该旋转。
其中
该式可以看作轴角(旋转向量)到四元数的转化公式
我们定义四元数q的实部为a虚部为b即q[a,b] 则旋转角度为:
旋转轴u为:
上式为四元数到轴角的转化公式
令四元数q的四个系数分别为:
则旋转可表达为矩阵形式的:
上式中的矩阵为四元数对应的旋转矩阵。
假设旋转矩阵为R={mij },ij∈[1,2,3],则其对应的四元数为:
上式为旋转矩阵到四元数的转化。
/-----------------------------------------------------------------------------------------------------------/
当存在多次旋转时,复合旋转的四元数表示为:
注:上节四元数的共轭性质4
2. 上述结论的证明
按照本系列的第2节罗德里格斯公式证明部分的定义方式,将旋转前后向量v、v’及其转轴u,以及分别对应的正交转轴分量 与平行转轴分量
,定义为以下纯四元数:
按照之前的向量形式推导我们知道正交轴上的转化分量为:
带入上述定义的纯四元数可得:
注:上式用到四元数乘法的结合律。
我们将 看作一个四元数q,则:
平行于旋转轴的构造纯四元数,按照之前的讨论,其不会变换即:
则按照纯四元数的表示旋转为:
其中 且:
q为我们构造出的四元数,为单位四元数,u为单位向量。则:
即绕着一个轴u旋转2Ѳ度。
现在引入一个新的四元数 ,可以看到:
pp结果与q一样
由于p也为单位四元数满足:
将p带入四元数旋转表达式:
显然 就是
,至此得到
注:最后一步带入证明的时候使用了两条特殊交换律引理:
① 我们定义的纯四元数 ,而
,由于
平行于单位向量表示的u,那么:
②我们定义的纯四元数 ,而
,由于
正交于单位向量表示的u,那么:
实际上上述证明结果即为:虚部为罗德里格斯公式。
/-------------------------------------------------------------------------------------------------------------------------------------/
定义四元数
左乘q与右乘q可分别表示为: 那么
右下3*3矩阵即为四元数对应的旋转矩阵。
3.补充
3.1 三维旋转四元数的指数型表达
对于任意向量v沿单位向量定义的旋转轴u转动Ѳ角度后得到v’,可使用四元数的指数表示。令 ,那么
可推出如下结论,
对于四元数 ,
对数运算:
幂运算:
3.2 四元数的不唯一性
三维空间的任意旋转都可以由两个互为相反数的四元数表示
对于 ,q与-q代表同一旋转。如果q表示的是沿着旋转轴u旋转q度,那么−q代表的是沿着相反的旋转轴−u旋转(2π-Ѳ)度:
注:q与-q虽为两个不同的四元数,但其对应的旋转矩阵一致。