文章目录

  • 前言
  • 一、对偶四元数是什么?
  • 二、对偶四元数乘法
  • 总结

前言

对偶四元数也称为螺旋算子,能够有效描述位置和姿态的耦合关系。


一、对偶四元数是什么?

对偶四元数是同时描述位置和姿态的一种工具,本文对其乘法进行讲解。

二、对偶四元数乘法

给定两个对偶四元数,其乘法按照四元数乘法进行处理。

a = [ a i ] ∈ R 4 \boldsymbol{a}=[a_i]\in\mathbb{R}^4 a=[ai​]∈R4, b = [ b i ] ∈ R 4 \boldsymbol{b}=[b_i]\in\mathbb{R}^4 b=[bi​]∈R4, c = [ c i ] ∈ R 4 \boldsymbol{c}=[c_i]\in\mathbb{R}^4 c=[ci​]∈R4, d = [ d i ] ∈ R 4 \boldsymbol{d}=[d_i]\in\mathbb{R}^4 d=[di​]∈R4为四个四元数,其中 a 1 a_1 a1​, b 1 b_1 b1​, c 1 c_1 c1​, d 1 d_1 d1​为相应的四个标量, ε \varepsilon ε 为对偶四元数的单位。

[ a 1 + ε b 1 a 2 + ε b 2 a 3 + ε b 3 a 4 + ε b 4 ] ∘ [ c 1 + ε d 1 c 2 + ε d 2 c 3 + ε d 3 c 4 + ε d 4 ] \left[\begin{array}{c} a_1+\varepsilon b_1\\ a_2+\varepsilon b_2\\ a_3+\varepsilon b_3\\ a_4+\varepsilon b_4 \end{array}\right] \circ \left[\begin{array}{c} c_1+\varepsilon d_1\\ c_2+\varepsilon d_2\\ c_3+\varepsilon d_3\\ c_4+\varepsilon d_4 \end{array}\right] ​a1​+εb1​a2​+εb2​a3​+εb3​a4​+εb4​​ ​∘ ​c1​+εd1​c2​+εd2​c3​+εd3​c4​+εd4​​ ​

