除了使用旋转矩阵RRR来表示旋转外,还有其他许多常用的方式用于表示旋转:

欧拉角

欧拉角是一种相对直观的表示旋转效果的方法,它将一个旋转分解为绕三个轴进行旋转,由于分解顺序有多种,故而有不同的欧拉角。此处旋转较为经典的"偏航-俯仰-滚动"模型也即ZYX分解进行学习:

  • 绕Z轴旋转,得到偏航角(Yaw)
  • 旋转后的Y轴旋转,得到俯仰角(Pitch)
  • 旋转后的X轴旋转,得到滚动角(Roll)

由此可用[rpy]T\begin{bmatrix}r&p&y\end{bmatrix}^T[r​p​y​]T表达任意一个旋转,如图所示:

欧拉角存在的缺点在于,存在万向锁问题。当俯仰角为±90°\pm90\degree±90°时,第一次旋转和第三次旋转使用的为同一个轴,也即系统丢失一个自由度(有三自由度变为二自由度)。

旋转向量(角轴)

旋转矩阵有九个元素,但仅存在三个自由度存在。而变换矩阵有十六个元素,但同样仅有六个自由度。同时由于旋转矩阵RRR和变换矩阵TTT为正交矩阵,难以优化。故而希望用一个三维向量来表示旋转,一个六维向量来表示变换。

任意一个旋转可通过一个等效转轴和一个等效转角 进行表示,定义一个向量,使其方向同等效转轴一致,其大小等于等效转角,称其为旋转向量(角轴,Axis-Angle)

定义转轴为单位长度的向量nnn,其转角为θ\thetaθ,则采用罗德里格斯公式可得到由旋转向量到旋转矩阵的变换:
R=cos⁡θI+(1−cos⁡θ)nnT+sin⁡θn∧R=\cos\theta\:I+(1-\cos\theta)nn^T+\sin\theta\:n^\wedge R=cosθI+(1−cosθ)nnT+sinθn∧
通常,用符号versθ=1−cos⁡θvers\theta=1-\cos\thetaversθ=1−cosθ表示正矢函数:
R=cos⁡θI+versθnnT+sin⁡θn∧R=\cos\theta\:I+vers\theta\:nn^T+\sin\theta\:n^\wedge R=cosθI+versθnnT+sinθn∧
符号∧{}^\wedge∧表示求反对称矩阵。

同样也可以得到由旋转矩阵到旋转向量的转换,对上式两侧求迹(trace):
tr(R)=cos⁡θtr(I)+versθtr(nnT)+sin⁡θtr(n∧)=3cos⁡θ+versθ+0=3cos⁡θ+1−cos⁡θ=1+2cos⁡θ\begin{aligned} tr(R)=&\cos\theta\:tr(I)+vers\theta\:tr(nn^T)+\sin\theta\:tr(n^\wedge)\\ =&3\cos\theta+vers\theta+0\\ =&3\cos\theta+1-\cos\theta\\ =&1+2\cos\theta \end{aligned} tr(R)====​cosθtr(I)+versθtr(nnT)+sinθtr(n∧)3cosθ+versθ+03cosθ+1−cosθ1+2cosθ​
式中,nnn为单位向量,则tr(nnT)=1tr(nn^T)=1tr(nnT)=1;反对称矩阵主对角线元素为0,则tr(n∧)=0tr(n^\wedge)=0tr(n∧)=0,由此得到旋转角表达式:
θ=arccos⁡tr(R)−12\theta=\arccos\frac{tr(R)-1}{2} θ=arccos2tr(R)−1​
此外,旋转轴旋转后不发生变换,也即:
Rn=nR\:n=n Rn=n
由此,转轴nnn是由矩阵RRR特征值为1的特征向量,求解方程并归一化可得。

四元数

四元数表示标准

四元数用复数形式表示旋转,具有一个实部和三个虚部,四元数是紧凑的,无奇异性的:
q=w+xi+yj+zkq=w+xi+yj+zk q=w+xi+yj+zk
其中,i、j、ki、j、ki、j、k为三个虚部,四元数有两种表示方法,分别对应不同标准。

