刚体变换
定义
一个映射g:
R3→R3如果满足一下两个特性,则是刚体变换
1. 长度保持不变:
∥g(p)−g(q)=∥p−q∥, 所有
p,q∈R3
2. 叉乘保持不变:
g∗(v×w)=g∗(v)×g∗(w),所有向量
v,w∈R3
旋转矩阵
A坐标系
XA=[1 0]T
YA=[0 1]T
在A坐标系下的B坐标系
XB=cosθ∥XA∥XA+sinθ∥XA∥YA=[cosθ 0 0]T+[0 sinθ 0]T=[cosθ sinθ 0]T
YB=−sinθ∥YA∥XA+cosθ∥YA∥YA=[−sinθ 0 0]T+[0 cosθ 0]T=[−sinθ cosθ 0]T
构造矩阵
将
XB YB放到一个矩阵里
Rab=[XB YB],将之称为旋转矩阵
意义
将一个点的坐标值在不同的基底下进行变换
P点在B坐标系下为
PB(a,b),可以进行一下变换
P=[XB YB][ab] =aXB+bYB =(cosθXA+sinθYA)a+(−sinθXA+cosθYA)b =[XA YA][cosθsinθ−sinθcosθ][ab] =[XA YA]Rab[ab]
可以看到,我们把基底从
[XB YB]换成了
[XA YA],也就是同一个点,在B坐标系下的坐标为
[a b]T,在A坐标系下的坐标为
R[a b]T,可以理解为是空间中同一个点在不同的坐标系中(坐标系旋转了)的表示,也可以理解为同一个坐标系下,是点在运动(假设坐标系没动,那么动的就是点)。
平移变换
刚体变换除了旋转外还有平移运动,假设变换后的坐标系B的原点在原来坐标系A下为
PAB=[x1 y1]T则
PA=RABPB+PAB
结合以上的推导,我们可以将刚体变换写成齐次坐标的形式
PA=[RAB0PAB1][PB1]
以上的推导同样可以拓展到三维空间里
绕Z轴旋转的旋转矩阵
RZ(θ)=⎣⎡cosθsinθ0−sinθcosθ0001⎦⎤
绕Y轴旋转的旋转矩阵
RY(θ)=⎣⎡cosθ0−sinθ010sinθ0cosθ⎦⎤
绕X轴旋转的旋转矩阵
RX(θ)=⎣⎡1000cosθsinθ0−sinθcosθ⎦⎤