参考四元数的乘法,可以对上式进行展开。
[ a 1 + ε b 1 a 2 + ε b 2 a 3 + ε b 3 a 4 + ε b 4 ] ∘ [ c 1 + ε d 1 c 2 + ε d 2 c 3 + ε d 3 c 4 + ε d 4 ] = [ ( a 1 + ε b 1 ) ( c 1 + ε d 1 ) − ( a 2 + ε b 2 ) ( c 2 + ε d 2 ) − ( a 3 + ε b 3 ) ( c 3 + ε d 3 ) − ( a 4 + ε b 4 ) ( c 4 + ε d 4 ) ( c 1 + ε d 1 ) [ a 2 + ε b 2 a 3 + ε b 3 a 4 + ε b 4 ] + ( a 1 + ε b 1 ) [ c 2 + ε d 2 c 3 + ε d 3 c 4 + ε d 4 ] + [ a 2 + ε b 2 a 3 + ε b 3 a 4 + ε b 4 ] × [ c 2 + ε d 2 c 3 + ε d 3 c 4 + ε d 4 ] ] \left[\begin{array}{c} a_1+\varepsilon b_1\\ a_2+\varepsilon b_2\\ a_3+\varepsilon b_3\\ a_4+\varepsilon b_4 \end{array}\right] \circ \left[\begin{array}{c} c_1+\varepsilon d_1\\ c_2+\varepsilon d_2\\ c_3+\varepsilon d_3\\ c_4+\varepsilon d_4 \end{array}\right] =\left[\begin{array}{c} (a_1+\varepsilon b_1)(c_1+\varepsilon d_1)-(a_2+\varepsilon b_2)(c_2+\varepsilon d_2)-(a_3+\varepsilon b_3)(c_3+\varepsilon d_3)-(a_4+\varepsilon b_4)(c_4+\varepsilon d_4)\\ (c_1+\varepsilon d_1)\left[\begin{array}{c} a_2+\varepsilon b_2\\ a_3+\varepsilon b_3\\ a_4+\varepsilon b_4 \end{array}\right] +(a_1+\varepsilon b_1)\left[\begin{array}{c} c_2+\varepsilon d_2\\ c_3+\varepsilon d_3\\ c_4+\varepsilon d_4 \end{array}\right] + \left[\begin{array}{c} a_2+\varepsilon b_2\\ a_3+\varepsilon b_3\\ a_4+\varepsilon b_4 \end{array}\right]^{\times} \left[\begin{array}{c} c_2+\varepsilon d_2\\ c_3+\varepsilon d_3\\ c_4+\varepsilon d_4 \end{array}\right] \end{array}\right] ​a1​+εb1​a2​+εb2​a3​+εb3​a4​+εb4​​ ​∘ ​c1​+εd1​c2​+εd2​c3​+εd3​c4​+εd4​​ ​= ​(a1​+εb1​)(c1​+εd1​)−(a2​+εb2​)(c2​+εd2​)−(a3​+εb3​)(c3​+εd3​)−(a4​+εb4​)(c4​+εd4​)(c1​+εd1​) ​a2​+εb2​a3​+εb3​a4​+εb4​​ ​+(a1​+εb1​) ​c2​+εd2​c3​+εd3​c4​+εd4​​ ​+ ​a2​+εb2​a3​+εb3​a4​+εb4​​ ​× ​c2​+εd2​c3​+εd3​c4​+εd4​​ ​​ ​
同时,有
[ a 2 + ε b 2 a 3 + ε b 3 a 4 + ε b 4 ] × = [ 0 − ( a 4 + ε b 4 ) a 3 + ε b 3 a 4 + ε b 4 0 − ( a 2 + ε b 2 ) − ( a 3 + ε b 3 ) a 2 + ε b 2 0 ] \left[\begin{array}{c} a_2+\varepsilon b_2\\ a_3+\varepsilon b_3\\ a_4+\varepsilon b_4 \end{array}\right]^\times=\left[\begin{array}{ccc} 0 & -(a_4+\varepsilon b_4) & a_3+\varepsilon b_3 \\ a_4+\varepsilon b_4 & 0 & -(a_2+\varepsilon b_2)\\ -(a_3+\varepsilon b_3) & a_2+\varepsilon b_2 & 0 \end{array}\right] ​a2​+εb2​a3​+εb3​a4​+εb4​​ ​×= ​0a4​+εb4​−(a3​+εb3​)​−(a4​+εb4​)0a2​+εb2​​a3​+εb3​−(a2​+εb2​)0​ ​

