万向节死锁(Gimbal Lock)问题 上文中以前说过,欧拉旋转的顺规和轴向定义,自然造就了“万向节死锁”问题。本文主要来探索它自然形成的原因。 陀螺仪 首先。我们来了解Gimbal 到底是个什么玩意儿。以下来自维基百科中关于Gimbal的一段引述: 平衡环架(英语:Gimbal)为一具有枢纽的装 ...
分类:
编程语言 时间:
2017-08-11 13:25:40
阅读次数:
297
一、开篇 慢慢的、慢慢的、慢慢的就快要到飞控的主要部分了,飞控飞控就是所谓的飞行控制呗,一个是姿态解算一个是姿态控制,解算是解算,控制是控制,各自负责各自的任务。我也不懂。还在学习中~~~~ 近期看姿态预计部分看的太累了,明显发现基础知识太薄弱,什么欧拉角、DCM、四元数、gyro误差、矫正、正交化 ...
分类:
其他好文 时间:
2017-07-22 19:52:47
阅读次数:
1171
#include #include #include #define CLAMP(x , min , max) ((x) > (max) ? (max) : ((x) < (min) ? (min) : x)) typedef struct quater{ float x , y , z , w; ... ...
分类:
其他好文 时间:
2017-07-07 11:50:35
阅读次数:
228
我们首先绘制一个正方体,它有8个顶点,6个面。每个面由2个三角形组成,一共12个三角形,所以顶点索引是12个。为了保证所有的面向外,三角形顶点顺序由前面介绍的右手定则确定。 生成正方体后,我们给它加一个位移矩阵。使用矩阵表示位移是非常不直观的,所以我们借助THREEJS,将欧拉角转换为矩阵,然后传递 ...
分类:
其他好文 时间:
2017-06-10 22:30:50
阅读次数:
196
最近在做一个类似VR照片的demo,使用陀螺仪传感器返回的姿态角/欧拉角,以及四元数来切换相应图片,让你感觉似乎是一个真实的场景。里面运用的技术,会跟无人机,或者VR、AR有些相似,希望给网友们一个初步的认识... ...
分类:
其他好文 时间:
2017-06-02 11:38:50
阅读次数:
484
游戏中的摄像机,都是聚焦到客户端主角身上。 为了实现这个功能,我写了两个脚本,第一个脚本用来控制客户端主角的位置和旋转,使用WSAD键控制主角的前后左右移动,使用鼠标右键控制主角的旋转。 第二个脚本是根据客户端主角的transform,设置摄像机的transform,使得摄像机聚焦在主角身上。 这两 ...
分类:
编程语言 时间:
2017-06-01 12:09:43
阅读次数:
360
今天来写一个小钟表,事实上非常easy,就运用到了欧拉角。 首先创建时钟、分钟、秒钟以及4个点(12点、3点、6点、9点)偷懒了~~没弄那么多点。 时钟、分钟、秒钟这三个父级的中心一定要注意,我们旋转的是父级的欧拉角。 (父级的中心在子级的顶点) 如图: 接下来我们来写代码。例如以下: using ...
分类:
编程语言 时间:
2017-05-12 17:25:41
阅读次数:
161
【3D计算机图形学】变换矩阵、欧拉角、四元数 旋转矩阵、欧拉角、四元数主要用于:向量的旋转、坐标系之间的转换、角位移计算、方位的平滑插值计算。 一、变换矩阵: 首先要区分旋转矩阵和变换矩阵: 旋转矩阵:向量绕某一个轴旋转,用3x3的矩阵表示。 变换矩阵:向量的移动、旋转、缩放,用4x4的矩阵表示。 ...
分类:
其他好文 时间:
2017-05-08 14:37:09
阅读次数:
196
1 eulerAngles:欧拉角 此属性用来返回或者是设置Quaternion实例对应的欧拉角 对GameObject对象的Transform进行欧拉角的变换次序是,先绕Z轴->X轴->Z轴 注意:不同的旋转次序得到的最终状态是不同的。 对GameObject对象的旋转角进行赋值的方式通常有两种: ...
分类:
其他好文 时间:
2017-04-25 16:56:14
阅读次数:
200
如何描述三维空间中刚体的旋转,是个有趣的问题。具体地说,就是刚体上的任意一个点P(x, y, z)围绕过原点的轴(i, j, k)旋转θ,求旋转后的点P\'(x\', y\', z\')。 旋转矩阵 旋转矩阵乘以点P的齐次坐标,得到旋转后的点P',因此旋转矩阵可以描述旋转, ?????x′y′z′1 ...
分类:
其他好文 时间:
2017-04-23 01:13:34
阅读次数:
371