栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

20220621 Dual Quaternion

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

20220621 Dual Quaternion

文章目录
  • 对偶数
  • 一、对偶数是什么?
  • 二、对偶矢量
  • 三、对偶四元数


对偶数 一、对偶数是什么?

https://zhuanlan.zhihu.com/p/358146509

对偶数是一种特殊的自洽的运算,类似于常用的复数基本单位 i i i ( i 2 = − 1 i^2=-1 i2=−1),这里数学家们对对偶数基本单位的定义是 ϵ epsilon ϵ ( ϵ 2 = 0 epsilon^2=0 ϵ2=0 且 ϵ ≠ 0 epsilonneq0 ϵ​=0)。

类似于复数的定义 a + i b a+ib a+ib,对偶数的定义为 a + ϵ b a+epsilon b a+ϵb。

基于上述定义,定义两个对偶数 d 1 = a 1 + ϵ b 1 d_1=a_1+epsilon b_1 d1​=a1​+ϵb1​ 和 d 2 = a 2 + ϵ b 2 d_2=a_2+epsilon b_2 d2​=a2​+ϵb2​ ,按照一般的运算法则可以得到对偶数的运算:
k d 1 = ( k a 1 ) + ϵ ( k b 1 ) d 1 + d 2 = ( a 1 + a 2 ) + ϵ ( b 1 + b 2 ) d 1 d 2 = a 1 a 2 + ϵ ( a 1 b 2 + a 2 b 1 ) + ϵ 2 b 1 b 2 = a 1 a 2 + ϵ ( a 1 b 2 + a 2 b 1 ) d 1 ∗ = a 1 − ϵ b 1 ∣ d 1 ∣ = d 1 d 1 ∗ = ∣ a 1 ∣ d 1 − 1 = 1 a 1 + ϵ b 1 = a 1 − ϵ b 1 a 1 2 = 1 a 1 − ϵ b 1 a 1 2 if  a 1 ≠ 0 d 2 d 1 = a 2 + ϵ b 2 a 1 + ϵ b 1 = ( a 2 + ϵ b 2 ) ( a 1 − ϵ b 1 ) ( a 1 + ϵ b 1 ) ( a 1 − ϵ b 1 ) = a 1 a 2 + ϵ ( a 1 b 2 − a 2 b 1 ) a 1 2 = a 2 a 1 + ϵ ( b 2 a 1 − a 2 b 1 a 1 2 ) if  a 1 ≠ 0 begin{aligned} k d_1&= (k a_1) + epsilon (k b_1) \ d_1+d_2 &= (a_1+a_2) + epsilon (b_1+b_2) \ d_1d_2 &=a_1a_2+ epsilon (a_1b_2+a_2b_1)+epsilon^2b_1b_2=a_1a_2+ epsilon (a_1b_2+a_2b_1) \ d_1^* &=a_1-epsilon b_1 \ |d_1| & = sqrt{d_1d_1^*}=|a_1| \ d_1^{-1}&=frac{1}{a_1+epsilon b_1}=frac{a_1-epsilon b_1}{a_1^2}=frac{1}{a_1}-epsilonfrac{b_1}{a_1^2} quad text{if}~ a_1neq 0 \ frac{d_2}{d_1}&=frac{a_2+epsilon b_2}{a_1+epsilon b_1}=frac{(a_2+epsilon b_2)(a_1-epsilon b_1)}{(a_1+epsilon b_1)(a_1-epsilon b_1)}=frac{a_1a_2+epsilon(a_1b_2-a_2b_1)}{a_1^2}=frac{a_2}{a_1}+epsilon(frac{b_2}{a_1}-frac{a_2b_1}{a_1^2}) quad text{if}~ a_1neq 0 end{aligned} kd1​d1​+d2​d1​d2​d1∗​∣d1​∣d1−1​d1​d2​​​=(ka1​)+ϵ(kb1​)=(a1​+a2​)+ϵ(b1​+b2​)=a1​a2​+ϵ(a1​b2​+a2​b1​)+ϵ2b1​b2​=a1​a2​+ϵ(a1​b2​+a2​b1​)=a1​−ϵb1​=d1​d1∗​ ​=∣a1​∣=a1​+ϵb1​1​=a12​a1​−ϵb1​​=a1​1​−ϵa12​b1​​if a1​​=0=a1​+ϵb1​a2​+ϵb2​​=(a1​+ϵb1​)(a1​−ϵb1​)(a2​+ϵb2​)(a1​−ϵb1​)​=a12​a1​a2​+ϵ(a1​b2​−a2​b1​)​=a1​a2​​+ϵ(a1​b2​​−a12​a2​b1​​)if a1​​=0​

对偶数最大的好处是泰勒展开,后面多余的项直接消失,即
f ( a + ϵ b ) = f ( a ) + ϵ b f ′ ( a ) + ϵ 2 ( …   ) = f ( a ) + ϵ b f ′ ( a ) f(a+epsilon b)=f(a)+epsilon b f'(a)+epsilon^2(dots)=f(a)+epsilon b f'(a) f(a+ϵb)=f(a)+ϵbf′(a)+ϵ2(…)=f(a)+ϵbf′(a)因此,进一步可以得到 e a + ϵ b = e a + ϵ b e a ln ⁡ ( a + ϵ b ) = ln ⁡ ( a ) + ϵ b 1 a if  a ≠ 0 sin ⁡ ( a + ϵ b ) = sin ⁡ ( a ) + ϵ b cos ⁡ ( a ) cos ⁡ ( a + ϵ b ) = cos ⁡ ( a ) − ϵ b sin ⁡ ( a ) begin{aligned} e^{a+epsilon b}&=e^{a}+epsilon b e^a \ ln(a+epsilon b)&=ln(a)+epsilon bfrac{1}{a}quad text{if}~ aneq 0 \ sin(a+epsilon b)&=sin(a)+epsilon b cos(a) \ cos(a+epsilon b)&=cos(a)-epsilon b sin(a) end{aligned} ea+ϵbln(a+ϵb)sin(a+ϵb)cos(a+ϵb)​=ea+ϵbea=ln(a)+ϵba1​if a​=0=sin(a)+ϵbcos(a)=cos(a)−ϵbsin(a)​

进一步,可以发现 f ′ ( a ) = f ( a + ϵ b ) − f ( a ) ϵ b f'(a)=frac{f(a+epsilon b)-f(a)}{epsilon b } f′(a)=ϵbf(a+ϵb)−f(a)​注意这里是直接线性化,而不是近似线性化,这个可以用来计算导数。

二、对偶矢量

翟洪民. 基于对偶四元数的航天器近距离接近位姿同步规划与控制. 哈尔滨工业大学, 2021

对偶矢量 d = a + ϵ b boldsymbol{d}=boldsymbol{a}+epsilon boldsymbol{b} d=a+ϵb , a , b ∈ R n boldsymbol{a},boldsymbol{b}inmathbb{R}^n a,b∈Rn,又有
d = [ a 1 a 2 ⋮ a n ] + ϵ [ b 1 b 2 ⋮ b n ] = [ a 1 + ϵ b 1 a 2 + ϵ b n ⋮ a n + ϵ b n ] boldsymbol{d}=left[begin{array}{c} a_{1} \ a_{2} \ vdots \ a_{n} end{array}right]+epsilon left[begin{array}{c} b_{1} \ b_{2} \ vdots \ b_{n} end{array}right]=left[begin{array}{c} a_1+epsilon b_1 \ a_2+epsilon b_n \ vdots \ a_n+epsilon b_n end{array}right] d=⎣⎢⎢⎢⎡​a1​a2​⋮an​​⎦⎥⎥⎥⎤​+ϵ⎣⎢⎢⎢⎡​b1​b2​⋮bn​​⎦⎥⎥⎥⎤​=⎣⎢⎢⎢⎡​a1​+ϵb1​a2​+ϵbn​⋮an​+ϵbn​​⎦⎥⎥⎥⎤​也就是说,它可以既被看作实数部分、对偶部分均都矢量构成的对偶数,同时又被看作以对偶数作为元素的矢量。

空间中任意一条直线可用单位对偶矢量来描述。如下图所示,直线 R boldsymbol{R} R 可以表示为 l + ϵ m boldsymbol{l}+epsilon boldsymbol{m} l+ϵm, l boldsymbol{l} l 显示直线的平行方向, m boldsymbol{m} m 显示直线与原点的垂直距离。这里的单位对偶向量通常被称为普吕克(Plücker)直线。


三、对偶四元数

对偶四元数可以看作是元素为对偶数的四元数,也可以看作是元素为四元数的对偶数,即
q ^ = [ η ^ , ξ ^ ] = q + ϵ q ′ = η + ξ 1 i + ξ 2 j + ξ 3 k + ϵ ( η ′ + ξ 1 ′ i + ξ 2 ′ j + ξ 3 ′ k ) begin{aligned}hat{boldsymbol q}&=[hat{eta},hat{boldsymbol{xi}}]=boldsymbol q+epsilon boldsymbol q' \ &=eta+xi_1boldsymbol{i}+xi_2boldsymbol{j}+xi_3boldsymbol{k}+epsilonleft( eta'+xi_1'boldsymbol{i}+xi_2'boldsymbol{j}+xi_3'boldsymbol{k} right) end{aligned} q^​​=[η^​,ξ^​]=q+ϵq′=η+ξ1​i+ξ2​j+ξ3​k+ϵ(η′+ξ1′​i+ξ2′​j+ξ3′​k)​

这里的共轭和上面的有些区别,是因为我们将其视为元素为对偶数的四元数。为什么不把它当作元素为四元数的对偶数进行求共轭,具体原因见https://blog.csdn.net/weixin_44382195/article/details/125400408?spm=1001.2014.3001.5501。
q ^ ∗ = q ∗ + ϵ q ′ ∗ hat{boldsymbol q}^*=boldsymbol q^*+epsilon boldsymbol q'^* q^​∗=q∗+ϵq′∗

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/987605.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号