【经验分享】
本案例中,我们使用了仿射变换公式来实现压缩变换和平移变换的组合,事实上也可以使用网络画板强大的轨迹功能、自定义变换、曲线的原地连续压缩再平移等办法,都能实现同等效果(可以参见同期网络画板参赛作品,ID:86315、ID:85487、ID:80993等).
下面举例说明仿射变换公式的有关知识.
假如选择了一个点E(3,2),仿射变换公式中a1=2,b1=3,x0=4;a2=2,b2=2,y0=3,网络画板就会这样计算仿射变换得到的点的坐标:x=2*3+3*2+4;y=2*3+2*2+3,也就是说新点的坐标是(16,13).
1.平移变换(平移坐标系).如图8所示,对1号三角形施行仿射变换,若a1=1,b1=0,x0=3,a2=0,b2=1,y0=2,则1号三角形会水平方向平移3个单位,垂直方向平移2个单位得到2号三角形,由此会发现,事实上是将坐标系进行了平移,两个三角形在新旧坐标系中的相对位置并没有改变.

图8 仿射变换——平移
2.旋转变换(旋转坐标系).如图9所示,对△ABC施行仿射变换,若a1=cos(t),b1=-sin(t),x0=0,a2=sin(t),b2=cos(t),y0=0,则△ABC将会绕原点O逆时针旋转t弧度,这种旋转实质上就是旋转了坐标系(应用了转轴公式).

图9 仿射变换——旋转
3.缩放变换(缩放坐标系).如图10所示,对△ABC施行仿射变换,若a1=t,b1=0,x0=0,a2=0,b2=t,y0=0,则△ABC将会以原点O为缩放中心,t为缩放比进行缩放(横纵坐标均被乘上系数t),此时可以理解为新坐标系是在原来坐标系的基础上缩放而来(单位长度发生了变化),缩放系数为t.(https://www.daowen.com)

图10 仿射变换——缩放
4.轴对称变换(翻转坐标系).如图11所示,对四边形ABCD施行仿射变换,若a1=-1,b1=0,x0=0,a2=0,b2=1,y0=0,则四边形ABCD将会以y轴为对称轴进行轴对称变换(这也很容易理解:横坐标取相反数、纵坐标不变).此时,你也可以理解为y轴不动,将x轴反向生成新坐标系,四边形A′B′C′D′在新坐标系中的位置与原四边形ABCD在旧坐标系中的位置相同.

图11 仿射变换——轴对称
5.错切变换.如图12所示,对矩形OBCD施行仿射变换,变量dx=2,dy=0.若a1=1,b1=dx,x0=0,a2=dy,b2=1,y0=0,则矩形OBCD将会被水平方向错切(错位)变换,此时矩形上所有点纵坐标都不变,横坐标与纵坐标2倍的和作为新的横坐标,图形自然沿水平方向向右错位.也可以在dx=0的前提下,不断改变变量dy的值,观察垂直方向错切的情形.
总之,仿射变换就是二维坐标(x,y)到二维坐标(x′,y′)的线性变换,仿射变换保持了二维图形的“平直性”(直线经仿射变换后依然为直线)和“平行性”(直线之间的相对位置关系保持不变,平行线经仿射变换后依然为平行线,且直线上点的位置顺序不会发生变化).
需要读者注意的是:网络画板中利用仿射变换公式进行变换的大前提是全局坐标系,并非自定义坐标系.若想在自定义坐标系中利用仿射变换公式进行变换,也是有变通方法的,请读者自行摸索.

图12 仿射变换——错切