数学基础:图形与游戏开发笔记第章中的方位与角位移多思考多实践同等重要

参考书籍:【3D数学基础:图形与游戏开发】 ISBN7-302-10946XTP.7262

(美) etcher Dun著、(美) an Arberry 清华大学出版社

直观地说,我们知道,物体的“方位”主要描述的是物体的朝向。

向量有“方向”但没有“方位”。无论如何旋转这个向量都等于原来的向量,因为向量的属性只有“大小”,而没有“厚度”和“宽度”。

此物体转动的时候,“方位”发生了变化,称为旋转,旋转的量称为“角位移”。

欧拉角的基本思想是将角位移分解为绕三个互相垂直轴的三个旋转组成的序列。这听起来很复杂,其实它是非常直观的(事实上,易于使用正是它的主要优点之一)。

本书使用“heading-pitch-bank”约定。

有些书籍也使用“yaw(偏航角)- pitch(俯仰角)- roll(翻滚角)”约定。

它们之间的对应关系是:x轴对应heading/yaw、y轴对应pitch/pitch、z轴对应bank/roll。

前面说过欧拉角的基本思想,所以欧拉角旋转需要分三次旋转,每次旋转对应一个轴:

这个问题容易在欧拉角插值的时候发生。

正常的时候是这样的:

翻滚角:

俯仰角:

偏航角:

当ptich轴为±90°时,此时yaw与roll在同一平面,这时对这两个轴施加旋转都不会真正的让物体转动,相当于roll和yaw被锁住了。

万向锁的实质是一个x、y、z轴的层级问题,注意父轴转动的时候里面嵌套着的子轴也会跟着一起转动。

这个问题无论如何都不能真正解决,只能尽力避免,例如:在遇到万向锁问题的时候调整一下旋转的次序。

先复习一下复数,因为复数和四元数高度相似。

形式为:a+bi

a称为实部,b称为虚部。

复数和复数之间可以相互加减乘。

加减的规则是对应实部和虚部相加减即可。

乘则是用分配律计算,再用i2 = -1即可。

即将虚部符号乘以-1,记作:p*:

例如:p=(a+bi),则p* = (a-bi)

即||p||:

用复数乘法就可以将一个向量旋转(并拉伸)到一个角度:

用三个虚维度来描述空间,而实数则在第四个维度,实数垂直于全部的三个虚轴。

用一个标量分量w和一个3D向量分量(x,y,z),即:

[w,v]或[w,(x,y,z)]

需要三个虚部。即:[w,(x,y,z)] = w+xi+yj+zk

其中:i2=j2=k2=ijk=-1

设n为任意旋转轴,q绕n旋转θ度,则轴-角对为(n,θ),定义了一个角位移:绕n指定的轴旋转了θ度:

即将每个分量都取负。

-q和q代表的实际角度(角位移)是相同的,例如θ加上360°不会改变角位移,但它使q的四个分量都变负了,所以在3D空间中任意角位移都有两种不同的表示方法,他们互相为负。

即[1,(0,0,0)]或[1,0]。

它代表没有旋转(即角位移)。它的相当于实数里面的1、矩阵里面的单位矩阵。

与向量的模、复数的模完全相同。

把轴-角对的n和θ带入到四元数模的公式里:

四元数的模几何意义是:当n为单位向量时(||n|| = 1),||q|| = 1,称为单位(规范化)四元数。

四元数的逆p-1与实数的逆类似。例如:a的逆a-1为1/a,即a-1a=1,则q-1q=[1,(0,0,0)](单位四元数)。

注意:

四元数叉乘满足结合律。即:q(rs) = (qr)s。

四元数叉乘不满足交换律。即:qr != rq。

叉乘后的新四元数的模等于原四元数的模相乘。即:||qr|| = ||q|| ||r||。

此结论保证了两个单位四元数相乘结果还是单位四元数。

叉乘后的逆等于各个四元数的逆以相反的顺序相乘,与矩阵的逆的计算相似,并且也可以扩展。即:(ab)-1 = b-1a-1。

四元数的共轭q*与复数共轭相同,将虚部求负即可。

注意:v是旋转轴,这里将v变成负的,意思就是说将旋转轴的方向变成负的了。

所以四元数的共轭表示的是向相反的方向进行旋转(即颠倒旋转轴的正方向)。

我们经常用四元数表示绕着v方向旋转,而用它的共轭表示绕着v的反方向旋转。

p是3D中的一任一点,用四元数来表示。

q表示旋转轴n和旋转角度θ。

p'表示将 点p 绕着 由q表示的旋转轴和旋转角度θ进行旋转 后的新的点。

下图表示了先将点p绕着由a表示的旋转轴和旋转角度θ进行旋转,再绕着由b表示的旋转轴和旋转角度θ进行旋转,它符合前面说的叉乘公式(叉乘后的逆等于各个四元数的逆以相反的顺序相乘):

一个方位a和另一个方位b之间有一个角位移d的差距。即从方位a旋转角度d就能到方位b,或者说方位a与方位b之间的夹角是d。

我们将它叫做“差”,但在数学上实际上是除法,因为角度差计算一般来说要用减法,但是在四元数却是用的除来表示差。计算方式是:

