【3D数学】欧拉角

3D数学-欧拉角 万向节死锁 万向节死锁的根本原因是因为轴的连带旋转导致的,至于为什么,让我们一步步的来理解 为什么用欧拉角来表示旋转 首先,我们先从一开始去思考,假设这个世界还没有欧拉角,现在,让你想办法用数字去表示一个摄像机的旋转,要求能表示它在空间内的任意角度,你会怎么去表示它? 事实上,我们只需要两个轴,x y轴,就可以做到让我们的摄像机旋转到空间内的任意一个角度,也就是上下左右。想象下,我们的头不正是这么旋转的吗?我们可以左右转头,可以抬头低头,如果脖子允许,我们完全可以不动身体,就看到世界中的任何方向。但 阅读详情

作者:尹豆(憨豆酒),联系我yindou97@163.com,熟悉图形学,图像处理领域,图形学开发内容,学习过程中的总结和记录的repo: https://github.com/douysu/computer-graphics-notes

什么是欧拉角?(借鉴于LearnOpenGL)

欧拉角使可以表示三维空间中任何旋转的三个值,一共有三种欧拉角,俯仰角,偏航角,和滚转角。欧拉角经常应用于3D场景,可以表示摄像机的姿态。下面的图片展示了它们的含义:
这里写图片描述

  • 俯仰角(仰视角):绕X轴旋转的角,如图所示经常代表飞机的仰角或者俯角,如果以人的头部为例,代表仰视或者俯视。
  • 偏航角(左右角):绕Y旋转的角,如图所示经常代表飞机的左右旋转角,如果以人的头部为例,代表左右观察事物。
  • 滚转角:绕Z轴旋转的角,如图所示代表飞机的左右翻转,无法代表人的头部,因为人的头部是无法实现旋转360度的。

最后

这里只是简单介绍了欧拉角的概念,知道欧拉角是什么概念,如果本节内容有错误和不合理之处,还请朋友们多多指出,我会虚心接受每一个建议。

3D数学之-向量矩阵欧拉角和四元数 摘要: 向量运算和点乘和叉乘很重要。 物体变换等价于相反的量变换坐标系(可以不相反的顺序例如欧拉角)。 坐标系间转换,例如物惯到惯物,那么需要相反的顺序相反的变换(逆)执行变换。 矩阵是代表物体的变换,该变换是用物体变换,假设变换到新的用旧坐标系表示的新的坐标系。 矩阵的行向量是新坐标系的基向量,是用原坐标系轴假设变换(旋转或平移)到一个新的位置后 阅读详情

相关推荐

3D数学基础---(2)欧拉角的万向锁

万向锁视频详解: https://v.youku.com/v_show/id_XNzkyOTIyMTI=.html 1.欧拉角有两种类型: 静态:即绕世界坐标系三个轴的旋转,由于物体旋转过程中坐标轴保持静止,所以称为静态。 动态:即绕物体坐标系三个轴的旋转,由于物体旋转过程中坐标轴随着物体做相同的转动,所以称为动态。 2.静态欧拉角不存在万向锁问题,只有动态欧拉角会引起万向...

qq_39154091的博客 897

3维图形旋转

三维空间的旋转(3D Rotation)是一个很神奇的东东:如果对某个刚体在三维空间进行任意次的旋转,只要旋转中心保持不变,无论多少次的旋转都可以用绕三维空间中某一个轴的一次旋转来表示。表示三维空间的旋转有多种互相等价的方式,常见的有旋转矩阵、DCM、旋转向量、四元数、欧拉角等。本篇文章主要梳理一下这些表示方式及相互转换的方法。(自我理解:三维物体在xyz坐标中,绕任意两个轴旋转就可以遍历整个三维物体的任意角落,如:电子设计竞赛的板球控制系统)

qq_37271216的博客 4601

3D数学基础——欧拉角与万向节死锁

欧拉角 万向节死锁

qq_25065595的博客 1077

工具网站推荐 - 欧拉角四元数在线可视化转化网站/三维在线旋转变换网站

1 欧拉角四元数在线可视化转换网站 网站地址:https://quaternions.online/ 1.1 静态变换 例如绕X轴旋转90度的四元数为: 在下方X处输入90,然后点击ApplyRotation即可。 下面是动图演示,有利于理解欧拉角与四元数转换: ...

HW140701的博客 9万+

深入解析i2cdetect:从基础命令到高级读写操作

本文深入解析Linux下i2cdetect工具,从基础安装、总线扫描到高级读写操作。作为i2c-tools的核心组件,i2cdetect是硬件调试的得力侦探,能快速识别I2C总线上的设备地址。文章还涵盖了i2cdump、i2cset、i2cget等进阶工具,并介绍了如何在C程序中调用读写接口进行嵌入式开发,是掌握I2C通信调试的实用指南。

weixin_29189987的博客 371

迈创Cameralink采集卡与MIL软件集成开发实战指南

本文详细介绍了迈创Cameralink采集卡与MIL软件的集成开发实战指南,涵盖硬件安装、驱动配置、MIL软件深度设置及图像采集处理等关键步骤。特别适合工业视觉检测和医疗影像领域,通过优化配置和性能调优,实现高速稳定的图像处理。

weixin_29204205的博客 422

欧拉角的理解

关于欧拉角的概念,欧拉角的定义(动态,静态,内旋、外旋),以及内旋和外旋的公式推导。

hangl_ciom的博客 2万+

【华为Hilink SDK Linux系统开发】目录 开源一小步

目录 【华为Hilink开发】第一章:华为hilink平台简介及开发流程 【华为Hilink开发】第二章:华为hilink SDK网络适配、网关添加删除 【华为Hilink开发】第三章:华为hilink SDK子设备添加、删除 【华为Hilink开发】第四章:华为hilink SDK子设备控制及同步 【华为Hilink开发】第五章:华为hilink SDK适配遇到的问题 ...

开源一小步 3618

欧拉角和万向节死锁

一、什么是欧拉角         欧拉角就是物体绕坐标系三个坐标轴(x, y, z轴)的旋转角度,在这里坐标系可以是世界坐标系,也可以是物体坐标系,旋转顺序也是任意的,可以是xyz,xzy,yxz,zxy,yzx,zyx中的任何一种,这种绕三个轴旋转的方式称为卡尔丹式,或者xyx,yxy,xzx,zxz,zyz,yzy中的任何一种,这种绕两个轴旋转的方式称为欧拉式。         欧拉角可以...

吾生也有涯,而知也无涯 1万+

fastbin attack快速入门

0x01 fastbin简介 Fastbin包含0x20~0x80大小bin的数组指针,用于快速分配小堆块。fastbin按照单链表结构进行组织,相同大小的bin在同一个链表中,fd指向下一个bin,采用LIFO(Last In First Out)机制。在fastbin中,堆块的inuse标志都为1,处于占用状态,防止chunk释放时进行合并,加快小堆块的分配。 正常fastbin的使用 通过这个简单的案例来了解fastbin的单链表结构,malloc和free的过程。 #include<stdio

abelxu 1571

手把手教你用STM32硬件SPI驱动BMI088陀螺仪(附完整代码)

本文提供了一份详尽的STM32硬件SPI驱动BMI088陀螺仪的实战指南。内容涵盖从硬件连接、SPI底层配置、驱动层封装到设备初始化、数据读取与同步策略,并深入探讨了数据处理、滤波融合及温度补偿等核心技巧,旨在帮助开发者构建稳定高效的IMU驱动框架,解决BMI088应用中常见的挑战。

quiet的专栏 528

欧拉角(Euler angles)详解

欧拉角是由 Leonhard_Euler 引入的三个角度,用于描述刚体相对于固定坐标系的方向。它们也可以表示物理学中移动参考系的方向或三维线性代数中基的方向。欧拉角是一种基于三种较简单旋转运动(称为俯仰、滚动和偏航)创建一般旋转的机制。如下图,一架沿x轴方向飞行的飞机可以通过转向左或转向右(偏航),朝上飞或朝下飞(俯仰),或简单绕x轴旋转(滚动)来改变飞行方向。可以看出俯仰、偏航、滚动分别就是绕z轴、y轴、x轴旋转,上面已经给出了这三种特殊旋转的旋转矩阵。

qq_656236576的博客 1万+

