Lecture 03 Transformation(变换)
一、为什么学习变换
- 模型变换(Modeling):translation、rotation、scaling
逆运动学:已知末端的位姿、求各关节的转角
正运动学:已知各关节的角度,求末端的位姿
- 视图变换(Viewing):(3D to 2D)projection(投影)
二、二维变换:
- 缩放
- 镜像
- 切片(shear)(一条边水平方向移动,相当于所有点水平方向上的移动为a*y)
- 旋转(默认绕原点逆时针旋转)
以上都是线性变换,可以写成下面的形式:
三、齐次坐标(Homogeneous Coordinates)
1、为什么引入齐次坐标?
因为平移不是线性变换,不能用上面的方法表示,引入齐次坐标,就可表示所有的变换
- 平移
2、如何引入?
给二维的向量和点增加一个维度,因为向量具有平移不变性,所以是0
平移就可以写成下面的形式:
3、增加1,0背后的深层意义
所以点+点 表示两个点的中点(因为w=2)
4、仿射变换(Affine)=线性变换+平移
所有的仿射变换可以写成齐次坐标的形式(这样就用一个形式统一了所有的变换)
PS:只说了在表示二维情况下仿射变换的最后一行为(0,0,1),其他的像投影变换就不一定
5、(Inverse)逆变换
乘以变换矩阵的逆矩阵
四、Composite transform变换的组合
- 注意顺序:先旋转、再平移
- 结合律
- 变换的分解
如绕着给定点c移动(应先将c移到原点,旋转后再移回来)