从基本的仿射变换(平移、缩放、旋转)逐步深入理解图形学,本文主要是以具体公式为主。在后面的文章中会记录其它变换和图形学的其它内容。。。
本文是以二维笛卡尔坐标系为基础,假设变换的点为(x0,y0),记录为。
1、坐标平移矩阵。
,虽然是二维坐标,但是用的是3x1的向量表示,如果用2x1的向量表示,用矩阵处理平移变换会有困难。
。
2、坐标缩放矩阵。
,点的缩放就是到原点的距离。
3、坐标旋转矩阵。
,旋转就是点按原点旋转,旋转是按顺时针旋转。复杂变换就是依次左乘
4、一般多边形的变换
图形的仿射变换并不是每个点按原点进行变换,比如矩形是按中心点旋转,圆是按圆心缩放。
4.1、多边形平移,每个点按原点平移即可。
4.2、多边形缩放,计算图形的中心点,中心点平移至原点,其它点按原来的中心点相对于原点的位置进行平移,每个点按原点缩放,缩放后中心点移动到原来位置,变换后其它点也按中心点相对于原点的位置平移回来。
4.3、多边形旋转,和4.2类似。 最后一步和第一步都是平移变换。
以上是个人对图形学仿射变换的理解,如有不对,欢迎指出。