MATLAB - 四元数(quaternion)

系列文章目录


前言


一、简介

四元数是一种四元超复数,用于三维旋转和定向。

四元数的表示形式为 a+bi+cj+dk,其中 a、b、c 和 d 为实数,i、j 和 k 为基元,满足等式:i2 = j2 = k2 = ijk =-1。

四元数集用 H 表示,定义在实数的四维向量空间 R4 中。H 中的每个元素都有一个基于基元素 i、j 和 k 线性组合的唯一表示。

三维空间中的所有旋转都可以用旋转轴和围绕该轴的角度来描述。与旋转矩阵相比,四元数的优势在于旋转轴和旋转角度易于解释。例如,考虑 R3 中的一个点。要旋转该点,需要定义一个旋转轴和一个旋转角度。

04f35effaf274d64aa5b824330e23f8d.png

旋转的四元数表示可表示为 %7B2%7D%5Cright%29%5Cleft%28u_%20b%5Cmathrm%7Bi%7D+u_%7B%7Bc%7D%7D%5Cmathrm%7Bj%7D+u%20_d%5Cmathrm%7Bk%7D%5Cright%29%24 ,其中 θ 是旋转角度,[ub、uc 和 ud] 是旋转轴。) ,其中 θ 是旋转角度,[ub、uc 和 ud] 是旋转轴。

二、MATLAB 用法 

quat = quaternion()
quat = quaternion(A,B,C,D)
quat = quaternion(matrix)
quat = quaternion(RV, "rotvec")
quat = quaternion(RV, "rotvecd")
quat = quaternion(RM, "rotmat",PF)
quat = quaternion(E, "euler",RS,PF)
quat = quaternion(E, "eulerd",RS,PF)
quat = quaternion(transformation)
quat = quaternion(rotation)

 三、四元数的优点

1.非奇异表达(和例如欧拉角之类的表示相比)

2.比矩阵更紧凑(更快速)

3.单位四元数的对可以表示四维空间中的一个转动。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

BigQuery Clustered Table 简介 - 聚簇表

Clustered Table的定义 聚簇可以提高某些类型的查询(例如,使用过滤条件子句的查询和聚合数据的查询)的性能。当通过查询作业或加载作业将数据写入聚簇表时,BigQuery 会使用聚簇列中的值对这些数据进行排序。这些值用于将数据整理…

使用 KVM 管理程序优化虚拟化

KVM(基于内核的虚拟机)是一项强大的开源虚拟化技术,内置于Linux 内核。它支持在单个物理主机上运行多个虚拟机 (VM),这对于资源效率、服务器整合以及为不同目的创建隔离环境特别有帮助。 本文将深入介绍 KVM 管理程序&#xff0…

1863_电荷泵的基本原理

Grey 全部学习内容汇总: GitHub - GreyZhang/g_hardware_basic: You should learn some hardware design knowledge in case hardware engineer would ask you to prove your software is right when their hardware design is wrong! 1863_电荷泵的基本原理 一直…

【经典LeetCode算法题目专栏分类】【第11期】递归问题:字母大小写全排列、括号生成

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推荐--…

C++反向迭代器

反向迭代器在实现上其实是复用了正向迭代器的代码,即利用正向迭代器进行适配,能适配的原因:有很多功能都是重合的,如 *,->,,--等,正反迭代器唯一的区别就是方向相反。 如图 那么…

小程序本地文件读、写、追加数据操作,以及修改文件内容

小程序系统文件管理器 FileSystemManager 要操作/读取本地文件,首先需要创建文件或文件夹,然后再对文件进行读写操作; 首先创建文件 FileSystemManager.writeFile 可直接创建文件并写入内容 定义文件路径,此路径在读写操作时保…

ubuntu 22.04 安装mysql服务

完整内容: https://developer.aliyun.com/article/1260321 # 安装服务 sudo apt install mysql-server# 按向导设置root密码 sudo mysql_secure_installation# 使用设置的密码登录 sudo mysql -u root -p也可以使用工具登录,例如: navicat for mysql

word2003 open word2007+

Win 7 C:\Documents and Settings\Administrator\Application Data\Microsoft\Templates 还是不行,重装office2003吧,再安装转换插件,但是再高版本好像没转换工具

Hadoop入门学习笔记——六、连接到Hive

视频课程地址:https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接:https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记(汇总) 目录 六、连接到Hive6.1. 使用Hive的Shell客户端6.2. 使用Beel…

Python----静态Web服务器-返回指定页面数据

1. 静态Web服务器的问题 目前的Web服务器,不管用户访问什么页面,返回的都是固定页面的数据,接下来需要根据用户的请求返回指定页面的数据 返回指定页面数据的实现步骤: 获取用户请求资源的路径根据请求资源的路径,读取指定文件…

HarmonyOS构建第一个ArkTS应用(FA模型)

构建第一个ArkTS应用(FA模型) 创建ArkTS工程 若首次打开DevEco Studio,请点击Create Project创建工程。如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。 选择Application应用开发&a…

【SpringCloud】-GateWay源码解析

GateWay系列 【SpringCloud】-GateWay网关 一、背景介绍 当一个请求来到 Spring Cloud Gateway 之后,会经过一系列的处理流程,其中涉及到路由的匹配、过滤器链的执行等步骤。今天我们来说说请求经过 Gateway 的主要执行流程和原理是什么吧 二、正文 …