进一步展开,
[ a 1 + ε b 1 a 2 + ε b 2 a 3 + ε b 3 a 4 + ε b 4 ] ∘ [ c 1 + ε d 1 c 2 + ε d 2 c 3 + ε d 3 c 4 + ε d 4 ] = [ a 1 c 1 − a 2 c 2 − a 3 c 3 − a 4 c 4 + ε ( b 1 c 1 + a 1 d 1 − b 2 c 2 − a 2 d 2 − b 3 c 3 − a 3 d 3 − b 4 c 4 − a 4 d 4 ) [ c 1 a 2 + ε ( c 1 b 2 + d 1 a 2 ) c 1 a 3 + ε ( c 1 b 3 + d 1 a 3 ) c 1 a 4 + ε ( c 1 b 4 + d 1 a 4 ) ] + [ a 1 c 2 + ε ( a 1 d 2 + b 1 c 2 ) a 1 c 3 + ε ( a 1 d 3 + b 1 c 3 ) a 1 c 4 + ε ( a 1 d 4 + b 1 c 4 ) ] + [ 0 − ( a 4 + ε b 4 ) a 3 + ε b 3 a 4 + ε b 4 0 − ( a 2 + ε b 2 ) − ( a 3 + ε b 3 ) a 2 + ε b 2 0 ] [ c 2 + ε d 2 c 3 + ε d 3 c 4 + ε d 4 ] ] \left[\begin{array}{c} a_1+\varepsilon b_1\\ a_2+\varepsilon b_2\\ a_3+\varepsilon b_3\\ a_4+\varepsilon b_4 \end{array}\right] \circ \left[\begin{array}{c} c_1+\varepsilon d_1\\ c_2+\varepsilon d_2\\ c_3+\varepsilon d_3\\ c_4+\varepsilon d_4 \end{array}\right] =\left[\begin{array}{c} a_1c_1-a_2c_2-a_3c_3-a_4c_4+\varepsilon(b_1c_1+a_1d_1-b_2c_2-a_2d_2-b_3c_3-a_3d_3-b_4c_4-a_4d_4) \\ \left[\begin{array}{c} c_1a_2+\varepsilon (c_1b_2+d_1a_2)\\ c_1a_3+\varepsilon (c_1b_3+d_1a_3)\\ c_1a_4+\varepsilon (c_1b_4+d_1a_4) \end{array}\right] + \left[\begin{array}{c} a_1c_2+\varepsilon (a_1d_2+b_1c_2)\\ a_1c_3+\varepsilon (a_1d_3+b_1c_3)\\ a_1c_4+\varepsilon (a_1d_4+b_1c_4) \end{array}\right] + \left[\begin{array}{ccc} 0 & -(a_4+\varepsilon b_4) & a_3+\varepsilon b_3 \\ a_4+\varepsilon b_4 & 0 & -(a_2+\varepsilon b_2)\\ -(a_3+\varepsilon b_3) & a_2+\varepsilon b_2 & 0 \end{array}\right] \left[\begin{array}{c} c_2+\varepsilon d_2\\ c_3+\varepsilon d_3\\ c_4+\varepsilon d_4 \end{array}\right] \end{array}\right] ​a1​+εb1​a2​+εb2​a3​+εb3​a4​+εb4​​ ​∘ ​c1​+εd1​c2​+εd2​c3​+εd3​c4​+εd4​​ ​= ​a1​c1​−a2​c2​−a3​c3​−a4​c4​+ε(b1​c1​+a1​d1​−b2​c2​−a2​d2​−b3​c3​−a3​d3​−b4​c4​−a4​d4​) ​c1​a2​+ε(c1​b2​+d1​a2​)c1​a3​+ε(c1​b3​+d1​a3​)c1​a4​+ε(c1​b4​+d1​a4​)​ ​+ ​a1​c2​+ε(a1​d2​+b1​c2​)a1​c3​+ε(a1​d3​+b1​c3​)a1​c4​+ε(a1​d4​+b1​c4​)​ ​+ ​0a4​+εb4​−(a3​+εb3​)​−(a4​+εb4​)0a2​+εb2​​a3​+εb3​−(a2​+εb2​)0​ ​ ​c2​+εd2​c3​+εd3​c4​+εd4​​ ​​ ​

