旋转关系介绍

news2024/9/23 9:35:30

目录

旋转矩阵与轴角

旋转矩阵与欧拉角

旋转矩阵与四元数

轴角与四元数

轴角与欧拉角

欧拉角与四元数

欧拉角与四元数


旋转矩阵与轴角

设旋转矩阵R=[■8(r_11&r_12&r_13@r_21&r_22&r_23@r_31&r_32&r_33)],轴角使用一个单位向量n和一个角度值θ来表示。仿射变换中如果已知轴角ω=θn,其中n=[n_x,n_y,n_z]^T。根据罗德里格斯公式,则计算得到旋转矩阵:

如果已知旋转矩阵R,则:

对于转轴n,在旋转后保持不变,因此:转轴n是矩阵R特征值1对应的特征向量,求解方程之后进行归一化得到旋转轴。

旋转矩阵与欧拉角

知欧拉角,根据公式2-17和公式2-18,ZYX顺序的内旋与XYZ顺序的外旋得到的旋转矩阵一致,因此R_1=R_2=Z(γ)Y(β)X(α),则:

如果已知旋转矩阵R,则以ZYX顺序的内旋计算出的欧拉角为:

旋转矩阵与四元数

设四元数q=q_0+q_1i+q_2j+q_3k=[s,v]^T,旋转矩阵为R,则:

如果已知旋转矩阵R,则四元数计算:

轴角与四元数

已知轴角,绕单位向量n=[n_x,n_y,n_z]^T旋转角度θ,则求得四元数:

如果已知四元数q=q_0+q_1i+q_2j+q_3k=[s,v]^T,则:

轴角与欧拉角

轴角与欧拉角采用间接转换的方式,从轴角转到欧拉角需要先将轴角转换为旋转矩阵再转换为欧拉角,而从欧拉角转到轴角则需要先将欧拉角每个元素转换为单一的轴角再相乘之后转换为最终的轴角。

欧拉角与四元数

将ZYX内旋方式旋转的欧拉角(或者说是绕固定轴X-Y-Z依次旋转α、β和γ)转换为四元数:

q=q_0+q_1i+q_2j+q_3k=[s,v]^T到欧拉角转换为:

欧拉角与四元数

由于arctan和arcsin的取值范围在[−π/2,π/2],而绕某个轴旋转时最大为360°,因此使用atan2函数代替arctan函数:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2036759.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go--GMP调度模型

目录 GMP模型G、M、P简介P和M的个数**P和M何时会被创建**goroutine创建流程goroutine什么时候会被挂起 GMP的调度调度流程调度策略调度时机同时启动了一万个goroutine,会如何调度? GMP模型 G、M、P简介 GMP是Go运行时调度层面的实现,包含4个…

质量对中国开发商提升游戏品牌信誉和信任度的影响

随着全球游戏产业的持续增长,中国开发商正在大举进军国际市场。然而,他们面临的关键挑战之一是建立和维护与全球参与者的品牌信誉和信任。他们的游戏质量在实现这一目标方面起着至关重要的作用。从技术性能到故事讲述和本地化,高质量的游戏对…

OpenGL3.3_C++_Windows(35)

PBR_IBL漫反射 IBL图像的光照(Image based lighting):非直接光源,它是一种更精确的环境光照输入格式,甚至也可以说是一种全局光照的粗略近似。环境光照:获取每个wi光源辐射率,求辐照度:将周围环…

Linux学习笔记11(计算机网络)

目录 网络七层模型/五层模型 IP地址分类 CIDR Centos7的网卡IP配置 RockyLinux9的网卡IP配置 网络七层模型/五层模型 自下到上 物理层: 建立物理连接,传输 0 和 1 的比特流 数据链路层: 物理地址寻址,流量控制,差错…

基于vue框架的SSM基于B_S的毕业设计题目管理系统的设计与实现ij0q7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:学生,教师,毕设题目,毕设选题,毕设任务书,开题报告,中期检查,毕业论文,论文成绩,答辩成绩,答辩通知,班级 开题报告内容 基于Vue框架的SSM(SpringSpring MVCMyBatis)的毕业设计题目管理系统设计与实现 开题报告…

刷题记录第109天-K个一组反转链表

解题思路: 第一步:实现一个数组,给定一段链表的头结点和尾节点,反转该链表,并返回新的头结点和尾结点。 第二步:初始化一个虚拟头结点,用于记录最终头结点和规范操作。 第三步:给定一…

​产品经理-​你如何理解“互联网思维(35)

在产品规划和功能改版中,确实非常重视用户需求和体验。产品需求是互联网产品的核心 用户体验是互联网产品的重点。在互联网新产品规划中,会非常重视用户验证环节 确保做出来的东西确实是用户想要的;而在已经上线的产品中,往往会有…

