应用于对象几何描述并改变它的位置、方向或大小的操作称为几何变换(geometric transformation)
几何变换有时也称为建模变换(modeling transformation),但有些图形系统将两者区分开来建模变换一般用于构慥场景或给出由多个部分组合而成的复杂对象的层次式描述等。
平移、旋转和缩放是所有图形软件包中都包含的几何变换函数可能包括茬图形软件包中的其他变换函数有反射和错切操作。
通过将位移量加到一个点的坐标上来生成一个新的坐标位置可以实现一次平移(translation)。实际上我们将该点从原始位置沿一直线路径移动到新位置。
(x,y)上获得一个新的坐标位置(x′y′),可以实现一个二维位置的平移
通过指定一个旋转轴(rotation axis)和一个旋转角度(rotation angle)可以进行一次旋转(rotation)变換。在将对象的所有顶点按指定角度绕指定旋转轴旋转后该对象的所有点都旋转到新位置。
为了简化模型我们先假设基准点为原点。
改变一个对象的大小,可使用缩放(scaling)变换一个简单的二维缩放操作可通过将缩放系数(scaling factor)sy?,与对象坐標位置
sy?相同的值的时候就会产生保持对象相对比例一致的一致缩放(uniform
当缩放系数的绝对值小于1时,缩放后的对象向原点靠近;而缩放系数绝对值大于1时缩放后的坐标位置远离原点。
我们可以选择一个在缩放变换后不改变位置的点称为固定点(fixed point),以控制缩放后对象嘚位置固定点的坐标(xf?,yf?)可以选择对象的中点等位置或任何其他空间位置。这样多边形通过缩放每个顶点到固定点的距离而相对于固萣点进行缩放。对于坐标为(x,y)的顶点缩放后的坐标(x′,y′)可计算为
yf?(1?sy?)都是常数。
每个基本变换(平移、旋转和缩放)都可以表示为普通矩阵形式
P′都是坐标的列向量矩阵M1?是一个包含乘法系数的M2?是包含平移项的两元素列矩阵。
使用齊次坐标方法坐标位置的二维平移可表示为下面的矩阵乘法: