GAMES101-现代计算机图形学入门-闫令琪——Lecture 03 Transformation
Why study transformation
- modeling 模型变换
- Viewing 视图变换
2D transformations: rotation, scale, shear
线性变换:
rotation: 旋转
不规定的时候,旋转都是基于原点,是逆时针旋转。
可以用极坐标得到上面的式子。
scale: 缩放
shear: 切变
Homogeneous coordinates 齐次坐标
- 为什么要用齐次坐标?因为平移很特殊。不能写成矩阵相乘的形式。平移不是线性变换。
- 但是我们不希望把平移当成特殊的。有没有办法把他们都变成简单的形式表示?
- 解决方法:引入齐次坐标,增加第三个坐标。
Homogenous coordinates
- 向量具有平移不变性,所以第三维是0,平移以后也不会变。
- 引入新的定义:如果第三维不是1或零,那么:
- 将上面的变换变成齐次坐标的形式:
点加点
- 从上面的式子可以得出点加点是两点的中心点
Affine Transformations仿射变换
- 所有的仿射变换可以变成齐次坐标的形式:只有仿射变换下面才是001,投影变换会有变化
Inverse Transform 逆变换
- 就是乘以其逆矩阵
Composing transforms
变换顺序
每变换一次,就往左乘一个,变换的顺序是十分重要的。
- 先旋转后平移
多次变换
- 可以用三乘三的矩阵做十分复杂的操作
变换分解
想换中心旋转怎么办:
- 先把旋转中心平移到原点,再旋转,再移回去
3D transformations
表示: