阿雪的学习记录

您所在的位置:网站首页 正交化的意义是什么 阿雪的学习记录

阿雪的学习记录

2024-07-17 15:09| 来源: 网络整理| 查看: 265

最近获得一组数据,里面有四元数,小邹同学看了一眼之后说这个四元数应该被归一化了,我好奇呀,就问怎么就归一化了,以我粗浅的见识,把那四个数求了个和才是0.7几,看起来好像不是1,他说他也不清楚怎么归一化,得查查。 我就查了,来,学芝士了! 首先,本篇参考于这篇博客,仅提取了我需要的部分,加了一些我的理解,作为记录。

目录 1.什么是四元数2.四元数的运算(1) 加减法(2)乘法(3)共轭(4)模长(5)逆 3.归一化的意义(1) 逆即是其共轭(2) 保持 R \textbf R R矩阵的正交性质

1.什么是四元数

四元数仅是3D姿态的一种表达方式,我们用一个单位四元数表达原本用旋转矩阵表示的三维旋转。这样做一个直接的好处是省空间。一个旋转阵有9个分量,但只有三个自由度。但是,用三个数来描述会出现奇异的情况,欧拉角就是一个例子。而四元数比三维向量多了一个分量,从而可以无奇异地表示各种姿态。 四元数是Hamilton找到的一种扩展的复数。一个四元数拥有一个实部和三个虚部: q = q 0 + q 1 i + q 2 j + q 3 k \textbf q=q_0+q_1i+q_2j+q_3k q=q0​+q1​i+q2​j+q3​k 其中 i i i, j j j, k k k为四元数的三个虚部。这三个虚部满足关系式: { i 2 = j 2 = k 2 = − 1 i j = k , j i = − k j k = i , k j = − i k i = j , i k = − j \left\{ \begin {array} {c} i^2=j^2=k^2=-1\\ ij=k,ji=-k\\ jk=i,kj=-i\\ ki=j,ik=-j \end {array} \right. ⎩⎪⎪⎨⎪⎪⎧​i2=j2=k2=−1ij=k,ji=−kjk=i,kj=−iki=j,ik=−j​ 由于四元数 q \textbf q q由一个实部和三个虚部构成,也可以表示为: q = [ s , v ] , s = q 0 , v = [ q 1 , q 2 , q 3 ] \textbf q=[\textbf s,\textbf v],\textbf s=q_0,\textbf v=[q_1,q_2,q_3] q=[s,v],s=q0​,v=[q1​,q2​,q3​] 这里 s \textbf s s为实部, v \textbf v v为虚部,当一个四元数虚部为 0 \textbf 0 0,称之为实四元数,若实部为 0 \textbf 0 0,称之为虚四元数 四元数可以表示三维空间中任意一个旋转。与旋转矩阵中类似,我们仍假设某个旋转是绕单位向量 n = [ n x , n y , n z ] T \textbf n=[n_x,n_y,n_z]^T n=[nx​,ny​,nz​]T进行了角度为 θ θ θ的旋转,则该旋转的四元数形式为: q = [ c o s θ 2 , n x s i n θ 2 , n y s i n θ 2 , n z s i n θ 2 ] T \textbf q=[cos\frac{\theta}{2},n_xsin\frac{\theta}{2},n_ysin\frac{\theta}{2},n_zsin\frac{\theta}{2}]^T q=[cos2θ​,nx​sin2θ​,ny​sin2θ​,nz​sin2θ​]T

2.四元数的运算 (1) 加减法

q a ± q b = [ s a ± s b , v a ± v b ] \textbf q_a±\textbf q_b=[\textbf s_a±\textbf s_b,\textbf v_a±\textbf v_b] qa​±qb​=[sa​±sb​,va​±vb​]

(2)乘法

q a q b = [ s a s b − v a ⋅ v b , s a v b + s b v a + v a × v b ] \textbf q_a\textbf q_b=[\textbf s_a\textbf s_b-\textbf v_a·\textbf v_b,\textbf s_a\textbf v_b+\textbf s_b\textbf v_a+\textbf v_a×\textbf v_b] qa​qb​=[sa​sb​−va​⋅vb​,sa​vb​+sb​va​+va​×vb​]

(3)共轭

就是虚部写成相反数 q ∗ = q 0 − q 1 i − q 2 j − q 3 k = [ s , − v ] \textbf q^*=q_0-q_1i-q_2j-q_3k=[\textbf s,-\textbf v] q∗=q0​−q1​i−q2​j−q3​k=[s,−v] 共轭与自身相乘为模长的平方: q ∗ q = q q ∗ = s 2 + v T v \textbf q^*\textbf q=\textbf q\textbf q^*=\textbf s^2+\textbf v^T\textbf v q∗q=qq∗=s2+vTv

(4)模长

∥ q ∥ = q 0 2 + q 1 2 + q 2 2 + q 3 2 = q ∗ q \Vert \textbf q\Vert=\sqrt {q_0^2+q_1^2+q_2^2+q_3^2}=\sqrt {\textbf q^*\textbf q} ∥q∥=q02​+q12​+q22​+q32​ ​=q∗q ​

(5)逆

q − 1 = q ∗ ∥ q ∥ 2 q^{-1}=\frac{q^*}{\Vert \textbf q\Vert^2} q−1=∥q∥2q∗​

3.归一化的意义

所以!四元数归一化的意义出来了!

(1) 逆即是其共轭

由于四元数的逆为其共轭除以模长的平方,那么当归一化之后模长为1时,四元数的逆即是其共轭四元数,这里或许对后面计算有一定的作用,具体什么作用画个问号用到的时候再研究。

(2) 保持 R \textbf R R矩阵的正交性质

四元数不进行归一化会导致 R \textbf R R矩阵非正交的结果,也就是说会导致 R T ! = R − 1 R^T!=R^{-1} RT!=R−1 R \textbf R R矩阵的正交性好像挺有用的,这里不解释,用到再查。

今天看视频发现theatre和theater分别是美式和英式的“剧场;剧院”,意思一样,写法不同发音不同 每天学一点点,就能少菜一点点,加油( •̀ ω •́ )y



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3