数学概念 | 旋转矩阵、欧拉角、四元数

四元数 欧拉角 旋转矩阵 欧拉角通过绕三个坐标轴的旋转(通常是滚转、俯仰、偏航)来描述三维旋转。常见的旋转顺序有:XYZ、ZYX等。直观性:欧拉角是人类最自然的旋转方式,很容易理解。比如,飞机的航向(偏航)、俯仰(上仰或下俯)和滚转(左右倾斜)就是典型的欧拉角应用。易于操作:对角度的直观控制,适用于一些需要精确调整角度的应用。万向节锁(Gimbal Lock):当两个旋转轴对齐时(例如俯仰角为 ±90° 时),会导致一个自由度丢失,使得旋转失去自由度,无法描述某些方向的旋转。 阅读详情

目录

一,旋转矩阵

二维旋转矩阵

三维旋转矩阵

二,欧拉角

三,四元数

四,矩阵、欧拉角、四元数相互转换

四元数转矩阵

矩阵转四元数

欧拉角转矩阵

矩阵转欧拉角

欧拉角转四元数

四元数转欧拉角


一,旋转矩阵

二维旋转矩阵

R(\theta) = \begin{bmatrix} cos\theta & sin\theta \\ -sin\theta & cos\theta \end{bmatrix}

推导,以二维平面为例旋转\theta:

  • x^{​{}'} = cos(\theta + \alpha) = cos\thetacos\alpha - sin\thetasin\alpha =  cos\theta * x - sin\theta * y 
  • y^{​{}'} = sin(\theta + \alpha) = sin\thetacos\alpha + cos\thetasin\alpha = sin\theta * x + cos\theta * y

(x^{​{}'} , y^{​{}'}) = (x , y) * \begin{bmatrix} cos\theta & sin\theta \\ -sin\theta & cos\theta \end{bmatrix}  =(cos\theta * x - sin\theta * y ,sin\theta * x + cos\theta * y)

//Houdini vex 验证
matrix2 m = ch2('m');
vector2 p = set(@P.x, @P.y);
p *= m;

@P.x = p.x
欧拉角,轴角,四元数与旋转矩阵详解 入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。目录一、欧拉角1、静态定义2、欧拉角的表示 3、欧拉角表示的优缺点 4、欧拉角的万向节死锁(静态不存在万向锁的问题)二、四元数1、提出意义和定义 (含轴角)2、四元数的相关计算法则3、四元数的极形式4、四元数的使用举例5、四元数的优缺点三、四元数和欧拉角间的相互转化1、四元数转为欧拉角2、欧拉角转为四元数四、旋转矩阵对于在三维空间里的一个参考系,任何坐标系的取向,都可以用三个欧拉角来表现。来一个经典的示例 阅读详情

相关推荐

简单搞定四元数

1 前沿 上一篇讲到了欧拉角表示姿态时会遇到万向锁的问题,这就导致同一种空间状态欧拉角的表示方式不唯一,当出现万向锁现象时,同一种旋转有无数种欧拉角表示形式,从而导致了欧拉角差值时出现问题,因为当你俯仰角接近90°时,两组千差万别的欧拉角表示可以是同一种旋转。所以为了解决这些问题,数学上想出了用四元数的形式来表征姿态的方法。 2 四元数由来 四元数是由爱尔兰数学家Hamilton发明的,是发明的不...

weixin_44616080的博客 944

国产麒麟系统下Kettle安装避坑指南:解决aarch64架构不兼容问题

本文针对在国产麒麟系统上安装Kettle时遇到的aarch64架构不兼容问题,提供了详细的解决方案。通过剖析错误根源,指导用户获取并放置正确的SWT库文件,并修改启动脚本,成功解决“平台不支持”的报错,确保ETL工具在ARM架构的国产化环境中顺利运行。

weixin_29214691的博客 272

Quartz定时任务调度框架中的Misfire策略实战解析

本文深入解析了Quartz定时任务调度框架中的Misfire(失火)处理策略。针对SimpleTrigger和CronTrigger两种常用触发器,详细对比了其各自的Misfire指令(如NowWithExistingCount、FireAndProceed等)的核心行为与适用场景,并提供了基于不同业务需求(如数据补跑、时间点敏感度)的实战选型指南,帮助开发者构建更健壮可靠的任务调度系统。

weixin_29250573的博客 73

PointNet/PointNet++模型调参实战:如何用PyTorch让你的点云分割精度再涨5个点?

本文深入探讨了PointNet/PointNet++模型在点云分割中的调参技巧,通过PyTorch实现精度提升5个点的实战方法。重点分析了点云密度自适应策略、感受野与细节保留的平衡,以及训练加速与稳定性技巧,适用于电力巡检、自动驾驶等场景的激光点云数据处理。

weixin_30836759的博客 470

逆向分析-SeparationPreview.aip-分色预览-结构分析(一)-x64dbg条件日志打印-命令表达式-PS脚本

从功能上分析,仅显示使用的专色这个功能,并没有触发插件接口。使用X64dbg加载illustrator进程,切换到句柄窗口,在窗口过程中,右键刷新获取界面。在x64dbg中,在UI中可以输入一些条件表达式,能够计算出对应的值,并打印在日志中。常用的,如果非暂停,输出第一个参数。参数二是utf16的指针,utf16@字符串地址,这里的字符串地址为[[ebp-108]]参数一是utf8的,utf8@字符串地址,这里的字符串地址为[ebp-28]从界面上分析,一个颜色列表,及仅显示专色的多选框组成。

插件开发 638

Python爬虫终极指南:异步爬虫+Playwright逆向,高效爬取携程旅游数据

Playwright解决动态渲染和加密参数难题,模拟真实浏览器环境;aiohttp异步提升抓取效率,结合代理池和并发控制规避风控;指纹伪装、行为模拟等技巧大幅降低被检测概率。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2936

ROS从入门到精通2-7:Gazebo仿真之动态生成障碍物

动态生成障碍物在机器人导航、碰撞避障算法测试、多机协同等领域应用广泛,可以帮助开发人员快速测试,本文介绍该技术并提供基于ROS Gazebo的实现

FRIGIDWINTER的博客 4883

ESP32设备驱动-VCNL4040趋近传感器

VCNL4040 将趋近传感器 (PS)、环境光传感器 (ALS) 和高功率 IRED 集成到一个小型封装中。它通过CMOS工艺将光电二极管、放大器和模数转换电路集成到一个芯片中。

视觉与物联智能 925

高性能优化的本质

在很早之前,处理器性能的提升一般是通过减小元器件的尺寸,增加元器件的数量,提高主频来实现,这也是摩尔定律所说的,但是由于功耗的影响,主频不能一直增加。后来,由于英伟达的GPU的并行计算的出现,逐渐打破摩尔定律,人们利用多核,SIMD,SIMT来处理大量相同计算的数据,这极大的提高了效率。计算机的算力得到了巨大的提升,但是并行是困难的,对于有数据依赖的程序来说,处理并行是一件及其困难的事,但对于一些简单的数学库的计算,并行的实现相对简单。

发狂的小花的博客 269

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: VEX —— Matrix
下一篇: VEX —— Quaternion|Euler Angle
挨代码
博客等级 码龄5年 1695粉丝 384原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值