再进行整理,可以得到
[ a 1 + ε b 1 a 2 + ε b 2 a 3 + ε b 3 a 4 + ε b 4 ] ∘ [ c 1 + ε d 1 c 2 + ε d 2 c 3 + ε d 3 c 4 + ε d 4 ] = [ a 1 c 1 − a 2 c 2 − a 3 c 3 − a 4 c 4 + ε ( b 1 c 1 + a 1 d 1 − b 2 c 2 − a 2 d 2 − b 3 c 3 − a 3 d 3 − b 4 c 4 − a 4 d 4 ) [ c 1 a 2 + a 1 c 2 + ε ( c 1 b 2 + d 1 a 2 + a 1 d 2 + b 1 c 2 ) c 1 a 3 + a 1 c 3 + ε ( c 1 b 3 + d 1 a 3 + a 1 d 3 + b 1 c 3 ) c 1 a 4 + a 1 c 4 + ε ( c 1 b 4 + d 1 a 4 + a 1 d 4 + b 1 c 4 ) ] + [ − ( a 4 + ε b 4 ) ( c 3 + ε d 3 ) + ( a 3 + ε b 3 ) ( c 4 + ε d 4 ) ( a 4 + ε b 4 ) ( c 2 + ε d 2 ) − ( a 2 + ε b 2 ) ( c 4 + ε d 4 ) − ( a 3 + ε b 3 ) ( c 2 + ε d 2 ) + ( a 2 + ε b 2 ) ( c 3 + ε d 3 ) ] ] \left[\begin{array}{c} a_1+\varepsilon b_1\\ a_2+\varepsilon b_2\\ a_3+\varepsilon b_3\\ a_4+\varepsilon b_4 \end{array}\right] \circ \left[\begin{array}{c} c_1+\varepsilon d_1\\ c_2+\varepsilon d_2\\ c_3+\varepsilon d_3\\ c_4+\varepsilon d_4 \end{array}\right] =\left[\begin{array}{c} a_1c_1-a_2c_2-a_3c_3-a_4c_4+\varepsilon(b_1c_1+a_1d_1-b_2c_2-a_2d_2-b_3c_3-a_3d_3-b_4c_4-a_4d_4) \\ \left[\begin{array}{c} c_1a_2+a_1c_2+\varepsilon (c_1b_2+d_1a_2+a_1d_2+b_1c_2)\\ c_1a_3+a_1c_3+\varepsilon (c_1b_3+d_1a_3+a_1d_3+b_1c_3)\\ c_1a_4+a_1c_4+\varepsilon (c_1b_4+d_1a_4+a_1d_4+b_1c_4) \end{array}\right] + \left[\begin{array}{c} -(a_4+\varepsilon b_4)(c_3+\varepsilon d_3)+(a_3+\varepsilon b_3)(c_4+\varepsilon d_4)\\ (a_4+\varepsilon b_4)(c_2+\varepsilon d_2)-(a_2+\varepsilon b_2)(c_4+\varepsilon d_4)\\ -(a_3+\varepsilon b_3)(c_2+\varepsilon d_2)+(a_2+\varepsilon b_2)(c_3+\varepsilon d_3) \end{array}\right] \end{array}\right] ​a1​+εb1​a2​+εb2​a3​+εb3​a4​+εb4​​ ​∘ ​c1​+εd1​c2​+εd2​c3​+εd3​c4​+εd4​​ ​= ​a1​c1​−a2​c2​−a3​c3​−a4​c4​+ε(b1​c1​+a1​d1​−b2​c2​−a2​d2​−b3​c3​−a3​d3​−b4​c4​−a4​d4​) ​c1​a2​+a1​c2​+ε(c1​b2​+d1​a2​+a1​d2​+b1​c2​)c1​a3​+a1​c3​+ε(c1​b3​+d1​a3​+a1​d3​+b1​c3​)c1​a4​+a1​c4​+ε(c1​b4​+d1​a4​+a1​d4​+b1​c4​)​ ​+ ​−(a4​+εb4​)(c3​+εd3​)+(a3​+εb3​)(c4​+εd4​)(a4​+εb4​)(c2​+εd2​)−(a2​+εb2​)(c4​+εd4​)−(a3​+εb3​)(c2​+εd2​)+(a2​+εb2​)(c3​+εd3​)​ ​​ ​


总结

对偶四元数的乘法与四元数的乘法形式一致。

