复数: 我们把形如a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位, i*i= -1; 复变函数: 四元数: 正如复数是有一个实部和一个虚部组成的,那我们将一个虚部换成三个虚部,即两两相交{i, j, k}。 其中n为三维的单位向量,i²=j²=k²=i·j·k=- ...
分类:
其他好文 时间:
2017-12-14 22:59:43
阅读次数:
170
一、矩阵 在 3D 游戏中,可以使用矩阵来表示一个物体的旋转。 1) 优点: 个人认为,理解起来最为直观。 像现成的DXSDK库中也提供了十分完善的相关接口 一个矩阵即可表示多种变换的组合 2) 缺点: 每次计算都会产生误差,因此,需要经常规范化。 耗的内存较多些。 二、欧拉角 欧拉角指的是:以世界 ...
分类:
其他好文 时间:
2017-12-13 00:07:57
阅读次数:
128
我们知道$\mathbb C$可以看做是$2$元数,再来看四元数$\mathbb H$,他的基是$1,\mathbf i,\mathbf j,\mathbf k$,并且按照下面的乘法表运算 由乘法表可以看出$\mathbb H$是一个非交换的结合代数.$\mathbb H$的每个元素类似于复数域$\ ...
分类:
其他好文 时间:
2017-11-07 20:51:55
阅读次数:
142
从应用角度说一下unity Quaternion,Quaternion是四元数,百度相关资料可能找到的都是一些大牛给你搞个矩阵云云,给你讲解四元数。在此只是从应用角度讲一讲。最简单理解四元数对应一个向量,也可以理解为一个转角,这个取决于应用场合。四元数本身没有特别的含义,就是一个思维向量(不严谨的讲 ...
分类:
编程语言 时间:
2017-11-07 16:26:51
阅读次数:
211
一、四元数 四元数本质上是个高阶复数,可视为复数的扩展,表达式为y=a+bi+cj+dk。在说矩阵旋转的时候提到了它,当然四元数在Unity里面主要作用也在于此。在Unity编辑器中的Transform组件,包括这位置(Position)、旋转(Rotation)和缩放(Scale).Rotatio ...
分类:
其他好文 时间:
2017-10-27 01:58:00
阅读次数:
235
关于旋转永远是做游戏的难点和混乱点。我们知道表示一个旋转有多种方式,简单的欧拉角,复杂点的四元数,再复杂点的矩阵。之前接触unity可以用四元数和欧拉角两种方式表示旋转,最近一直研究虚幻引擎,目前只看到了欧拉角这一种旋转方式。 欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表 ...
分类:
其他好文 时间:
2017-10-08 11:23:27
阅读次数:
252
作者:Yang Eninala链接:https://www.zhihu.com/question/23005815/answer/33971127来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 根据我的理解,大多数人用汉密尔顿四元数就只是做三维空间的旋转变换(我反正没 ...
分类:
编程语言 时间:
2017-10-01 19:01:09
阅读次数:
193
转:http://blog.csdn.net/treepulse/article/details/49281295 Transfrom.eulerAngles 1 2 3 4 5 6 Transfrom.rotation 1 2 1 2 3 4 5 6 7 8 9 10 Transfrom.Rota ...
分类:
编程语言 时间:
2017-10-01 12:21:46
阅读次数:
210
【Unity技巧】四元数(Quaternion)和旋转 原文:http://blog.csdn.net/candycat1992/article/details/41254799 四元数介绍 旋转,应该是三种坐标变换——缩放、旋转和平移,中最复杂的一种了。大家应该都听过,有一种旋转的表示方法叫四元数 ...
分类:
编程语言 时间:
2017-09-30 21:51:33
阅读次数:
331
ARCore中Pose类变换点的算法实现,主要分为两步,分别是平移和旋转。 1. 旋转向量:通过四元数计算旋转后的向量 参数列表:q表示四元数, v是长度为4的float数组,表示待旋转的向量, offsetIn表示第一个坐标值的起始索引, out代表结果向量, offsetOut表示结果向量的三个 ...
分类:
编程语言 时间:
2017-09-05 19:11:28
阅读次数:
205