仿射变换(Affine Transformation)
齐次坐标系(Homogeneous Coordinate)
定义:
所谓线性变换是指两个线性空间的映射,一个变换是线性变换,必须满足两个条件,也就是我们经常说的线性条件:
additivity
homogeneity
理解:
在《3D数学基础:图形与游戏开发》》9.4.2中说到4x4平移矩阵,因为3x3矩阵平移并不能用
乘法表示,也就是说,我们矢量来表示空间中一个点:
r = {rx,ry,rz}
而平移的矢量为
t = {tx,ty,tz}
那么一般化做法是:
r + t = {rx+tx, ry+ty, rz+tz}
所谓不能用乘法表示就是:
r + t = r · x(x 表示未知)
就是x是无解的
所以表示的是线性变换,不包含平移
那么这样就需要增加一个维度,就是4维度的
也就是说在4D空间中,乘法仍然不能表示4D的平移,4D零向量总是变化成零向量,我们增加一个维度后,就是切变4D空间,3D空间平面不经过4D原点,就可以使用
4D切变表示3D平移
4x4的意义:
在计算机图形学中,坐标转换通常不是单一的,一个几何体在每一帧可能都设计了多个平移,旋转,缩放等变化,
这些变化我们通常使用串接各个子变化矩阵的方式得到一个最终变化矩阵,从而减少计算量
仿射变换后不改变点的共线/共面性,而且还保持比例
如果我们要变换一个三角形,只需要对三个定点v1,v2,v3进行变换T就可以了,对于原先边v1v2上的点,变换后一定还在边后T(v1)T(v2)上。