与向量的点乘相同。

这三种运算我们很少直接使用。

首先,让我们重写四元数的定义,引入一个新的变量a,等于半角θ/2:a=θ/2

四元数对数:

四元数指数:

四元数和标量相乘:

四元数能作为底数,记作qt(不要和指数运算混淆,指数运算具接受一个四元数作为参数,而四元数求幂有两个参数——四元数和指数)。四元数求幂的意义类似于实数求幂。

这对四元数求幂非常有用,因为它可以从角位移中抽取“一部分”。例如,四元数q代表一个角位移。现在想要得到代表1/3这个角位移的四元数,可以这样计算:q1/3。

指数超出[0,1]范围外的几何行为和预期的一样(但有一个重要的注意事项)。例如,q2代表的角位移是q的两倍。假设q代表绕x轴顺吋针旋转30°,那么q代表绕x轴顺时针旋转60°。q-1/3代表绕x轴逆时针旋转10°。

它的定义是:

当令3D数学中四元数存在的理由是由于一种称作serp的运算,它是球面线性插值的缩写 Spherical Linear Interpolation) slerp运算非常有用,因为它可以在两个四元数间平滑插值slerp运算避免了欧拉角插值的所有问题。

slerp的基本思想是沿着4D球面上连接两个四元数的弧插值(这就是球面线性插值这个名称的由来)。

补充说明:

略。

游戏开发、3D数学基础:图形与游戏开发、Unreal Engine、游戏开发基础、数学、游戏开发数学基础、书籍笔记、笔记。

THE END
0.时栅角位移传感器误差分析与补偿方法研究传感器技术作为精密测量技术中信息获取的源头,是精密检测的关键技术之一。目前,在装备制造业、国防军工、航空航天等领域中使用的位移传感器多为光栅传感器,但由于 【学位授予单位】:重庆理工大学 【学位级别】:硕士 【学位授予年份】:2022 下载App查看全文jvzquC41efse0lsmk0ipo7hp1Cxuklqg1EJNF663886.397473?8::3jvo
1.理解有限与无限小角位移的矢量特性①一个直观的诠释是,有限大角位移不满足加法的交换律(也就是改变旋转操作的次序,最后的结果就会有所变化),肯定不是矢量。但是无限小角位移就很难从直观去想象了。实际上,旋转可以用矩阵来表示,通常来说矩阵的乘法(体现为角位移的加法)是不满足交换律的,但无限小角位移的情况下一些交叉项是高阶小量可以被略去jvzquC41dnuh0lxfp0tfv8OaMaIitrxv1cxuklqg1fkucrqu16:32A>57
2.me.cust.edu.cn/jsxx/53634.htm12、高分辨率角位移传感器研制及产业化-误差分析与补偿技术研究, 国家重点研发计划重大仪器专项,2016.01-2018.12,94万,组员, 学术论文、专利、教材及专著、奖励、成果转化等信息 一、学术论文 1、马国庆,刘丽,于正林,等. 大型复杂曲面三维形貌测量及应用研究进展[J]. jvzquC41og4dw|y0gf{/ew4luz~07<;560nuo
3.基于PCB工艺的柱面型时栅角位移传感器研究【摘要】:传感器技术是三大现代信息技术之一,随着人类社会的进步,各行各业对精密测量的要求日益提高,位移传感器在精密制造、国防军工、工业生产中充当着重要角色。时栅是作者所在团队提出的一种“以时间来测量空间”的位移传感器。但是目前的电磁感应式时栅角位移传感器存在以 jvzquC41efse0lsmk0ipo7hp1Cxuklqg1EJNF663886.397473?84>3jvo
4.soliworksmotion中测量角位移solidworks角位移本文详细介绍了使用SW08Simulationmotion进行四杆机构运动仿真的过程中,如何正确选取测量点以获取绿色输出杆的角位移。通过在被测零件上选取两点,再在参考物上选取一点作为角度中心,即可完成角位移的测量。 本人用的是SW08,我在用SW08 Simulationmotion做完一个四杆机构的运动仿真之后,想获得绿色输出杆的角位移,但提示jvzquC41dnuh0lxfp0tfv8vsa691;9=431gsvrhng1jfvjnnu1716=65227
5.角度位移台圆弧滑台都基于压电驱动技术。角位移台有不同的半径。除了它们的紧凑性,这些角位移台是非常刚性的,因此非常适合微米或纳米定位任务。由于采用高精度交叉滚子轴承,其角精度jvzq<84yyy4djrscgvu/ew4ufz€u1:=:0jznn
6.2021一建《市政》,4表高度提炼供热管网附件核心考点一级建造师(1)利用球体角位移来补偿管道的热伸长而消除热应力的,适用于三向位移的热力管道 (2)优点是占用空间小,节省材料,不产生推力;缺点是易漏水、漏汽,要加强维修 上述补偿器中,自然补偿器、方形补偿器和波纹管补偿器是利用补偿材料的变形来吸收热伸长的,而套筒式补偿器和球形补偿器则是利用管道的位移来吸收热伸长的 jvzquC41yy}/4<80eqs0lƒx31u€0z~jdc1814:5912<27;676;=47<70jvsm