何廣林
本題來自全國中小學信息技術創新與實踐大賽(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:

本題中的圖形雖然看起來較復雜,但是將圖形逐一分解后難度并不高,本例巧妙地運用坐標知識去幫助學生理解和突破畫菱形時相應旋轉的角度。在比賽中要想順利完成類似圖形作品的創作,只有通過認真分析圖形,知道圖形繪制的方法與過程,并且熟練地運用各積木的功能,搭建出相應的程序,才能在緊張的比賽中快速找到解決考點的辦法。