Hamilton表示法(右手系)满足如下条件:
{i2=j2=k2=−1ij=kijk=−1\begin{cases} i^2=j^2=k^2=-1\\ ij=k\\ ijk=-1 \end{cases} ⎩⎪⎨⎪⎧​i2=j2=k2=−1ij=kijk=−1​
JPL表示法(左手系)满足如下条件:
{i2=j2=k2=−1ij=−kijk=1\begin{cases} i^2=j^2=k^2=-1\\ ij=-k\\ ijk=1 \end{cases} ⎩⎪⎨⎪⎧​i2=j2=k2=−1ij=−kijk=1​
Hamilton表示法被广泛运用在Eigen库、Ceres库、MATLAB、ROS等开源库、工具中,后续推导采用Hamilton表示法(右手系)。

可将i、j、ki、j、ki、j、k视为三个坐标轴,一般四元数也可以表示为一个标量和一个向量的形式:
q=[sv]T,s=w∈ℜ,v=[xyz]T∈ℜ3q=\begin{bmatrix}s&v\end{bmatrix}^T,\quad s=w\in\Re,\quad v=\begin{bmatrix}x&y&z\end{bmatrix}^T\in \Re^{3} q=[s​v​]T,s=w∈ℜ,v=[x​y​z​]T∈ℜ3
称标量sss为四元数的实部,矢量vvv为四元数的虚部。

当四元数的实部为零,称其为虚四元数;当四元数的虚部为零,称其为实四元数。

采用单位四元数可表示三维空间中的旋转。

四元数运算

定义两个四元数q1、q2q_1、q_2q1​、q2​:
q1=w1+x1i+y1j+z1k=[s1v1]Tq2=w2+x2i+y2j+z2k=[s2v2]Tq_1=w_1+x_1i+y_1j+z_1k=\begin{bmatrix}s_1&v_1\end{bmatrix}^T\\ q_2=w_2+x_2i+y_2j+z_2k=\begin{bmatrix}s_2&v_2\end{bmatrix}^T q1​=w1​+x1​i+y1​j+z1​k=[s1​​v1​​]Tq2​=w2​+x2​i+y2​j+z2​k=[s2​​v2​​]T

加减

四元数的加减法同复数一样:
q1±q2=[s1±s2v1±v2]Tq_1\pm q_2=\begin{bmatrix}s_1\pm s_2&v_1\pm v_2\end{bmatrix}^T q1​±q2​=[s1​±s2​​v1​±v2​​]T

乘法

两个四元数相乘可利用向量的内外积公式进行计算:
q1q2=[s1s2−v1Tv2s1v2+s2v1+v1×v2]Tq_1q_2=\begin{bmatrix}s_1s_2-v_1^Tv_2&s_1v_2+s_2v_1+v_1\times v_2\end{bmatrix}^T q1​q2​=[s1​s2​−v1T​v2​​s1​v2​+s2​v1​+v1​×v2​​]T
四元数的相乘顺序不可交换,这是因为使用到向量的外积。

模长

∥q∥=w2+x2+y2+z2\begin{Vmatrix}q\end{Vmatrix}=\sqrt{w^2+x^2+y^2+z^2} ∥∥​q​∥∥​=w2+x2+y2+z2​

易得,两四元数乘积的模长等于每个四元数模长的乘积:
∥q1q2∥=∥q1∥∥q2∥\begin{Vmatrix}q_1q_2\end{Vmatrix}=\begin{Vmatrix}q_1\end{Vmatrix}\begin{Vmatrix}q_2\end{Vmatrix} ∥∥​q1​q2​​∥∥​=∥∥​q1​​∥∥​∥∥​q2​​∥∥​

共轭

四元数的共轭即为虚部求反:
q∗=w−xi−yj−zk=[s−v]Tq^*=w-xi-yj-zk=\begin{bmatrix}s&-v\end{bmatrix}^T q∗=w−xi−yj−zk=[s​−v​]T
同时,一个四元数同自身共轭的积等于其自身的向量内积,也即模长的平方:
q∗q=qq∗=q⋅q=∥q∥2=[s2+vTv0]Tq^*q=qq^*=q\cdot q=\begin{Vmatrix}q\end{Vmatrix}^2=\begin{bmatrix}s^2+v^Tv&0\end{bmatrix}^T q∗q=qq∗=q⋅q=∥∥​q​∥∥​2=[s2+vTv​0​]T

四元数的逆如下:
q−1=q∗∥q∥2q^{-1}=\frac{q^*}{\begin{Vmatrix}q\end{Vmatrix}^2} q−1=∥∥​q​∥∥​2q∗​
易得,四元数和自身的逆的乘积为1:
qq−1=q−1q=1qq^{-1}=q^{-1}q=1 qq−1=q−1q=1
同时,四元数乘积的逆具有矩阵的特性:

(q1q2)−1=q2−1q1−1(q_1q_2)^{-1}=q_2^{-1}q_1^{-1} (q1​q2​)−1=q2−1​q1−1​

数乘

四元数也可以和常数相乘:
aq=aw+axi+ayj+azk=[asav]Taq=aw+axi+ayj+azk=\begin{bmatrix}as&av\end{bmatrix}^T aq=aw+axi+ayj+azk=[as​av​]T

四元数表示旋转

对于三维空间内的一个点p=[xyz]T∈ℜ3p=\begin{bmatrix}x&y&z\end{bmatrix}^T\in\Re^3p=[x​y​z​]T∈ℜ3,可以使用一个单位四元数 qqq指定其旋转。此处假设该点旋转至p′p^{'}p′点,则首先用四元数形式来描述该点坐标:
p=[0xyz]T=[0v]Tp=\begin{bmatrix}0&x&y&z\end{bmatrix}^T=\begin{bmatrix}0&v\end{bmatrix}^T p=[0​x​y​z​]T=[0​v​]T
也即将坐标系三个轴同单位四元数的三个虚部所在空间相对应。对于旋转后的点p′p^{'}p′可用如下方式进行计算:
p′=qpq−1p^{'}=qpq^{-1} p′=qpq−1
所得结果为纯虚四元数,三个虚部对应三个轴坐标。

四元数与其他表示的转变

运算算子

对于一个四元数q=[sv]T=[wxyz]Tq=\begin{bmatrix}s&v\end{bmatrix}^T=\begin{bmatrix}w&x&y&z\end{bmatrix}^Tq=[s​v​]T=[w​x​y​z​]T,定义算子q+q^+q+和q⊕q^\oplusq⊕:
q+=[s−vTvsI+v∧]q⊕=[s−vTvsI−v∧]q^+=\begin{bmatrix}s&-v^T\\v&sI+v^\wedge\end{bmatrix}\qquad q^\oplus=\begin{bmatrix}s&-v^T\\v&sI-v^\wedge\end{bmatrix} q+=[sv​−vTsI+v∧​]q⊕=[sv​−vTsI−v∧​]
上述算子将四元数映射至4×44\times 44×4的矩阵,由此可将四元数的乘法写为矩阵形式:
q1+q2=[s1−v1Tv1s1I+v1∧][s2v2]=[s1s2−v1Tv2s1v2+s2v1+v1∧v2]=q1q2q_1^+q_2=\begin{bmatrix}s_1&-v_1^T\\v_1&s_1I+v_1^\wedge\end{bmatrix}\begin{bmatrix}s_2\\v_2\end{bmatrix}=\begin{bmatrix}s_1s_2-v_1^Tv_2\\s_1v_2+s_2v_1+v_1^\wedge v_2\end{bmatrix}=q_1q_2 q1+​q2​=[s1​v1​​−v1T​s1​I+v1∧​​][s2​v2​​]=[s1​s2​−v1T​v2​s1​v2​+s2​v1​+v1∧​v2​​]=q1​q2​
也即,易得如下等式成立:
q1q2=q1+q2=q2⊕q1q_1q_2=q_1^+q_2=q_2^\oplus q_1 q1​q2​=q1+​q2​=q2⊕​q1​

四元数到旋转矩阵

使用旋转矩阵表示某点旋转至另一点如下所示:
p′=Rpp^{'}=R\:p p′=Rp
首先,将四元数表示旋转的形式化为算子形式:
p′=qpq−1=q+p+q−1=q+(q−1)⊕p\begin{aligned} p^{'}=&qpq^{-1}\\ =&q^+p^+q^{-1}\\ =&q^+(q^{-1})^\oplus p \end{aligned} p′===​qpq−1q+p+q−1q+(q−1)⊕p​
将式中q+q−1⊕q^+q^{-1^\oplus}q+q−1⊕展开:
q+(q−1)⊕=[s−vTvsI+v∧][svT−vsI+v∧]=[100TvvT+s2I+2sv∧+(v∧)2]\begin{aligned} q^+(q^{-1})^\oplus =&\begin{bmatrix}s&-v^T\\v&sI+v^\wedge\end{bmatrix}\begin{bmatrix}s&v^T\\-v&sI+v^\wedge\end{bmatrix}\\ =&\begin{bmatrix}1&0\\0^T&vv^T+s^2I+2sv^\wedge+(v^\wedge)^2 \end{bmatrix} \end{aligned} q+(q−1)⊕==​[sv​−vTsI+v∧​][s−v​vTsI+v∧​][10T​0vvT+s2I+2sv∧+(v∧)2​]​
已知ppp与点p′p^{'}p′为纯虚四元数,也即sp=sp′0s_p=s_{p^{'}}0sp​=sp′​0,则上式矩阵中右下角元素同旋转矩阵等价:
R=vvT+s2I+2sv∧+(v∧)2R=vv^T+s^2I+2sv^\wedge+(v^\wedge)^2 R=vvT+s2I+2sv∧+(v∧)2

也即:
R=[x2−y2−z2+w22xy−2wz2xz+2wy2xy+2wzy2−x2−z2+w22yz−2wx2xz−2wy2yz+2wxz2−x2−y2+w2]R=\begin{bmatrix} x^2-y^2-z^2+w^2&2xy-2wz&2xz+2wy\\ 2xy+2wz&y^2-x^2-z^2+w^2&2yz-2wx\\ 2xz-2wy&2yz+2wx&z^2-x^2-y^2+w^2 \end{bmatrix} R=⎣⎡​x2−y2−z2+w22xy+2wz2xz−2wy​2xy−2wzy2−x2−z2+w22yz+2wx​2xz+2wy2yz−2wxz2−x2−y2+w2​⎦⎤​
由于单位四元数模长为1:x2+y2+z2+w2=1x^2+y^2+z^2+w^2=1x2+y2+z2+w2=1,故而对主对角线进行化简:
R=[1−2y2−2z22xy−2wz2xz+2wy2xy+2wz1−2x2−2z22yz−2wx2xz−2wy2yz+2wx1−2x2−2y2]R=\begin{bmatrix} 1-2y^2-2z^2&2xy-2wz&2xz+2wy\\ 2xy+2wz&1-2x^2-2z^2&2yz-2wx\\ 2xz-2wy&2yz+2wx&1-2x^2-2y^2 \end{bmatrix} R=⎣⎡​1−2y2−2z22xy+2wz2xz−2wy​2xy−2wz1−2x2−2z22yz+2wx​2xz+2wy2yz−2wx1−2x2−2y2​⎦⎤​
上式所得旋转矩阵为Hamilton表示法下的旋转矩阵,若使用JPL表示法,则得到的旋转矩阵应为上式的转置矩阵:
RJPL=(RHam)TR_{JPL}=(R_{Ham})^T RJPL​=(RHam​)T

旋转矩阵到四元数:

设旋转矩阵如下:
R=[r11r12r13r21r22r23r31r32r33]R=\begin{bmatrix}r_{11}&r_{12}&r_{13}\\r_{21}&r_{22}&r_{23}\\r_{31}&r_{32}&r_{33}\\\end{bmatrix} R=⎣⎡​r11​r21​r31​​r12​r22​r32​​r13​r23​r33​​⎦⎤​
首先,对矩阵对角线元素进行加减运算:
r11+r22+r33=4w2−1r12+r21=4xyr12−r21=4wzr31+r13=4xzr31−r13=4wyr23+r32=4yzr23−r32=4wx\begin{aligned} r_{11}+r_{22}+r_{33}=&4w^2-1\\ r_{12}+r_{21}=&4xy\\ r_{12}-r_{21}=&4wz\\ r_{31}+r_{13}=&4xz\\ r_{31}-r_{13}=&4wy\\ r_{23}+r_{32}=&4yz\\ r_{23}-r_{32}=&4wx\\ \end{aligned} r11​+r22​+r33​=r12​+r21​=r12​−r21​=r31​+r13​=r31​−r13​=r23​+r32​=r23​−r32​=​4w2−14xy4wz4xz4wy4yz4wx​
解的www的值如下:
w=r11+r22+r33+12w=\frac{\sqrt{r_{11}+r_{22}+r_{33}+1}}{2} w=2r11​+r22​+r33​+1​​
同样,可以使用对角线得到x、y、zx、y、zx、y、z的值:
x=r11−r22−r33+12y=−r11+r22−r33+12z=−r11−r22+r33+12x=\frac{\sqrt{r_{11}-r_{22}-r_{33}+1}}{2}\\ y=\frac{\sqrt{-r_{11}+r_{22}-r_{33}+1}}{2}\\ z=\frac{\sqrt{-r_{11}-r_{22}+r_{33}+1}}{2}\\ x=2r11​−r22​−r33​+1​​y=2−r11​+r22​−r33​+1​​z=2−r11​−r22​+r33​+1​​
此处应注意,由于开方无法确定每一个数值的正负号。故而计算时应使用上述四个公式中的某一个计算得到四元数四个值中的一个后,带入如下公式计算其余量:
w=r11+r22+r33+12⇒x=r23−r324wy=r31−r134wz=r12−r214wx=r11−r22−r33+12⇒w=r23−r324xy=r12+r214xz=r31+r134xy=−r11+r22−r33+12⇒w=r31−r134yx=r12+r214yz=r23+r324yz=−r11−r22+r33+12⇒w=r12−r214zx=r31+r134zz=r23+r324zw=\frac{\sqrt{r_{11}+r_{22}+r_{33}+1}}{2}\Rightarrow x=\frac{r_{23}-r_{32}}{4w}\enspace y=\frac{r_{31}-r_{13}}{4w}\enspace z=\frac{r_{12}-r_{21}}{4w}\\ x=\frac{\sqrt{r_{11}-r_{22}-r_{33}+1}}{2}\Rightarrow w=\frac{r_{23}-r_{32}}{4x}\enspace y=\frac{r_{12}+r_{21}}{4x}\enspace z=\frac{r_{31}+r_{13}}{4x}\\ y=\frac{\sqrt{-r_{11}+r_{22}-r_{33}+1}}{2}\Rightarrow w=\frac{r_{31}-r_{13}}{4y}\enspace x=\frac{r_{12}+r_{21}}{4y}\enspace z=\frac{r_{23}+r_{32}}{4y}\\ z=\frac{\sqrt{-r_{11}-r_{22}+r_{33}+1}}{2}\Rightarrow w=\frac{r_{12}-r_{21}}{4z}\enspace x=\frac{r_{31}+r_{13}}{4z}\enspace z=\frac{r_{23}+r_{32}}{4z}\\ w=2r11​+r22​+r33​+1​​⇒x=4wr23​−r32​​y=4wr31​−r13​​z=4wr12​−r21​​x=2r11​−r22​−r33​+1​​⇒w=4xr23​−r32​​y=4xr12​+r21​​z=4xr31​+r13​​y=2−r11​+r22​−r33​+1​​⇒w=4yr31​−r13​​x=4yr12​+r21​​z=4yr23​+r32​​z=2−r11​−r22​+r33​+1​​⇒w=4zr12​−r21​​x=4zr31​+r13​​z=4zr23​+r32​​

此时,由于四元数qqq与−q-q−q表示同一个位姿,故而不考虑正负号问题。

四元数到旋转向量

对R=vvT+s2I+2sv∧+(v∧)2R=vv^T+s^2I+2sv^\wedge+(v^\wedge)^2R=vvT+s2I+2sv∧+(v∧)2求迹:
tr(R)=tr(vvT+s2I+2sv∧+(v∧)2)=tr(vvT)+s2tr(I)+2str(v∧)+tr((v∧)2)=(x2+y2+z2)+s2⋅3+2s⋅0−2(x2+y2+z2)\begin{aligned}tr(R) =&tr(vv^T+s^2I+2sv^\wedge+(v^\wedge)^2)\\ =&tr(vv^T)+s^2\:tr(I)+2s\:tr(v^\wedge)+tr((v^\wedge)^2)\\ =&(x^2+y^2+z^2)+s^2\cdot 3+2s\cdot 0-2(x^2+y^2+z^2)\\ \end{aligned} tr(R)===​tr(vvT+s2I+2sv∧+(v∧)2)tr(vvT)+s2tr(I)+2str(v∧)+tr((v∧)2)(x2+y2+z2)+s2⋅3+2s⋅0−2(x2+y2+z2)​
式中,已知单位四元数qqq的模长为一:
∥q∥2=w2+x2+y2+z2=1\begin{Vmatrix}q\end{Vmatrix}^2=w^2+x^2+y^2+z^2=1 ∥∥​q​∥∥​2=w2+x2+y2+z2=1
其中,www为四元数的实部,也即s=ws=ws=w,则带入上式可得:
tr(R)=(1−s2)+3s2+0−2(1−s2)=4s2−1\begin{aligned} tr(R)=&(1-s^2)+3s^2+0-2(1-s^2)\\ =&4s^2-1 \end{aligned} tr(R)==​(1−s2)+3s2+0−2(1−s2)4s2−1​
由角轴旋转角计算公式知:
θ=arccos⁡tr(R)−12=arccos⁡(2s2−1)\begin{aligned} \theta=&\arccos\frac{tr(R)-1}{2}\\ =&\arccos(2s^2-1) \end{aligned} θ==​arccos2tr(R)−1​arccos(2s2−1)​
由三角公式可得:
cos⁡θ=2cos⁡2θ2−12s2−1=2cos⁡2θ2−1\cos\theta=2\cos^2\frac{\theta}{2}-1\\ 2s^2-1=2\cos^2\frac{\theta}{2}-1 cosθ=2cos22θ​−12s2−1=2cos22θ​−1
由此得到:
θ=2arccos⁡s\theta=2\arccos s θ=2arccoss
旋转轴可由四元数的虚部除以模长得到:
[nxnynz]T=[xyz]T/sin⁡θ2\begin{bmatrix}n_x&n_y&n_z\end{bmatrix}^T=\begin{bmatrix}x&y&z\end{bmatrix}^T/\sin\frac{\theta}{2} [nx​​ny​​nz​​]T=[x​y​z​]T/sin2θ​

旋转向量到四元数

同样,可得旋转向量到四元数的表达式:
q=[cos⁡θ2nxsin⁡θ2nysin⁡θ2nzsin⁡θ2]Tq=\begin{bmatrix}\cos\frac{\theta}{2}&n_x\sin\frac{\theta}{2}&n_y\sin\frac{\theta}{2}&n_z\sin\frac{\theta}{2}\end{bmatrix}^T q=[cos2θ​​nx​sin2θ​​ny​sin2θ​​nz​sin2θ​​]T

三维空间刚体变换:欧拉角、旋转向量、四元数相关推荐

  1. 三维空间坐标的旋转算法详解_视觉slam | 三维空间刚体运动的五种表达:旋转矩阵 变化矩阵 欧拉角 旋转向量 四元数及互相转换...

    原po:高翔slam十四讲-刚体运动 1.旋转矩阵 考虑一次旋转 Before: 坐标系(e1,e2,e3), 向量(a1,a2,a3) After: 坐标系(e1',e2',e3'), 向量(a1' ...

  2. 【自动驾驶】30.c++实现基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换(附代码)

    矩阵的使用可参考系列博客:点击此处 原文链接:基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换. 也可以参考另一篇博客:eigen 中四元数.欧拉角.旋转矩阵.旋转向量. ...

  3. 视觉SLAM——二维三维几何、三维空间刚体变换

    前言 本博客为主要学习<视觉SLAM十四讲>第3讲.<机器人学的状态估计>第6章三位几何学基础.<计算机视觉-算法和应用>第2章2.1几何基元变换等SLAM内容的总 ...

  4. 三维空间刚体变换:变换矩阵

    变换矩阵 坐标系描述 用 A p B o ^Ap_{Bo} ApBo​表示在参考坐标系 { A } \{A\} {A}下坐标系 { B } \{B\} {B}的原点坐标,并用旋转矩阵 B A R ^A ...

  5. SLAM学习:三维空间刚体变换(1)

    1. 欧式变换 相机运动是一个刚体运动,它保证了同一个向量在各个坐标系下的长度和夹角都不会发生变化.这种变换称为欧氏变换. 一个欧式变换由一个旋转和一个平移两部分组成:其中,旋转矩阵表征绕各个坐标轴所 ...

  6. 三维空间刚体变换:旋转矩阵

    点与坐标系 向量与坐标 空间中最基本的元素是点,点没有长度.体积.将两个点连接得到向量,向量表示由某点指向另一个点的有向线段. 对于一空间基底为 [ i j k ] \begin{bmatrix}i& ...

  7. 罗德里格斯公式推导(轴角与旋转矩阵的关系)以及四元数与旋转向量、旋转矩阵、欧拉角之间的转换关系

    罗德里格斯公式推导(轴角与旋转矩阵的关系) 意义:罗德里格斯公式表示旋转向量到旋转矩阵之间爱你的转换关系 旋转向量:一个向量,方向与旋转轴一致,长度等于旋转角度 空间中任意旋转都可以用一个旋转轴和一个 ...

  8. 1.三维空间刚体的旋转

    参考资料:视觉SLAM十四讲 https://mp.weixin.qq.com/s/De-fkRVlqvYN6W9zYHS1_A 概念梳理 刚体在三维空间中的运动可以通过如下四种方式描述: 旋转矩阵, ...

  9. 高博14讲--第三讲 三维空间刚体运动

    高博14讲--第三讲 三维空间刚体运动 旋转矩阵 点和向量.坐标系 坐标系间的欧式变换 变换矩阵与齐次坐标 旋转向量和欧拉角 旋转向量 欧拉角 四元数 四元数的定义 四元数的运算 用四元数表示旋转 四 ...

  10. 【视觉SLAM十四讲】第三讲 三维空间刚体运动

    点与坐标系 右手系, 内积(点乘) 外积(叉乘) |a||b|sin<a,b> a×b = -b×a 坐标系的变换 原点间的平移 三个轴的旋转 旋转矩阵 R为旋转矩阵 R是一个正交矩阵(R ...

最新文章

  1. java append concat_关于java:+ =比concat更有效吗?
  2. Centos 中 service iptables stop 失败
  3. element ui 前台模板_用 Vue+ElementUI 搭建后台管理极简模板
  4. 数据库启动提示: ORA-27102: out of memory
  5. C++中查看数据类型的方法
  6. 【Linux】一步一步学Linux——arp命令(163)
  7. 小结SQL Server连接失败错误及解决[引用]
  8. CSS3 背景起始位置 background-origin属性
  9. 思科模拟器Cisco Packet Tracer语言汉化包设置(附下载链接)
  10. android进阶2之有道词典开发,Android进阶2之有道词典开发
  11. matlab 求特征值的命令,MATLAB自学笔记(九):稀疏矩阵、特征值与特征向量
  12. 如何制作动态图片gif
  13. 支付宝新农合缴费显示服务器,支付宝新农合缴费怎么交
  14. 去除android手机信号图标
  15. Java 反射 理解
  16. MATLAB多径衰落信道仿真程序,基于Matlab的移动通信中多径衰落信道的仿真
  17. Unity RawImage背景无缝连接移动
  18. LeetCode 鸡蛋掉落(最清晰的解法)
  19. 软件架构之分层模式(Layered Architecture)
  20. 51单片机+ESP8266制作的门锁,含电路图、制板文件。支持密码、人脸、语音。

热门文章

  1. 龙卷风路径_【龙卷风的防范措施】龙卷风的易发地点_龙卷风如何分级 - 妈妈网百科...
  2. 同步软件UltraCompare 64位 软件及注册机
  3. torch的maximum与max以及导出onnx
  4. 客户体验的投资回报率,你知道怎么算吗?
  5. c语言写流水灯程序,用汇编和C语言 写流水灯程序
  6. 计算机系十周年聚会邀请函,十周年同学聚会邀请函
  7. Java获取指定时间前一小时、后一小时的时间
  8. JavaScript 技术篇-js正则表达式匹配中英文数字
  9. 基于微信小程序的在线考试系统【毕业设计源码】
  10. 微信公众号关注自动回复得到小程序链接