两种3D旋转
1. 轴/角(指数扭曲)
物体在三维空间中的旋转,可以被分为解为在直接坐标系下,分别先后围绕x,y,z坐标轴旋转得到。旋转的角度也就是我们常听到的角度roll,pitch,yew。如果已知这几个角度,就可以直接通过每一步的矩阵相乘得到整个旋转矩阵。旋转矩阵还可以理解为围绕空间中某一个向量,直接一次旋转某一个角度得到。 旋转向量的长度(模)表示绕轴逆时针旋转的角度(弧度)。旋转向量与旋转矩阵可以通过罗德里格斯(Rodrigues)变换进行转换,以
为轴做
角旋转的旋转矩阵写为:
其中, 为单位矩阵
https://blog.csdn.net/wangyang20170901/article/details/78800540
https://blog.csdn.net/u014328804/article/details/71499966
2. 单位四元数
四元数:指将二维平面的复数坐标额外增加2个虚数扩展到三维空间,即一般形式为:
式中,s为实数,
为虚数
单位四元数即为四元数除以它的范数
利用单位四元数表述旋转主要利用一个复数的特征,即对一个复数乘以i,这个复数在复数平面上旋转了90°。
则定义一个可以旋转3D空间的单位四元数
其中
,表示三维任意向量。
则对任意的坐标
绕向量
旋转
角度后的坐标
,即等于两个四元数的积。
由于经单位四元数变换后旋转了
角,因此对旋转
角的旋转四元数的一半形式表示为:
http://www.qiujiawei.com/understanding-quaternions/#1.5
https://www.3dgep.com/understanding-quaternions/
https://www.zhihu.com/question/23005815