四元数——为何使用四元数

1、欧拉角

由三个角度(x,y,z)组成,在特定坐标系下用于描述物体的旋转量,空间中的任意旋转都可以分解秤绕三个互相垂直轴的三个旋转角组成的序列

(1)欧拉角旋转约定(heading-pitch-back)

Y-X-Z约定是一种最常用的旋转序列悦动

heading:物体绕自身的对象坐标轴的Y轴旋转的角度

pitch:物体绕自身的对象坐标轴的X轴旋转的角度

bank:物体绕自身的对象坐标轴的Z轴旋转的角度

而在Unity中,Inspector窗口中的调节的Rotation即是欧拉角=>this.transform.eulerAngles

2、欧拉角的优缺点

优点

(1)直观,易理解

(2)存储空间小(三个数表示)

(3)可以进行从一个方向到另一个方向旋转大于180度的角度

缺点

(1)同一旋转的表示不唯一

(2)万向节死锁

(1)同一旋转的表示不唯一很好理解,比如绕y轴旋转90度和450度效果是一样的,主要说万向节死锁

(2)万向节死锁:当某个特定轴达到某个特殊值时,绕一个轴旋转可能会覆盖住另一个轴的旋转,从而失去一维自由度;在Unity中X轴达到90度时,会产生万向节死锁(此时无论绕y轴还是z轴旋转,都是绕z轴旋转)

由于欧拉角的缺点,而四元数旋转不存在万向节死锁问题,因此计算机中我们往往使用四元数来表示三维空间中的旋转信息

open3d是一个用于处理三维数据(点云、三维模型等)的开源库。点云配准是将两个或多个点云数据进行对齐的过程,以便在一个全局坐标系下进行比较、分析或重建。其中,四元数法是一种常用的点云配准方法。 四元数是一种用四个实数表示的扩充复数,可以用于描述旋转变换。在点云配准中,使用四元数法是因为其具有以下优势: 第一,四元数具有紧凑的表示形式,只需要四个实数即可表示旋转变换,相较于旋转矩阵的九个实数表示方式节省了存储空间,降低了计算复杂度。 第二,四元数法能够有效地避免了“万向锁”问题。万向锁是指在使用欧拉进行坐标变换时,由于旋转过程中会出现奇点,导致旋转度无法精确表示的问题。而四元数法不会出现这个问题,具有更好的数值稳定性。 在open3d中,点云配准的四元数法通常有以下几个步骤: 首先,计算两个点云之间的特征描述子,例如FPFH(Fast Point Feature Histograms)或SHOT(Signature of Histograms of Orientations)。这些描述子能够表示点云的局部几何信息。 然后,根据特征描述子的相似性,寻找初始的点对应关系。 接下来,通过最小化点云之间的误差指标,例如最小化点到平面的距离或最小化点到点的距离,来优化点对应关系,并计算出旋转矩阵。 将旋转矩阵转换为四元数表示,即可完成点云的配准过程。 四元数法是open3d中常用的点云配准方法之一,其能够高效地实现点云的准确对齐。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值