三维点云处理技术三:三维空间变换


来源: 睿慕课《三维点云处理技术和深度学习在三维点云处理中的应用》

刚体运动变换

表示旋转变换的参数形式:旋转矩阵,轴角,欧拉角和四元数。

旋转矩阵推导与性质

旋转矩阵
两个坐标系a和b,坐标系b各个坐标轴 b 1 、 b 2 、 b 3 b_1、b_2、b_3 b1b2b3在坐标系a中的表示为:
b 1 = R 11 a 1 + R 21 a 2 + R 31 a 3 b_1=R_{11}a_1+R_{21}a_2+R_{31}a_3 b1=R11a1+R21a2+R31a3
b 2 = R 12 a 1 + R 22 a 2 + R 32 a 3 b_2=R_{12}a_1+R_{22}a_2+R_{32}a_3 b2=R12a1+R22a2+R32a3
b 3 = R 13 a 1 + R 23 a 2 + R 33 a 3 b_3=R_{13}a_1+R_{23}a_2+R_{33}a_3 b3=R13a1+R23a2+R33a3
旋转矩阵 R B A R_B^A RBA
R B A = [ b 1 , b 2 , b 3 ] = [ R 11 R 12 R 13 R 21 R 22 R 23 R 31 R 32 R 33 ] R_B^A=[b_1,b_2,b_3]=\begin{bmatrix} R_{11} & R_{12} & R_{13} \\ R_{21} & R_{22} & R_{23} \\ R_{31} & R_{32} & R_{33} \end{bmatrix} RBA=[b1,b2,b3]=R11R21R31R12R22R32R13R23R33
同一点P,在b坐标系下的表示为 P B ( P b 1 , P b 2 , P b 3 ) T P_B(P_{b1},P_{b2},P_{b3})^T PB(Pb1,Pb2,Pb3)T,在a系下的表示为 P A ( P a 1 , P a 2 , P a 3 ) T P_A(P_{a1},P_{a2},P_{a3})^T PA(Pa1,Pa2,Pa3)T,根据坐标的定义有:
P A = P b 1 b 1 + P b 2 b 2 + P b 3 b 3 = R B A P B P_{A} = P_{b1}b_1 + P_{b2}b_2 +P_{b3}b_3=R_B^AP_B PA=Pb1b1+Pb2b2+Pb3b3=RBAPB
总结: 旋 转 矩 阵 R B A 每 一 列 代 表 B 坐 标 系 的 坐 标 轴 在 A 系 中 的 表 示 , 也 表 示 B 坐 标 系 在 A 系 中 的 旋 转 , 同 时 该 旋 转 矩 阵 能 将 B 系 的 坐 标 点 转 换 到 A 系 旋转矩阵R_B^A每一列代表B坐标系的坐标轴在A系中的表示,也表示B坐标系在A系中的旋转,同时该旋转矩阵能将B系的坐标点转换到A系 RBABABABA
旋转矩阵的性质:
1,正交性
2,乘法封闭
3,旋转矩阵的逆也是旋转矩阵
4, R R T = I RR^T=I RRT=I

坐标系旋转