20230208 对偶四元数的乘法相关推荐

  1. 笔记-基于对偶四元数的姿轨耦合动力学模型1

    基于对偶四元数的航天器姿轨耦合建模 对偶四元数能一体化描述空间刚体转动和平动,基于对偶四元数建立航天器相对运动的姿轨耦合动力学模型.对偶四元数表示的动力学模型形式简洁,具有明确的物理意义,与四元数描述 ...

  2. 对偶四元数——使用python3实现对偶四元数的符号运算 v2.0

    实现对偶四元数简单的符号运算,数值运算,2.0版本 改正了v1.0中的一些错误,添加了四元数归一化,转换为齐次变换矩阵,转换为螺旋,转换为双矢量,三种共轭等功能 可以先看最后例子的效果 目录 1 创建 ...

  3. 四元数,对偶四元数,三维旋转,平移

    注:本文中, 带箭头的粗体字母(如 n ⃗ \vec{\boldsymbol n} n )表示 三维向量 不带箭头的粗体字母(如 q \boldsymbol q q)表示 四元数 顶上带尖尖的粗体字母 ...

  4. C语言实现四元数的乘法(三维矢量、四元数以及旋转矢量与四元数相乘源码)

    四元数的乘法 四元数 四元数的运算 源码 四元数 在将三维矢量代数推广至乘法和除法运算的研究中,爱尔兰数学家.物理学家哈密顿于1843年创建了四元数((quaternion)和四元数代数.四元数是指由 ...

  5. 点的旋转(4):四元数的乘法

    点的旋转(4):四元数的乘法 前言 矢量积 旋转 C++代码 前言 同样的,跟前面一眼四元数的乘法也代表了旋转,四元数的积有多种定义,这里我们只讲被用在旋转操作的上积 -- 矢量积 矢量积 对于两个四 ...

  6. 四元数乘法_JPL四元数和Hamilton四元数的区别

    四元数的定义: 1.顺序 JPL: 实部在后 , Hamilton: 实部在前 , 2.坐标系 JPL: 左手坐标系 Hamilton: 右手坐标系 3.坐标系的转换方向 JPL: global-to ...

  7. 【转】四元数的推导过程

    [转]四元数的推导过程 来自:https://blog.csdn.net/qq_28773183/article/details/80083607 四元数旋转推导过程 1.基本概念 (1) 四元数的一 ...

  8. 四元数(Quaternion)和欧拉角(Eulerangle)

    欧拉旋转.四元数.矩阵旋转之间的差异 除了欧拉旋转以外,还有两种表示旋转的方式:矩阵旋转和四元数旋转.接下来我们比较它们的优缺点. 欧拉角 优点:三个角度组成,直观,容易理解. 优点:可以进行从一个方 ...

  9. 彻底搞懂四元数(转载)

    转载自:https://blog.csdn.net/silangquan/article/details/39008903 提要 旋转的表达方式有很多种,有欧拉角,旋转矩阵,轴角,四元素等等,今天要学 ...

最新文章

  1. 小程序支付 PHP
  2. Spring 框架 详解 (四)------IOC装配Bean(注解方式)
  3. 桔子浏览器电脑版看不了视频怎么办 视频无法播放怎么解决
  4. CDH5.16.2下载安装
  5. android toolbar区别,Android《ToolBar》
  6. 运行中SQL Server查询存储
  7. OGNL表达式语言详解
  8. 计算机无法验证签名,计算机中win10/win7无法验证文件数字签名的解决方法
  9. IT界最短的笑话:上中台!
  10. python如何判断tcp异常断开_TCP socket如何判断连接断开
  11. unity3d FPS 枪的后座力
  12. 等保安全计算环境之Windows(安全审计+入侵防范)(二级)
  13. 数字IC验证方法的分类
  14. java如何给数组初始化?
  15. 城市公共交通周 9月18日郑州5条公交免费坐
  16. Python数据可视化---pygal模块
  17. 防抖节流的实现与区分(详解带代码)
  18. 吐血整理 | 据说这里有一份关于BAT的 “宝藏级” 面试记录终于可以看了!
  19. java作用域外调用对象,Java Web应用中往往通过设置不同作用域的属性来达到通讯的目的。 如果某个对象只在同一请求中共享,通过调用哪个类 的setAttribute方法设置属性。( )...
  20. 【威联通Nas】安装docker版本的Nextcloud

热门文章

  1. DCDC直流非隔离负高电压输出电源模块12V24V转0-负50v/-150v/-200v/-250v/-300v/-400v/-500v
  2. 论Cardano修仙之路,聊ADA现状分析
  3. linux sftp与ftp,Linux ftp和sftp命令
  4. 入门图形学:光照模型(四)
  5. IIC总线随机读VHDL实现FIFO实现乒乓操作HM62256测试定制IP核
  6. Python基础必掌握的5种数据类型和8种内置函数基本操作
  7. 表单验证-----验证图片格式
  8. string+DFS leetcode-17.电话号码下的字母组合
  9. 注意力机制详解(Attention详解)
  10. EOS智能合约开发系列(三)