通俗易懂四元数

基本概念

定义:

四元数是由实部和虚部组成的扩展复数。一个四元数可以表示为 q = a + b i + c j + d k q = a + bi + cj + dk q=a+bi+cj+dk,其中 w w w 是实部, ( x i , y j , z k ) (xi, yj, zk) (xi,yj,zk) 是虚部。他的共轭值定义为:
q ∗ = a − b i − c j − d k q^* = a - bi - cj - dk q=abicjdk
它的绝对值则是非负实数定义为
∣ h ∣ = q q ∗ = a 2 + b 2 + c 2 + d 2 |h|= \sqrt{qq^*}= \sqrt{a^2+b^2+c^2+d^2} h=qq =a2+b2+c2+d2

四元数与空间旋转

单位四元数(绝对值为1的四元数)可以用于表示三维空间里的旋转

四元数表示三维空间里的点:若三维空间里的一个点的笛卡尔坐标为 ( x , y , z ) (x,y,z) (x,y,z),则它用纯四元数(类似于纯虚数,即实部为0的四元数) x i + y j + z k xi+yj+zk xi+yj+zk 表示。

四元数表达旋转:四元数 q q q 可以表示为 q = c o s ( θ / 2 ) + u ∗ s i n ( θ / 2 ) q = cos(θ/2) + u * sin(θ/2) q=cos(θ/2)+usin(θ/2),其中 θ θ θ 是旋转角度, u = ( x , y , z ) u=(x, y, z) u=(x,y,z) 是单位旋转轴向量。

例如,假设我们要绕单位向量 u = ( 0 , 0 , 1 ) u=(0,0,1) u=(0,0,1) 旋转 90 度,构造四元数为 q = c o s ( π / 4 ) + ( 0 i + 0 j + 1 k ) ∗ s i n ( π / 4 ) q = cos(\pi/4) + ( 0i +0j+1k) * sin(\pi/4) q=cos(π/4)+(0i+0j+1k)sin(π/4)

单位四元数表示一个三维空间旋转: 设 q q q 为一个单位四元数,而 p p p 是一个纯四元数,定义旋转公式为

p ′ = q p q − 1 p^{\prime}=qpq^{-1} p=qpq1

v ′ v^{\prime} v 也是一个纯四元数。这个旋转将空间的点 p 旋转为空间的另一个点 p ′ p^{\prime} p

旋转操作的复合
下式表示将向量/点先旋转 θ 1 \theta _1 θ1再旋转 θ 2 \theta _2 θ2度。
p 21 = ( q 1 q 2 ) p ( q 1 q 2 ) − 1 = q 1 q 2 p q 2 − 1 q 1 − 1 = q 1 ( q 2 p q 2 − 1 ) q 1 − 1 p_{21}=(q_1q_2)p(q_1q_2)^{-1}=q_1q_2pq_2^{-1}q_1^{-1}=q_1(q_2pq_2^{-1})q_1^{-1} p21=(q1q2)p(q1q2)1=q1q2pq21q11=q1(q2pq21)q11

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

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

相关文章

泛微E9技术网站

泛微E9技术网站: 1、丸子小工具 - 丸子张丨OnesZha 2、官方文档网站首页: 泛微在线文档 (e-cloudstore.com) 2.1、E9表单建模前端接口API 泛微在线文档 (e-cloudstore.com) 2.2、E9流程表单前端接口API 泛微在线文档 (e-cloudstore.com)

SSRF漏洞原理与案例分析

