浙江省工程建设信息官方网站/快速排名新

浙江省工程建设信息官方网站,快速排名新,企业网站建设与管理试题,wordpress增加搜索框核心 欧拉角描述的是一种变换,只关注变换后的结果,不关注变换过程中的运动 而四元数不仅良好地表示了一种变换,也很好地表示了一种运动过程,又避免了万向节死锁Gimbal Lock变换顺序,是欧拉角变换的一部分,…

核心

  1. 欧拉角描述的是一种变换,只关注变换后的结果,不关注变换过程中的运动
    四元数不仅良好地表示了一种变换,也很好地表示了一种运动过程,又避免了万向节死锁Gimbal Lock
  2. 变换顺序,是欧拉角变换的一部分,仅仅说明三个轴的角度是不完整的;在用欧拉角说明某一个物体的姿态时,一定要加上先后顺序
  3. 无论是欧拉角还是四元数,它们都只描述旋转,不包含任何拉伸平移

从低维开始

参考3B1B的四元数视频
在复频域分析中,我们常见的 j j j 或者 i i i 其实就是一种旋转表示
e π i e^{\pi i} eπi 表示绕某一个轴旋转180°
即:(欧拉公式,可从三角函数推得) e i θ = s i n θ + i c o s θ e^{i \theta} = sin\theta + icos\theta eiθ=sinθ+icosθ
令: w = s i n θ w = sin\theta w=sinθ, x = c o s θ x = cos\theta x=cosθ
进而: e i θ = w + x i e^{i \theta} = w + x i eiθ=w+xi
也就是说,我们用两个量描述了一个在二维平面中的旋转,但是这两个量满足某种约束关系(本质上是一个量分解出的两个量,用一维的量描述了二维的旋转)
举例来说, 0 + 1 i 0+1i 0+1i表示逆时针旋转90°, 2 2 − 2 2 i \frac{\sqrt2}{2}-\frac{\sqrt2}{2}i 22 22 i表示顺时针旋转45°


进入高维

就像常规复数描述二维旋转时,一个二维单位圆覆盖了整个一维空间,一个三维单位球覆盖了整个二维空间,同样的,一个四维的单位超球也会覆盖整个三维空间;
相应的,我们用一维量描述二维旋转,用二维量描述三维旋转,那么我们用三维量描述四维旋转就合乎情理了
事实上,四元数描述的是四维中单位超球的旋转,三维坐标系的原点是 1 + 0 i + 0 j + 0 k 1+0i+0j+0k 1+0i+0j+0k,这是由超球的投影决定的,球上的该点投影下来,正好落在原点处
对于四元数来说:
q = w + x i + y j + z k q = w+xi+yj+zk q=w+xi+yj+zk
w ∈ [ 0 , 1 ] , x , y , z ∈ [ − 1 , 1 ] w∈[0, 1], \ \ x, y, z∈[-1, 1] w[0,1],  x,y,z[1,1]的部分(正实部的部分)被映射到了三维坐标系中的单位球中,其他部分(负实部的部分)映射到了三维单位球以外的空间

但请时刻记住:无论这个四元数的点映射到三维空间的哪里,它原本所在的位置都是那个四维单位超球,满足 w 2 + x 2 + y 2 + z 2 = 1 w^2+x^2+y^2+z^2=1 w2+x2+y2+z2=1
此外,等价于普通复数的虚轴表示二维中的一个圆,在四元数中, i , j , k i, j, k i,j,k 每个轴都代表超球上的一个圆环,进一步的,三维中的每一个平面,都代表了超球上的一个球面


四元数运算

运算的本质

让我们回忆一下文章开头所讲的:
四元数不仅是变换,也是一种状态

因此,四元数乘法可以类比于矩阵向量运算
当两个四元数相乘时,可以认为是一个四元数状态应用了另一个四元数变换,从而得到下一个四元数状态
换而言之,变换将状态量的四个分别应用了该变换,再重新组成了新的状态量

对应的几何含义

四元数变换所描述的旋转方向符合右手螺旋定则
举例来说:右手拇指从1指向 i ,当应用 i 变换时,jk圆会绕着手指蜷曲的方向旋转;
推广:右手拇指从1指向变换四元数,当应用该变换时,垂直于该四元数向量的圆会绕着手指蜷曲的方向旋转

每应用一次单位四元数变换,相当于绕某一个轴旋转90度,连续应用4次就转回来了
由此,我们可以简单得出一个性质:四元数运算不满足乘法交换律

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

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

相关文章

基于Linux下的MyBash命令解释器

