何广林
本题来自全国中小学信息技术创新与实践大赛(NOC),创新编程复赛的一道操作题。轴对称图形,是指在平面内,沿着一条直线折叠之后直线两旁的部分能够完全重合的图形,这条直线也叫作对称轴。有些特殊的轴对称图形,其对称轴不止1条,例如图1所示的图形。请你仔细观察图形的特点,然后编写程序将这个图形绘制出来(图1)。
程序要求:
1.中间圆的半径为120,轮廓线为红色,不填充;
2.周围菱形为黑色轮廓线,边长为80,菱形锐角为60度,黄色填充;
3.圆周围总共有12个形状形同的菱形,菱形长对角线延长线经过圆心(如图中虚线所示,注:虚线不用绘制);
4.绘图过程中隐藏画笔,能清楚地看到图形繪制过程。
1.本题的考点一是要确定所画圆的位置及半径;二是根据圆的大小和位置画经过圆中心点的12根虚线;三是画12个相对应的锐角菱形,形成一个轴对称图形。根据题目要求可以按顺序先画出一个半径为120的圆,然后围绕圆中心点画12根120的虚线,最后在圆圈外及虚线对应处画12个锐角菱形。
2.绘制圆时可以借助其他角色(将角色定位在坐标(0,0)),移动120步后再落笔围绕其旋转一周,画完后抬笔,再画虚线;也可以画360条边,旋转1度来完成。
3.画虚线时笔回到坐标(0,0),按照“落笔-移动10-抬笔-移动10”画出一根经过圆中心点的虚线,然后旋转30度(顺、逆时针均可),重复执行12次完成12根虚线的绘制。根据题意这部分不用画出,只是讨论方法。
4.画菱形时,先面向0度方向画一个,然后结合画虚线的方式,重复执行12次完成12个菱形的绘制。
添加或导入角色“笔”,背景为白色。
(一)绘制“圆”
1.画圆程序一
为角色“笔”编程:设置初始点坐标为(0,0);程序运行后“笔”移动到(0,-120),这里Y轴的“-120”为圆的半径,画完后“发送广播‘画虚线”(图2)。
2.画圆程序二
绘制一个角色“圆点”,把它作为“笔”画圆的参照,圆点隐藏,位于(0,0)点(图3)。
为角色“笔”编写第二种画圆方案程序(图4):
3.两种绘制方法比较
第二种比第一种方法更易于学生理解,能更加精确固定圆的半径值为“120”。
(二)绘制虚线
绘制虚线时,“笔”要回到坐标(0,0)位置,面向“0”度后画出一根虚线,重新回到坐标(0,0)位置,根据绘制方向,可以旋转“30度”或“-30度”画出剩余11根虚线,画完后“发送广播‘菱形”(图5)。
(三)绘制菱形
绘制菱形的难点在于让学生会应用菱形对角度数相等这一特征来编程,根据已有的坐标知识,去理解绘制时画笔应该旋转多少度。首先出示“坐标图01”,让学生明白在画笔面向“0度”或“180度”时应该旋转多少度:因为菱形锐角度数为“60”,Y坐标轴将其平分为2个“30度”的角,在画笔面向“0度”时,应该旋转“60度”(图6)。
然后再把坐标图平移到菱形钝角“120度”位置,如图7:
让学生明白X坐标轴将其平分为2个“60度”的角,在画笔面向“0度”时,应该旋转“120度”;结合图形特点,绘制出菱形。程序如图8:
学生结合绘制“虚线”程序,让画笔回到坐标原点(0,0),再移动120步,旋转“-30度”,重复执行12次“绘制菱形”程序,沿顺时针方向依次画12个菱形,程序如图9:
程序运行绘图效果如图10:
本题中的图形虽然看起来较复杂,但是将图形逐一分解后难度并不高,本例巧妙地运用坐标知识去帮助学生理解和突破画菱形时相应旋转的角度。在比赛中要想顺利完成类似图形作品的创作,只有通过认真分析图形,知道图形绘制的方法与过程,并且熟练地运用各积木的功能,搭建出相应的程序,才能在紧张的比赛中快速找到解决考点的办法。