四元数应用思路分析

任务

在对四元数的基本运算有所了解后,迫切想知道到底如何应用。

在搜集资料、观看视频后,脑中大致浮现轮廓,记录下来。

为什么是四元数(Why)?

正如我们所处是一个三维的世界,我们的主要应用也集中在三维。而四元数其实有四个维度,但在各种其相关的应用却仍然是三维的。
原因是这样的:
这篇文章中四元数——旋转提到:四元数满足赋范可除代数的性质——两个数相“乘”后的模长等于分别模长的乘积。而这正符合我们对旋转的定义,改变一个物体的姿态而不改变大小
通过之前推导的四元数的旋转公式也可知道,用四元数表达旋转的形式很简洁方便。
胡尔韦兹定理

四元数能干什么(What)?

计算机图形学

Computer Graphic
这是一个应用广泛的学科,它的主要应用也正是我联想到的四元数的用途:

1.计算机辅助设计(CAD)

工科都要学习的一门课程——工程制图,现代的教学设计的上机实验要求我们使用软件:Inventor、Auto CAD等等,在3D建模时,涉及到物体的旋转。
在使用时,我们通过按住鼠标的滚轮或其他热键操作可以实现物体如我们期待的旋转。但其本质需要软件对物体的旋转动作进行平滑处理,并图像显示。

如下是在同学的协助下使用CAD绘制的台灯立体图像:

台灯

2. 计算机动画(Animation)

以下是百度百科中的解释,也解释了一直在我脑海中的谜团:动画片是如何制作的?

传统的动画片都是手工绘制的。由于动画放映一秒钟需要24幅画面,故手工绘制的工作量相当大。而通过计算机制作动画,只需生成几幅被称作“关键帧”的画面,然后由计算机对两幅关键帧进行插值生成若干“中间帧”,连续播放时两个关键帧被有机地结合起来。这样可以大大节省时间,提高动画制作的效率。

根据这个思路,二维的动画只需要对某个图像(如人物)进行平移,并在变换姿态时变换图像。
三维的动画则需要对某个物体的姿态改变平移和旋转进行平滑过渡。

3.计算机游戏

这个大家容易想象,也和计算机动画相仿,而在b站中搜得的视频中正有Unity关于四元数的应用。Unity是开放3D游戏的平台,之前在很多地方看到过它的身影。
限于资源缺乏,我基本把所有关于四元数的相关视频阅尽,下面是比较关键的视频:
关于Unity中的四元数( quaternions )欧拉角 (Euler angles )万向锁 (gimbol lock)

位姿估计

除了计算机的仿真工作,四元数同时应用于现实领域。

SLAM

第一次接触四元数的场景,旋转公式对实体进行监测——通过传感器获取刚体的系列参数。利用卡尔曼滤波公式对刚体的姿态进行估计,亦即实现定位(Location).

这是我下一步要学习了解的方向,暂时对这方面的知识没用很直观的感受,因此也只能浅谈。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值