SAP PP工艺路线Routing保姆级配置指南:从CA01创建到替代/并行顺序实战

本文详细解析SAP PP模块中工艺路线(Routing)的配置与应用,从基础创建(CA01)到高级功能如替代顺序和并行顺序的实战操作。通过真实案例演示,帮助用户掌握SAP PP工艺路线的精细化管理,提升生产流程效率。

weixin_30898555的博客 388

基于 Three.js 实现 3D 数学欧拉角

order 是旋转顺序,可以是 'XYZ', 'YXZ', 'ZXY', 'ZYX', 'YXZ', 'ZXY' 等。利用欧拉角的三种旋转顺序,你可以实现复杂的旋转效果。通过修改 THREE.Euler 的参数,你可以调整物体的旋转角度,甚至可以根据需求进行动态旋转。为了旋转物体,我们可以使用 THREE.Euler 来设置物体的欧拉角。在 animate 函数中,我们每次通过 euler.y += 0.01 旋转立方体一点,然后渲染新的帧。通过设置欧拉角的三个值,你可以控制物体在三维空间中的旋转。

qq_34820371的博客 729

2026年数字IC设计华为笔试带答案解析

这篇文章是一份数字IC设计工程师笔试的试卷结构和部分题目解析。试卷包含单选题31题(每题2分)、多选题10题(每题4分)和简答/编程题4题(每题7分),总分130分,考试时长120分钟。 摘要重点: 试卷涵盖数字IC设计的关键知识点,包括Verilog语法、时序逻辑、状态机设计、跨时钟域处理等; 题目解析详细说明了各选项的正确性,如非阻塞赋值特性(D错误)、功耗影响因素(C与组合逻辑级数弱相关)等; 包含实际工程问题,如DDR4接口电平(SSTL-1.2)、卡诺图变量排序(格雷码)等; 部分题目考察基础概念

Open 368

Carla中如何渲染opendrive车道线和车道标识(全网独家,附代码)

carla是可以单独加载opendrive并渲染路面的,但是无法把车道线渲染出来,这是一个大坑,因为没有车道线就无法给感知输入。楼主已经实现,直接渲染车道线或者带PBR贴图的车道标识。实现起来非常简单,但必须对carla源码以及ue的开发足够了解。在carla源码中有一个很重要的类opendrivegenerator,它是关于opendrive渲染的全部方法,但是你是找不到它实例化的地方的,因为它被定义在蓝图关卡中。网上包括carla官方关于carla源码的分析少之又少,楼主将自己的经验写出来供大家参考。

u013998156的博客 1089

Three.js 实现 3D 数学欧拉角

X轴(俯仰角 Pitch)- Y轴(偏航角 Yaw)- Z轴(滚转角 Roll)在 Three.js 中,欧拉角通过对象来实现。通过设置欧拉角的三个值,你可以控制物体在三维空间中的旋转。

mad970906的博客 609

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Unity开发中常用的基础3D数学(向量,点乘,叉乘,矩阵,四元数,欧拉角)

在看了很多文章和书籍直后发现Unity中的数学知识是很重要的,想要做到游戏的高真实度和高流畅度,数学是必不可少的,今天就来记录一下基础的3D数学在Unity中开发时的运用,若文章中所写有不足,欢迎指出留言,互相交流,感谢! 转载请标注转载地址 一、Unity中的向量 向量这个词大家应该不陌生,在数学里向量就是一个方向,没有大小,同样,在Unity中我们可以根据向量去获取方向。比如说,我想把...

光的博客 5967

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Unity 3D数学之欧拉角

