欢迎光临散文网 会员登陆 & 注册

自用旋转用四元数笔记

2022-09-27 21:07 作者:Zerous  | 我要投稿

用于旋转的四元数的公式如下。

q%3D%5Ccos%20%5Cfrac%7B%5Ctheta%7D%7B2%7D%2B%5Csin%20%5Cfrac%7B%5Ctheta%7D%7B2%7D(x_%7Bd%7D%5Ccdot%20i%2By_%7Bd%7D%5Ccdot%20j%2Bz_%7Bd%7D%5Ccdot%20k)

其中d为旋转轴向量,%5Ctheta为旋转角。它的倒数是:

q%5E%7B-1%7D%3D%5Ccos%20(-%5Cfrac%7B%5Ctheta%7D%7B2%7D)%2B%5Csin%20(-%5Cfrac%7B%5Ctheta%7D%7B2%7D)(x_%7Bd%7D%5Ccdot%20i%2By_%7Bd%7D%5Ccdot%20j%2Bz_%7Bd%7D%5Ccdot%20k)

然后假设有个向量%5Cvec%7Bp%7D%20%3D%20(x%2Cy%2Cz)那么它按q旋转后的结果%5Cvec%7Bp'%7D%3D(x'%2Cy'%2Cz')可以用四元数乘法来得到:

x'i%2By'j%2Bz'k%3Dqpq%5E%7B-1%7D

和欧拉公式很像,两个的几何意义也很像。

原理我也不是很清楚。想了解的可以看

然后去简介里的网站拖拖参数,更容易产生一个直观的感觉。

然后是四元数可以转换成旋转矩阵的形式,公式如下

对于一个四元数p%3Dw%2Bxi%2Byj%2Bzk,它对应的矩阵是

%5Cbegin%7Bbmatrix%7D%0A1-2y%5E2-2z%5E2%20%26%202xy-2wz%20%26%202xz%2B2wy%20%5C%5C%0A2xy%2B2wz%20%26%201-2x%5E2-2z%5E2%20%26%202yz-2wx%20%5C%5C%0A2xz-2wy%20%26%202yz%2B2wx%20%26%201-2x%5E2-2y%5E2%0A%5Cend%7Bbmatrix%7D

PS:传给图形API的时候直接按单位矩阵的格式扩到4维就行,没动w轴。

最后记个欧拉角转四元数,顺序是zxy,也就是

q%3Dq_%7Byaw%7D%5Ccdot%20q_%7Bpitch%7D%5Ccdot%20q_%7Brow%7D


自用旋转用四元数笔记的评论 (共 条)

分享到微博请遵守国家法律