【制作过程】
1.进入网络画板首页:https://www.netpad.net.cn,单击“开始作图”按钮,进入作图页面.
2.分析:此题属于周期递归函数,周期为2,递归区间为[0,2],每递归一次,纵坐标缩半(纵向压缩一半),横坐标加2(向右平移2个单位).根据刚才的分析,我们用一个变量t来驱动这两种变换(压缩变换和平移变换),选取先压缩后平移的策略进行操作.每当变量t(将t模2运算)在一个周期变化过程中(从0逐渐变化到2),前半段(变量t模2运算的结果从0变化到1)要完成压缩变换,后半段(变量t模2运算的结果从1变化到2)要完成平移变换.
此时,我们只需要对变量t模2运算的结果进行适当的操作即可.
①当t模2运算的结果由0到1变化时,压缩变换开始实施.我们来构造一个周期函数y=min(mod(x,2),1),其图象如图1所示,从图上可以看出:函数值从0逐渐增大到1,然后保持在1上,下一个周期依然如此.

图1 周期函数y=min(mod(x,2),1)的图象
在此基础上,我们可以很容易构造出压缩变换要使用的压缩系数,其计算表达式为0.5^min(mod(t,2),1).
②当t模2运算的结果由1到2变化时,开始进行平移变换.我们来构造另一个周期函数y=max(mod(x,2)-1,0),其函数图象如图2所示,从图上可以看出:函数值从0保持一会儿,然后逐渐增大到1,下一个周期同样.

图2 周期函数y=max(mod(x,2)-1,0)的图象
在此基础上,我们就可以轻而易举构造出平移变换要使用的平移距离表达式:2*max(mod(t,2)-1,0).
下面开始进行制作(在系统坐标系下绘制函数图象,并进行仿射变换).
3.新增变量t.变量t控制压缩变换和平移变换,范围0~8,增量为0.01(如图3),并建立变量t的动画按钮(如图4).

图3 新增变量t(https://www.daowen.com)

图4 建立变量t的动画按钮
4.绘制周期函数图象.函数表达式为y=0.5^(floor(x/2))*sin(pi*x),定义域为[0,floor(t/2)*2+2],该函数图象即为原题中的周期递归函数图象(如图5).

图5 周期递归函数的图象
5.绘制最后一个周期的函数图象.我们从上一步的函数图象上截取一段(一个完整周期图象)重新绘制出来,为下一步的仿射变换作准备,解析式为y=0.5^(floor(x/2))*sin(pi*x),定义域为[2*floor(t/2),2*floor(t/2)+2],并将图象的线色修改为红色(如图6).

图6 单个周期图象
6.仿射变换.这一步是该案例最关键的步骤.选中第5步中绘制的函数图象,利用变换工具箱中的“仿射”工具进行操作.在仿射变换对话框中输入:a1=1,b1=0,x0=2*max(mod(t,2)-1,0);a2=0,b2=0.5^min(mod(t,2),1),y0=0.这样就得到了随t而变化的函数图象(如图7).
下面对仿射变换对话框中的输入作一简单的说明:x0为水平方向的平移距离,y0为铅锤方向上的平移距离,亦即(x0,y0)为平移变换向量坐标;a1=1,b1=0意味着平移前图象上的点横坐标不变,a2=0,b2=0.5^min(mod(t,2),1)意味着在压缩变换过程中,图象上点的纵坐标逐渐折半.
读者可自行认真体会各个参数的作用,从而对仿射变换公式的强大功能有更多的认识.

图7 对函数图象施行仿射变换
7.隐藏第5步绘制的函数图象,运行动画按钮,观察作品效果,从而深刻理解周期递归函数的原理方法.你也可以将变量尺t删除,不会影响作品效果.