赞
踩
三维空间中通常可以用旋转矩阵、旋转向量、欧拉角和四元数来描述旋转
先回顾下向量的内积和外积
外积只对三维向量存在定义,并且可以表示向量的旋转:
假设两个不平行向量a
图1.
w
对空间中一个向量a
(2)式的R称为旋转矩阵,用来描述相机的旋转
旋转矩阵是行列式为1的正交矩阵,反之,行列式为1的正交矩阵也是一个旋转矩阵
旋转矩阵的劣势
旋转向量用一个三维向量来描述旋转:其方向与旋转轴一致,长度等于旋转角
回顾向量外积,图1的w就是a到b的旋转向量
旋转向量与旋转矩阵转换
假设旋转轴为n,角度为θ,使用罗德里格斯公式可以转换到旋转矩阵
此外,旋转矩阵实际就是SO(3)的李群,旋转向量就是对应的李代数so(3),两者通过指数映射相联系(与罗德里格斯等价)
欧拉角是一种最直观的旋转描述方式,也是一个3维向量,分别代表绕某个轴的旋转角度
旋转矩阵用9个量描述3自由度的旋转,具有冗余性
欧拉角和旋转向量用3个量描述3自由度的旋转,是紧凑的,但具有奇异性
四元数用4个量描述3自由度的旋转,紧凑又没有奇异性
一个四元数q拥有1个实部和3个虚部
旋转向量与四元数的转换
对于一个旋转向量:绕单位向量n=[n+x,ny,nz]T做了θ度的旋转,那么其四元数为
旋转矩阵与四元数的转换
设四元数q=q0+q1i+q2j+q3k(6),对应的旋转矩阵为
用四元数表示旋转
对于一个空间三维点p=[x,y,z],指定一个绕n做θ角的旋转,旋转后的点为p′
1)首先将三维点用一个虚四元数来描述
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。