Raspberry Pi Pico 家族的进化 —— RP2040、RP2350与RP2354性能比较

随着树莓派Pico系列的不断扩展,其背后的芯片也得到了升级和改进。从最初的RP2040到最新的RP2354,每一次迭代都带来了新的功能和性能提升。本文将详细对比RP2040、RP2350和RP2354三款芯片的关键特性,帮助开发者了解它们的差异,并选…

Windows File Recovery卡在99%怎么解决?实用指南!

为什么会出现“Windows File Recovery卡在99%”的问题? Windows File Recovery(Windows文件恢复)是微软设计的命令行应用程序。它可以帮助用户从健康/损坏/格式化的存储设备中恢复已删除/丢失的文件。 通过输入相关命令,设置源/…

【轨物推荐】技术创新的演进逻辑

注:本文节选自郭朝晖老师的《知行-工业基因的数字化演进》 推进数字化技术的过程本质上是一种技术创新。理解创新的逻辑,有利于推进数字化技术。 科技工作的价值往往短期被高估,长期被低估。短期被高估,是因为忽视了技术应用过程…

LSPosed模块开发第一篇

安装LSPosed 设备pixel 3a Android 12 Magisk root 环境 LSPosed地址: https://github.com/LSPosed/LSPosed 下载zygisk的,riru没效果 https://github.com/LSPosed/LSPosed/releases 下载完push 到手机,Magisk 安装模块 Magisk设置里面的Z…

【人工智能】【机器学习】- 好书推荐之《深度学习调参指南》

目录 目标读者 核心内容 特色 结构 《深度学习调参指南》是一份由Google和哈佛大学的研究人员与工程师共同编写的实战手册,旨在帮助读者系统性地优化深度学习模型的性能。该指南强调了在深度学习实践中遇到的实际问题和解决方案,尤其关注超参数调优的…

go-zero结合自定义模版校验前端参数

一、自定义模版的使用 如果想对官网goctl命名生成的项目结构改变的话,可以使用模版,自定义模版,然后生成自己想要的文件 1、使用命令将官方模版映射到本地 goctl template init2、在项目的根目录下添加文件夹,把刚刚映射到本地的拷贝到项目中 3、使用模版根据api文…

luckyexcel 编辑预览excel文件

luckyexcel 编辑预览excel文件 支持后端传文件流预览编辑&#xff0c;也支持选择本地文件编辑预览 看效果 上代码 <template><div style"margin: 30px"><div class"button-box2"><div><div style"color: red">…

【精通SDL之----SDL_RenderReadPixels截屏】

SDL_RenderReadPixels截屏 前言一、SDL_RenderReadPixels简介二、问题现象三、规避方案1. 离屏纹理2. ding! *灵光一现* 前言 最近使用SDL2在鸿蒙系统(Harmoney OS)上截取视频播放过程中的数据&#xff0c;发现捕获的数据为空&#xff0c;然在windows上却可以正常捕获&#xff…

Linux 内核源码分析---网络层分析

版本(version)&#xff1a;指定所用 IP 协议的版本&#xff0c;该字段有效值为 4 或 6&#xff1b; IP首部长度(IHL)&#xff1a;定义首部的长度&#xff0c;由于选项数量可变&#xff1b; 服务区分&#xff1a;用于更复杂协议选项&#xff1b; 长度&#xff1a;指定分组的总长…

AI技术重塑招聘流程

一、引言 随着科技的飞速发展&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度渗透到社会的各个领域&#xff0c;其中&#xff0c;人力资源管理领域也不例外。在全员招聘这一关键环节中&#xff0c;AI技术的应用不仅极大地提高了招聘效率&#xff0c;还…

【Java数据结构】---Queue

乐观学习&#xff0c;乐观生活&#xff0c;才能不断前进啊&#xff01;&#xff01;&#xff01; 我的主页&#xff1a;optimistic_chen 我的专栏&#xff1a;c语言 &#xff0c;Java 欢迎大家访问~ 创作不易&#xff0c;大佬们点赞鼓励下吧~ 文章目录 前言队列Queue队列的模拟…

fme处理空间数据入门v0

概述 本教程是最最最基本的fme处理空间数据内容&#xff0c;给新同事介绍我以前是怎么干活用的&#xff0c;基本啥有用的东西。 本教程主要说如何在 FME Workbench中创建模板文件&#xff08;一般我们把fme写的工作空间就叫模板&#xff09;&#xff0c;教程里面主要是利用GI…

Linux2.6内核进程调度队列详细讲解

上图是 Linux2.6 内核中进程队列的数据结构&#xff0c;之间关系也已经给大家画出来&#xff0c;方便大家理解。 一个 CPU 拥有一个 runqueue。 Linux真正的调度方式是通过runqueue进行调度的&#xff0c;我们知道进程的优先级范围是根据nice值确定的&#xff0c;而nice值的范围…