一、什么是SSRF漏洞 SSRF (Server-Side Request Forgery:服务器端请求伪造)是一种由攻击者构造请求,由服务端发起请求的安全漏洞。一般情况下,SSRF攻击的目标是外网无法访问的内部系统(正因为请求是由服务端发起的,所以服务端能请…

Marin说PCB之如何在CST仿真软件中添加三端子的电容模型?--02

小编我在上期文章的结尾给大家留下一个小问题就是:在三端子电容创建模型中间的部分我有说了一句就是:(其中有一个creat reference pin 设置我们也默认不勾选),这个勾选不勾选有啥区别呢?这期文章就来给大家…

提高LabVIEW程序可靠性

​提高LabVIEW程序的可靠性是确保系统稳定运行、减少故障和维护成本的重要措施。以下从多个方面详细分析如何提高LabVIEW程序的可靠性 1. 选择合适的架构 1.1 状态机架构 适用情况: 多状态、多步骤操作。 具体例子:在一个自动测试系统中,…

【Samba端口映射文件共享】

Samba端口映射文件共享 参考链接:windows和linux之间的共享目录,实现Windows和Linux之间的文件共享 首先需要安装samba,Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block&#xff…

微信小程序canvas2d频繁重绘时图片闪烁问题

问题:使用了拖动事件,需要频繁重绘canvas,导致图片闪烁。 原因:官方示例中,canvas2d需要手动加载图片,再在图片的onLoad函数绘制图片,延迟太高,导致刷新时图片闪烁。 解决&#xff1…

[汇总] Docker容器详解 Macvlan 创建不同容器独立跑仿真(持续更新中)

一、概念介绍 1.1 什么是macvlan macvlan是一种网卡虚拟化技术,能够将一张网卡(Network Interface Card, NIC)虚拟出多张网卡,这意味着每个虚拟网卡都能拥有独立的MAC地址和IP地址,从而在系统层面表现为完全独立的网络…

mybatisplus字段注入MetaObjectHandler扫描不到我的指定填充字段

使用mybatisplus自带的字段填充策略注入值的时候,发现并没有扫描到我的指定字段。 1. 初始代码 Component Slf4j public class MyMetaObjectHandler implements MetaObjectHandler {private static final String createByFiled "createBy";private stati…

Python数据可视化---pygal模块(基础篇)

pygal模块 安装pygal模块 pygal模块的安装非常简单,只需输入一行pip命令即可 pip install pygal安装完成: pygal模块介绍 pygal官网地址 pygal是Python的第三方库,他的主要功能就是数据可视化,即将数字转化成图表的形式来呈…

情绪管理篇:让七情自然流露,不过分压抑也不掺杂极端的想法即可来去自如

情绪管理篇: 人有七情,本属常理,该哭的时候哭、该笑的时候笑、该怒的时候怒、该忧的时候忧 学习圣贤之学,并非让我们像木头人一样,枯木死灰,而要让自己不要被七情所缠缚、被七情所乱心,我们的喜…

CUDA-Programming-Guide-in-Chinese

CUDA-Programming-Guide-in-Chinese/第1章CUDA简介 at main HeKun-NVIDIA/CUDA-Programming-Guide-in-Chinese GitHub

ONLYOFFICE 文档 8.1 现已发布:功能全面的 PDF 编辑器、幻灯片版式等等

0、前言 在技术的快速发展和工作方式的持续演进下,现代办公软件正变得越来越强大和多样化。ONLYOFFICE,作为市场上备受瞩目的一体化办公解决方案,以其全面的文档编辑、表格处理和演示制作功能,满足了用户在不同办公场景下的需求。…

25、架构-微服务的驱动力

微服务架构的驱动力可以从多方面探讨,包括灵活性、独立部署、技术异构性、团队效率和系统弹性等。 灵活性和可维护性 灵活性是微服务架构的一个主要优势。通过将单体应用拆分成多个独立的微服务,开发团队可以更容易地管理、维护和更新各个服务。每个微…

前端 响应式设计的概念

响应式设计(Responsive Design)是一种网页设计和开发的方法论,旨在使网站能够适应各种不同的设备和屏幕尺寸,包括桌面电脑、平板电脑和手机等移动设备。其核心理念是一个网站能够根据访问者的设备特性自动调整布局、内容和功能&am…

Hi3861 OpenHarmony嵌入式应用入门--LiteOS Mutex

CMSIS 2.0接口中的Mutex(互斥锁)是用于在多线程环境中保护共享资源的访问机制。Mutex(互斥锁)是一种特殊的信号量,用于确保同一时间只有一个线程可以访问特定的共享资源。 在嵌入式系统或多线程应用中,当多…

Mysql索引底层数据结构——Java全栈知识(28)

Mysql索引底层数据结构 1、什么是索引 索引在项目中还是比较常见的,它是帮助MySQL高效获取数据的数据结构,主要是用来提高数据检索的效率,降低数据库的IO成本,同时通过索引列对数据进行排序,降低数据排序的成本&…

还看不懂 DETR 的匈牙利损失函数?4个公式教你理解

看到 DETR 的损失函数的时候,你是否有下面的疑问: 公式中的 σ ∈ S N \sigma \in \mathfrak{S}_N σ∈SN​ 是什么意思?公式中的 y ^ σ ( i ) \hat{y}_{\sigma(i)} y^​σ(i)​ 的下标 σ ( i ) \sigma(i) σ(i) 又有什么含义?DETR 的…

arduino按钮

Arduino - Button Arduino - 按钮 参考: ezButton-按钮库从按钮开关看上拉pull-up电阻、下拉电阻按键的防抖动处理 The button is also called pushbutton, tactile button or momentary switch. It is a basic component and widely used in many Arduino projec…

【gif制作】Win下视频生成GIF;工具GifCam单色保存,灰度保存,调速,编辑删除帧添加文本

下载地址 https://blog.bahraniapps.com/gifcam/#download https://gifcam.en.softonic.com/ 界面功能 GifCam 简洁、小巧的 gif 录制软件。GifCam就像照相机一样位于所有窗口的顶部,可以移动它并调整其大小录屏所需的区域。 如图:空闲状态下窗口内…

【java】JUC

5. 阻塞队列 5.1 生产者消费者概念 生产者消费者是设计模式的一种。让生产者和消费者基于一个容器来解决强耦合问题。 生产者 消费者彼此之间不会直接通讯的,而是通过一个容器(队列)进行通讯。 所以生产者生产完数据后扔到容器中&#xff0c…