二维图形几何变换,矩阵计算
前言:对于一个图形的几何变换,对应的是操作到图形中的每一个点!
即对每一个点做出相应的几何变换。比如平移,就是对二维图形的每个点都平移相同的距离;旋转则是对每一个点,基于基准点旋转相应角度!缩放操作也是如此!
所以下面的矩阵计算都是基于二维平面上一个点(基于基准点)的几何变换!
二维图形平移:
’
如上图所示:P(x,y),P’(x’,y’),x轴平移距离:Tx,y轴平移距离:Ty;
则有
将x,y表示为列矩阵,则有:
有P’ = P + T;
二维图形旋转:
在平时遇到的图形旋转,一般如7.3图所示,基于某一个点的旋转!目前为了方便了解矩阵计算,我们先基于原点做旋转,基于某个基准点的旋转我们后面再看!
如7.4所示,点(x,y)绕原点o旋转到(x’,y’);有:
x,y分别有:
则上式可表示为:
将x,y表示为列矩阵,则有:P’ = RP
其中R用矩阵表示为:
二维图形缩放:
如上图所示,将三角形以原点为基准点放大!则对应的 三角形上的每一个点距离原点的长度都会被放大S倍!
其中Sx,Sy分别为两个坐标轴上缩放的倍数!
矩阵表示为:
到此我们了解了二维图形基于原点的 平移,旋转,缩放操作!下一篇,我们继续探讨矩阵逆运算和矩阵复合运算!