关于旋转永远是做游戏的难点和混乱点。我们知道表示一个旋转有多种方式,简单的欧拉角,复杂点的四元数,再复杂点的矩阵。之前接触unity可以用四元数和欧拉角两种方式表示旋转,最近一直研究虚幻引擎,目前只看到了欧拉角这一种旋转方式。 欧拉角是表达旋转的最简单的一种方式,形式上它是一个三维向量,其值分别代表 ...
分类:
其他好文 时间:
2020-04-18 23:03:29
阅读次数:
80
向量的矩阵形式 有两个向量:\[\overrightarrow {\rm{a}} = ({a_1},{a_2},{a_3})\] \[\overrightarrow {\rm{b}} = ({b_1},{b_2},{b_3})\] 叉乘的结果表示一个向量,这个向量向量垂直于a,b向量构成的平面。 \ ...
分类:
其他好文 时间:
2020-04-01 01:17:36
阅读次数:
412
四元数旋转 四元数在3D几何中有非常重要的应用——插值旋转。但它在图形学里可能算是比较难啃的一根骨头:首先我们上学的时候基本不会学到四元数的原理,其次我们活在一个3D的世界里,很难想象4D空间在发生着什么。理解四元数旋转还是挺困难的一件事。 ——先几句题外话。本文中笔者按照数学的习惯采用右手系,X轴 ...
分类:
其他好文 时间:
2020-03-29 13:06:22
阅读次数:
93
William Rowan Hamilton 在 1843 年发明了四元数(quaternions)。他努力推广四元数来描述三维空间,不过当时有很多数学家反对,认为四元数很邪恶。 不过在一个世纪之后,四元数在计算机工业界起死回生,包括计算机图形学、机器人等领域应用广泛。他描述三维旋转简洁、计算高效、 ...
分类:
其他好文 时间:
2020-03-02 21:06:46
阅读次数:
107
使用MPU6050硬件DMP解算姿态是非常简单的,下面介绍由三轴陀螺仪和加速度计的值来使用四元数软件解算姿态的方法。 我们先来看看如何用欧拉角描述一次平面旋转(坐标变换): 设坐标系绕旋转α角后得到坐标系,在空间中有一个矢量在坐标系中的投影为,在内的投影为由于旋转绕进行,所以Z坐标未变,即有。 转换 ...
分类:
其他好文 时间:
2020-02-02 19:56:11
阅读次数:
116
在SLAM中经常会用到李群李代数与四元数来表示旋转变换,这些数学公式往往需要推导来推导去,分分钟搞到头都大了。但在SLAM中往往用到其中那么几个固定的性质,所以是没有必要对这些数学基础作过多深入的研究,只需要记住其中一些常用的公式及性质即可。因此,本人在这里对这些数学基础作一个简单的总结,以便日后在 ...
分类:
其他好文 时间:
2020-01-04 10:56:40
阅读次数:
72
本文我们讨论复数及其旋转的含义。复数很有意思,本文介绍了复数的基本定义和性质,以及它关于旋转的几何意义。 复数对于旋转的两个方面极为重要: 1. 它引入了旋转算子(rotational operator)的思想:可以通过复数表示一个旋转变换。 2. 它是四元数和多向量的内在属性。 虽然我们暂时不讨论 ...
分类:
其他好文 时间:
2019-11-30 23:57:58
阅读次数:
145
中文译版:https://www.qiujiawei.com/understanding-quaternions/ 英文原版:http://www.3dgep.com/understanding-quaternions/ ...
分类:
其他好文 时间:
2019-11-07 10:11:09
阅读次数:
91
请编程验证对于小量w = [0.01, 0.02, 0.03]T,通过李代数和四元数两种更新方法得到的结果接近。 这段代码本身不难,但是可能对于初学者,对Eigen库和Sophus库不太熟悉,这里我把两个库的官方使用说明网站贴上来 Eigen库编程文档 Sophus库编程文档 有了这两文档,使用Ei ...
分类:
其他好文 时间:
2019-10-18 11:05:46
阅读次数:
136