三维刚体运动

点和向量,坐标系

首先说说向量是什么,它是线性空间的一个元素,可以想象从原点指向某处的一个箭头,不要把向量坐标混淆。谈论向量 a ⃗ \vec a a 在一个线性基( e ⃗ 1 , e ⃗ 2 , e ⃗ 3 \vec e_1,\vec e_2,\vec e_3 e 1,e 2,e 3)的坐标
a ⃗ = [ e ⃗ 1 e ⃗ 2 e ⃗ 3 ] [ a 1 a 2 a 3 ] (1) \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 =[e 1e 2e 3]a1a2a3(1)
向量的点乘(内积)可以描述成向量间的投影关系,对于 a ⃗ , b ⃗ ∈ R ⃗ 3 \vec a,\vec b \in \vec R^3 a ,b R 3,
a ⃗ ⋅ b ⃗ = ∑ i = 1 3 a i b i = ∣ a ⃗ ∣ ∣ b ⃗ ∣ c o s < a ⃗ , b ⃗ > (2) \vec a \cdot \vec b = \sum_{i=1}^3{a_i b_i} = |\vec a||\vec b|cos< \vec a , \vec b> \tag{2} a b =i=13aibi=a b cos<a ,b >(2)
向量的叉乘(外积)
a ⃗ × b ⃗ = [ i ⃗ j ⃗ k ⃗ a 1 a 2 a 3 b 1 b 2 b 3 ] = [ a 2 b 3 − a 3 b 2 a 3 b 1 − a 1 b 3 a 1 b 2 − a 2 b 1 ] = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] b ⃗ = a ⃗ v ⋅ b ⃗ (3) \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 =i a1b1j a2b2k a3b3=a2b3a3b2a3b1a1b3a1b2a2b1=0a3a2a30a1a2a10b =a vb (3)
| a ⃗ × b ⃗ \vec a× \vec b a ×b |在数值上等于由 a ⃗ \vec a a b ⃗ \vec b b 构成的平行四边形的面积 ∣ a ⃗ ∣ ∣ b ⃗ ∣ s i n < a ⃗ , b ⃗ > |\vec a||\vec b|sin< \vec a , \vec b> a b sin<a ,b >,方向垂直于这两个向量。
(3)式中最后的等号是近似的,我们把 a ⃗ v \vec a^v a v当成 a ⃗ \vec a a 生成的一个反对称矩阵,这样就把向量的叉乘变成矩阵与向量的乘积,把运算变成了线性运算

坐标系的欧式变化

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

四元数

假设某个旋转是绕单位向量 n ⃗ = [ n x , n y , n z ] T \vec n=[n_x,n_y,n_z]^T n =[nx,ny,nz]T进行角度 θ \theta θ的旋转,那么这个旋转的四元数形式就是
q ⃗ = [ c o s θ 2 , n x s i n θ 2 , n y s i n θ 2 , n z s i n θ 2 ] T \vec q = [cos\frac{\theta}{2},n_xsin\frac{\theta}{2},n_ysin\frac{\theta}{2},n_zsin\frac{\theta}{2}]^T q =[cos2θ,nxsin2θ,nysin2θ,nzsin2θ]T

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值