项目介绍:⼀个⽤C语⾔实现的简单shell,可以接受⽤⼾输⼊的命令并执⾏操作,⽀持多管道和重 定向。 mybash---打造自己的命令解释器 目前我们Linux的系统默认的命令解释器是bash; 命令解释器(也称为命令行解释器或shell&#xff0…

Ingredient-oriented Multi-Degradation Learning for Image Restoration论文阅读

摘要:重点在于关联多个任务本质的联系。 不同恢复任务的关联性很重要。 揭示退化现象的内在机理联系很有意义。 多合一的方法能在单一模型中处理多种退化问题,可扩展性较差。 成分导向范式挖掘不同图像退化现象背后的物理规律或特征模式。 成分导向退化重…

禅道后台命令执行漏洞

漏洞简介 禅道是第一款国产的开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、 组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整地覆盖了项目管理的核心流程。 禅道管理思想注重实效,功能完备丰富,…

密码学——知识问答

目录 1、阐述公开密钥算法的定义,结合RSA算法说明公钥密码的基本要求。 说明公钥与私钥两种密码学并举例与其应用 1. 公钥密码学(非对称加密): 2. 私钥密码学(对称加密): 对比公钥与私钥密码…

海思烧录工具HITool电视盒子刷机详解

HiTool是华为开发的一款用于海思芯片设备的刷机和调试工具,可对搭载海思芯片的机顶盒、智能电视等设备进行固件烧录、参数配置等操作。以下为你详细介绍: 功能用途 固件烧录:这是HiTool最主要的功能之一。它能够将下载好的适配固件文件烧录到…

软考中级-软件设计师 23种设计模式(内含详细解析)

23种设计模式 🎯 创建型设计模式📌 抽象工厂(Abstract Factory) 设计模式📌 工厂方法(Factory Method)设计模式📌 单例(Singleton)设计模式📌 生成…

软考笔记5——软件工程基础知识

第五章节——软件工程基础知识 软件工程基础知识 第五章节——软件工程基础知识一、软件工程概述1. 计算机软件2. 软件工程基本原理3. 软件生命周期4. 软件过程 二、软件过程模型1. 瀑布模型2. 增量模型3. 演化模型(原型模型、螺旋模型)4. 喷泉模型5. 基于构建的开发…

Git入门——常用指令汇总

以下是一份精心整理的 Git常用指令速查表,基本覆盖日常开发使用场景,建议收藏备用👇 🔧 环境配置 指令作用git config --global user.name "你的名字"设置全局用户名git config --global user.email "你的邮箱&qu…

常见中间件漏洞攻略-Jboss篇

一、CVE-2015-7501-Jboss JMXInvokerServlet 反序列化漏洞 第一步:开启靶场 第二步:访问该接口,发现直接下载,说明接⼝开放,此接⼝存在反序列化漏洞 http://47.103.81.25:8080/invoker/JMXInvokerServlet 第三步&…

播放本地视频-实现视频画廊功能

实现一个视频画廊,播放本地视频 可以切换不同视频的功能 文章目录 需求:场景实现方案遇到的坑播放器选择界面显示不全视频友好显示问题缓存 总结 需求: 实现一个视频画廊,播放本地视频 可以切换不同视频的功能 场景 图片画廊的…

从零构建大语言模型全栈开发指南:第二部分:模型架构设计与实现-2.2.2文本生成逻辑:Top-k采样与温度控制

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 2.2.2 文本生成逻辑:Top-k采样与温度控制1. 文本生成的核心挑战与数学框架1.1 自回归生成的基本流程2. `Top-k`采样原理与工程实现2.1 数学定义与算法流程2.2 PyTorch实现优化3. 温度控制的数学本质与参…

01 相机标定与相机模型介绍

学完本文,您将了解不同相机模型分类、内参意义,及对应的应用代码模型 标定的意义 建模三维世界点投影到二维图像平面的过程。标定输出的是相机模型。 相机模型 相机模型可以解理解为投影模型 +

Stereolabs ZED Box Mini:机器人与自动化领域的人工智能视觉新选择

在人工智能视觉技术快速发展的今天,其应用场景正在持续拓宽,从智能安防到工业自动化,从机器人技术到智能交通,各领域都在积极探索如何利用这一先进技术。而 Stereolabs 推出的ZED Box Mini,正是一款专为满足这些多样化…

K8S学习之基础五十九:部署gitlab服务

部署gitlab docker pull gitlab/gitlab-ce:latest docker tag gitlab/gitlab-ce:latest 172.16.80.140/gitlab/gitlab-ce:latest docker push 172.16.80.140/gitlab/gitlab-ce:latest docker run -d -p 443:443 -p 80:80 -p 222:22 --name gitlab --restart always -v /home/…

多线程 --- 多线程编程

在写代码的时候,可以使用多进程进行并发编程(在Java中,不太推荐,很多很多关于进程相关的API,在Java标准库中,都没有提供),也可以使用多线程进行并发编程(系统提供了多线程…

vue中上传接口file表单提交二进制文件流

1.使用elementui上传组件 要做一个选择文件后&#xff0c;先不上传&#xff0c;等最后点击确定后&#xff0c;把file二进制流及附加参数一起提交上去。 首先使用elementui中的上传组件&#xff0c;设置auto-uploadfalse&#xff0c;也就是选择文件后不立刻上传。 <el-uplo…

C++ map容器总结

map基本概念 简介&#xff1a; map中所有元素都是pair pair中第一个元素为key&#xff08;键值&#xff09;&#xff0c;起到索引作用&#xff0c;第二个元素为value&#xff08;实值&#xff09; 所有元素都会根据元素的键值自动排序 本质&#xff1a; map/multimap属于关…

【Zookeeper搭建(跟练版)】Zookeeper分布式集群搭建

&#xff08;一&#xff09;克隆前的准备 1. 用 xftp 发送文件 2. 时间同步&#xff1a; sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 3. zookpeeper 安装 部署 呼应开头发送的压缩包&#xff0c;解压&#xff1a; cd ~ tar -zxvf zookeeper-3.4.6.tar.g…

Flutter项目之页面实现以及路由fluro

目录&#xff1a; 1、项目代码结构2、页面编写以及路由配置main.dart(入口文件)page_content.dartindex.dart&#xff08;首页&#xff09;application.dart&#xff08;启动加载类&#xff09;pubspec.yaml&#xff08;依赖配置文件&#xff09;login.dart&#xff08;登录页&…

记录Jmeter 利用BeanShell 脚本解析JSON字符串

下载org.json包(文档说明) #下载地址 https://www.json.org/ # github 地址 https://github.com/stleary/JSON-java # api 文档说明 https://resources.arcgis.com/en/help/arcobjects-java/api/arcobjects/com/esri/arcgis/server/json/JSONObject.htmlBeanShell脚本 import…