什么是欧拉角 欧拉角的优点: 欧拉角的缺点: Unity引擎限制沿x轴旋转范围如下: 用欧拉角做旋转代码如下; public Vector3 eluer; private void OnGUI() { eluer = this.transform.eulerAngles; if (GUILayout.Repe...

奋斗的菇凉的博客 1885

3D数学基础——矩阵、欧拉角和四元数的相互转换与比较

矩阵、欧拉角和四元数的相互转换与比较 相互转换 欧拉角转换到矩阵 矩阵转换到欧拉角 四元数转换到矩阵 矩阵转换到四元数 欧拉角转换到四元数 四元数转换到欧拉角 方位表示比较 矩阵 优点 可以立即进行向量的旋转; 矩阵的形式被图形API所使用;当和图形API交流时,最终必须用矩阵来描述所需的转换; 矩阵的组合实现多个角位移的连接; 逆矩阵就是“相反"的角位移,因为旋转矩阵是正交的,而正交矩阵的逆矩阵等于 转置矩阵。 缺点 矩阵占用更多的空间,欧...

qq_25065595的博客 1065

3D数学 欧拉角编程

欧拉角编程1. 欧拉角转换到矩阵 欧拉角描述了一个旋转序列。分别计算出每个旋转的矩阵再将它们连成一个矩阵,这个矩阵就代表了整个角位移。注意,要区分物体-惯性矩阵还是惯性-物体矩阵,它们互逆(也互为转置矩阵)。 void RotationMatrix::setup(const EulerAngles& orientation) { //计算角度的sin和cos值 float sh,

梦幻DUO的游戏开发之路 1683

3D数学 学习笔记(3) 欧拉角与四元数

3D数学 学习笔记(3) 欧拉角与四元数 参考书籍: 《3D数学基础:图形与游戏开发》 【Numberphile数字狂】神奇四元数 常用矩阵和四元数表示“角位移”,用欧拉角表示“方位”。欧拉角常用约定“heading-pitch-bank”围绕轴分别代表:y、x、z,使用的是左手坐标系,从惯性坐标系到物体坐标系。要注意的是heading使用的是惯性坐标,pitch和bank使用的是物

l773575310的博客 3613

旋转矩阵与欧拉角:3D开发中的核心数学与避坑指南

在计算机图形学、机器人学和游戏开发中,三维旋转是描述物体姿态与运动的基础。其核心数学原理通常通过旋转矩阵和欧拉角两种方式表达。旋转矩阵作为正交矩阵,提供了无歧义、唯一性强的坐标变换描述,是底层运算的基石。而欧拉角以偏航、俯仰、滚转三个直观角度,成为人机交互的友好接口。然而,欧拉角存在内旋与外旋的定义差异,以及致命的万向节死锁问题,这常导致姿态解算错误和动画插值灾难。理解这些概念的原理、技术价值与局限,对于实现稳健的3D引擎、机器人SLAM和运动控制至关重要。本文将从这些基础切入,深入解析旋转矩阵与欧拉角的内

weixin_33824385的博客 287

3D数学 欧拉角类源代码(附中文注释)

欧拉角类源代码(附中文注释)///////////////////////////////////////////////////////////////////////////// // // 3D数学基础:游戏与图形开发 // 3D Math Primer for Games and Graphics Development // // EulerAngles.h - 欧拉角类声明 // Eul

梦幻DUO的游戏开发之路 1793

3D数学之方位与角位移、欧拉角与四元数

3D物体如何描述方位: 1.方向 2.角位移 3.旋转 方位≠方向 当向量自转时,不会改变向量的属性 但是物体自转时,物体的方位就变化了 表示方法: 位置:使用相对于参考系的位移 方位:相对于已知方位的旋转来描述的,也就是角位移 使用矩阵形式描述方位: 3D物体,描述坐标系中的方位的一种法就是列出这个坐标系的基向量 基向量构成一个3x3矩阵,用这个矩阵表示方位 也就是说: 一个旋转矩阵可以把一个坐标系中的向量旋转到另一个坐标系中 使用矩阵的优点: 1.方便的计算向量旋转 2.图形API都在用 3.多个矩阵

东北砍王的栖息地 1248

3D数学基础————EulerAngles类数学原理

1.欧拉角的限制 //变成"限制集"欧拉角 void canonize(); 1.1欧拉角的表达方式不唯一,会有别名问题。 例如: pitch:135° 可以转换为pitch:45°,heading:180°,bank:180°. 方案: 应该将pitch限制在[-90°,+90°],heading[-180°,+180°],bank[-180°,+180°]; 1.2欧拉角会产...

qq_39328456的博客 612
上一篇: 【OpenGL编程】摄像机漫游
下一篇: 【高质量C++/C总结1】高级数据类型枚举Enum
尹豆(douysu)
博客等级 码龄9年 151粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值