三维刚体运动

点和向量,座标系

首先说说向量是什么,它是线性空间的一个元素,可以想象从原点指向某处的一个箭头,不要把向量座标混淆。谈论向量a\vec a在一个线性基(e1,e2,e3\vec e_1,\vec e_2,\vec e_3)的座标
(1)a=[e1e2e3][a1a2a3] \vec a = \left[ \begin{matrix} \vec e_1 & \vec e_2 &\vec e_3 \\ \end{matrix} \right] \left[ \begin{matrix} a_1 \\ a_2 \\ a_3 \\ \tag{1}\end{matrix} \right]
向量的点乘(内积)可以描述成向量间的投影关系,对于a,bR3\vec a,\vec b \in \vec R^3,
(2)ab=i=13aibi=abcos<a,b> \vec a \cdot \vec b = \sum_{i=1}^3{a_i b_i} = |\vec a||\vec b|cos< \vec a , \vec b> \tag{2}
向量的叉乘(外积)
(3)a×b=[ijka1a2a3b1b2b3]=[a2b3a3b2a3b1a1b3a1b2a2b1]=[0a3a2a30a1a2a10]b=avb \vec a \times \vec b = \left[ \begin{matrix} \vec i & \vec j &\vec k \\ a_1 & a_2 &a_3 \\ b_1 & b_2 &b_3 \\ \end{matrix} \right] =\left[ \begin{matrix} a_2b_3-a_3b_2 \\ a_3b_1-a_1b_3 \\ a_1b_2-a_2b_1 \\ \end{matrix} \right] = \left[ \begin{matrix} 0 & -a_3 &a_2 \\ a_3 & 0 &-a_1 \\ -a_2 & a_1 &0 \\ \end{matrix} \right] \vec b =\vec a^v \cdot \vec b\tag{3}
|a×b\vec a× \vec b|在数值上等于由a\vec ab\vec b构成的平行四边形的面积 absin<a,b>|\vec a||\vec b|sin< \vec a , \vec b>,方向垂直于这两个向量。
(3)式中最后的等号是近似的,我们把av\vec a^v当成a\vec a生成的一个反对称矩阵,这样就把向量的叉乘变成矩阵与向量的乘积,把运算变成了线性运算

座标系的欧式变化

在欧式变化中,除了旋转还有平移。考虑到世界座标系中的向量a\vec a,经过一次选择(R)和一次平移t\vec t,得到了a\vec a',有:
a=Ra+t \vec a' = R \vec a + \vec t
我们定义两个座标系:世界座标系相机座标系,在该定义下,设某个点再世界座标系中的座标为pw\vec p_w,在相机座标系下为pc\vec p_c,那么:
pc=Tcwpw \vec p_c= T_{cw} \vec p_w
这里TcwT_{cw}表示世界座标系到相机座标系的变换。或者反过来的TwcT_{wc}:
pw=Twcpc=Twc1pc \vec p_w= T_{wc} \vec p_c = T_{wc}^{-1} \vec p_c
如果把pc\vec p_c取成零向量,也就是相机座标系的原点,那么 pw\vec p_w就是相机原点在世界座标系下的座标:
pw=Twc0=twc \vec p_w= T_{wc} \vec 0 = \vec t_{wc}
我们发现这就是TwcT_{wc}的平移部分。
noteTwcT_{wc}表示相机座标系到世界座标系的变换。旋转部分遵循相机到世界的旋转,平移部分则是相机在世界座标系下的座标

四元数

假设某个旋转是绕单位向量n=[nx,ny,nz]T\vec n=[n_x,n_y,n_z]^T进行角度θ\theta的旋转,那么这个旋转的四元数形式就是
q=[cosθ2,nxsinθ2,nysinθ2,nzsinθ2]T \vec q = [cos\frac{\theta}{2},n_xsin\frac{\theta}{2},n_ysin\frac{\theta}{2},n_zsin\frac{\theta}{2}]^T

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章