四元数与角轴、旋转矩阵、so(3)、SO(3) 的关系

2024-01-25 12:04

本文主要是介绍四元数与角轴、旋转矩阵、so(3)、SO(3) 的关系,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

四元数定义

q = [ s , υ ] T , s = q 0 ∈ R , υ = [ q 1 , q 2 , q 3 ] T ∈ R 3 \left.q=\left[\begin{matrix}{s,\upsilon}\\\end{matrix}\right.\right]^{\mathrm{T}},s=q_{0}\in\mathbb{R},\upsilon=\left[\begin{matrix}{q_{1}},q_{2},q_{3}\\\end{matrix}\right]^{\mathrm{T}}\in\mathbb{R}^{3} q=[s,υ]T,s=q0R,υ=[q1,q2,q3]TR3
可用单位四元数表示三维空间的旋转
用虚四元数表示空间中一点 p = [ 0 , x , y , z ] T = [ 0 , υ ] T p = {\left[ {0,x,y,z} \right]^{\rm{T}}} = {\left[ {0,\upsilon } \right]^{\rm{T}}} p=[0,x,y,z]T=[0,υ]T
用四元数q旋转p后的点 p ′ = q p q − 1 p' = qp{q^{ - 1}} p=qpq1

四元数与角轴、旋转矩阵、so(3)、SO(3) 的关系

R = exp ⁡ ( ϕ ∧ ) = E x p ( ϕ ) = E x p ( θ n ) R = \exp ({\phi ^ \wedge }) = {\rm{Exp(}}\phi {\rm{) = Exp(}}\theta n{\rm{)}} R=exp(ϕ)=Exp(ϕ)=Exp(θn) ⇕ \Updownarrow q = [ cos ⁡ θ 2 , n sin ⁡ θ 2 ] T = exp ⁡ ( [ 0 , 1 2 θ n ] T ) q = {[\cos {\theta \over 2},n\sin {\theta \over 2}]^{\rm{T}}} = \exp ({[0,{1 \over 2}\theta n]^{\rm{T}}}) q=[cos2θ,nsin2θ]T=exp([0,21θn]T)
即单位四元数为纯虚四元数 [ 0 , 1 2 θ n ] T {[0,{1 \over 2}\theta n]^{\rm{T}}} [0,21θn]T的指数映射,纯虚四元数可以理解为四元数形式的李代数,其虚部为so(3)李代数一半
当四元数十分小时, q = [ 1 , 1 2 θ n ] q = [1,{1 \over 2}\theta n] q=[1,21θn]

这篇关于四元数与角轴、旋转矩阵、so(3)、SO(3) 的关系的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/643198

相关文章

Java 中的 equals 和 hashCode 方法关系与正确重写实践案例

《Java中的equals和hashCode方法关系与正确重写实践案例》在Java中,equals和hashCode方法是Object类的核心方法,广泛用于对象比较和哈希集合(如HashMa... 目录一、背景与需求分析1.1 equals 和 hashCode 的背景1.2 需求分析1.3 技术挑战1.4

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

Java中数组与栈和堆之间的关系说明

《Java中数组与栈和堆之间的关系说明》文章讲解了Java数组的初始化方式、内存存储机制、引用传递特性及遍历、排序、拷贝技巧,强调引用数据类型方法调用时形参可能修改实参,但需注意引用指向单一对象的特性... 目录Java中数组与栈和堆的关系遍历数组接下来是一些编程小技巧总结Java中数组与栈和堆的关系关于

java中新生代和老生代的关系说明

《java中新生代和老生代的关系说明》:本文主要介绍java中新生代和老生代的关系说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、内存区域划分新生代老年代二、对象生命周期与晋升流程三、新生代与老年代的协作机制1. 跨代引用处理2. 动态年龄判定3. 空间分

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,

C/C++中OpenCV 矩阵运算的实现

《C/C++中OpenCV矩阵运算的实现》本文主要介绍了C/C++中OpenCV矩阵运算的实现,包括基本算术运算(标量与矩阵)、矩阵乘法、转置、逆矩阵、行列式、迹、范数等操作,感兴趣的可以了解一下... 目录矩阵的创建与初始化创建矩阵访问矩阵元素基本的算术运算 ➕➖✖️➗矩阵与标量运算矩阵与矩阵运算 (逐元

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

Tomcat版本与Java版本的关系及说明

《Tomcat版本与Java版本的关系及说明》:本文主要介绍Tomcat版本与Java版本的关系及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Tomcat版本与Java版本的关系Tomcat历史版本对应的Java版本Tomcat支持哪些版本的pythonJ

python安装whl包并解决依赖关系的实现

《python安装whl包并解决依赖关系的实现》本文主要介绍了python安装whl包并解决依赖关系的实现,文中通过图文示例介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录一、什么是whl文件?二、我们为什么需要使用whl文件来安装python库?三、我们应该去哪儿下

css实现图片旋转功能

《css实现图片旋转功能》:本文主要介绍了四种CSS变换效果:图片旋转90度、水平翻转、垂直翻转,并附带了相应的代码示例,详细内容请阅读本文,希望能对你有所帮助... 一 css实现图片旋转90度.icon{ -moz-transform:rotate(-90deg); -webkit-transfo