1,绕z轴旋转 ψ \psi ψ角:
R z , ψ = [ cos ⁡ ( ψ ) − sin ⁡ ( ψ ) 0 sin ⁡ ( ψ ) cos ⁡ ( ψ ) 0 0 0 1 ] R_{z,\psi}=\begin{bmatrix} \cos (\psi) & -\sin (\psi) & 0 \\ \sin (\psi) & \cos(\psi) & 0 \\ 0& 0& 1\end{bmatrix} Rz,ψ=cos(ψ)sin(ψ)0sin(ψ)cos(ψ)0001
绕z旋转
R z , ψ R_{z,\psi} Rz,ψ 可以将变换后坐标系(图中蓝色)中的点转换到原来坐标系(图中红色)中。
2,绕y轴旋转 θ \theta θ角:
R y , θ = [ cos ⁡ ( θ ) 0 sin ⁡ ( θ ) 0 1 0 − sin ⁡ ( θ ) 0 cos ⁡ ( θ ) ] R_{y,\theta}=\begin{bmatrix} \cos (\theta) & 0 & \sin (\theta) \\ 0 & 1 & 0 \\ -\sin (\theta)& 0& \cos (\theta) \end{bmatrix} Ry,θ=cos(θ)0sin(θ)010sin(θ)0cos(θ)
绕y旋转
3,绕x旋转 ϕ \phi ϕ角度
R x , ϕ = [ 1 0 0 0 cos ⁡ ( ϕ ) − sin ⁡ ( ϕ ) 0 sin ⁡ ( ϕ ) cos ⁡ ( θ ) ] R_{x,\phi}=\begin{bmatrix} 1 & 0 & 0\\ 0 & \cos (\phi) & -\sin (\phi) \\ 0& \sin (\phi)& \cos (\theta) \end{bmatrix} Rx,ϕ=1000cos(ϕ)sin(ϕ)0sin(ϕ)cos(θ)
绕x轴旋转
4,符合旋转:右乘联体左乘基(联体是指旋转后的坐标系,基是指开始时候的固定坐标系)
复合变换
5,向量旋转:
向量绕轴旋转
总结:旋转矩阵可以表示将A系中的向量、点旋转到新的位置,也可以表示从A系到B系的旋转,还可以将B系的坐标点转换到A系下。
6,齐次变换:
P A = R B A P B + O B A P_A=R_B^AP_B+O_B^A PA=RBAPB+OBA
齐次形式 [ P A 1 ] = T B A P B = [ R B A O B A 0 1 ] \begin{bmatrix} P_A\\1\end{bmatrix}=T_B^AP_B=\begin{bmatrix} R_B^A&O_B^A\\0&1\end{bmatrix} [PA1]=TBAPB=[RBA0OBA1]
齐次变换

欧拉角

欧拉角:任何旋转都可以用3个线性无关轴的连续旋转来描述。
欧拉角
欧拉角存在的奇异值-万向节死锁

旋转矩阵的轴角

可以将任何一个旋转视为绕某一旋转轴旋转一定的角度
轴角

四元数

为了避免万向节死锁问题,工程师发明了四元数来表示旋转
四元数定义: q = [ a , b , c , d ] = [ cos ⁡ θ 2 , r sin ⁡ θ 2 ] q=[a,b,c,d]=[\cos \frac{\theta}{2},r\sin \frac {\theta}{2}] q=[a,b,c,d]=[cos2θ,rsin2θ],a为实部,b,c,d为虚部。
r 、 θ r、\theta rθ分别表示旋转轴和旋转角度
共轭: q ˉ = [ cos ⁡ θ 2 , − r sin ⁡ θ 2 ] \bar{q}=[\cos \frac{\theta}{2},-r\sin \frac {\theta}{2}] qˉ=[cos2θ,rsin2θ]
模: ∣ ∣ q ∣ ∣ = a 2 + b 2 + c 2 + d 2 = 1 ||q||=\sqrt{a^2+b^2+c^2+d^2}=1 q=a2+b2+c2+d2 =1
逆: q − 1 = q ˉ ∣ ∣ q ∣ ∣ q^{-1}=\frac {\bar q}{||q||} q1=qqˉ
乘法:
四元数乘法
用四元数对向量进行旋转:
p = [ x , y , z ] T , p a = [ 0 , x , y , z ] T p=[x,y,z]^T,p_a=[0,x,y,z]^T p=[x,y,z]T,pa=[0,x,y,z]T
p ′ = R p = q ∗ p a ∗ q − 1 p^{'}=Rp=q*p_a*q^{-1} p=Rp=qpaq1
四元数与旋转矩阵:
四元数与旋转矩阵

刚体运动变换总结:

总结

空间几何变换

消失点
二维空间几何变换:
二维空间几何变换
三维空间几何变换:
三维空间几何变换

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值