王麗麗
相信很多信息技術(shù)教師對(duì)Logo語(yǔ)言中的小海龜畫(huà)圖都有所了解。在Python語(yǔ)言中,也有一個(gè)內(nèi)置圖形化模塊——turtle庫(kù),它是由Logo語(yǔ)言發(fā)展而來(lái)。海龜繪圖,直觀而有趣,非常適合初期接觸Python學(xué)習(xí)內(nèi)容的學(xué)生。本篇內(nèi)容就從筆者學(xué)校的校本課程《阿派歷險(xiǎn)記》的第2課“神秘的圖騰”中海龜繪圖的故事開(kāi)始:
話說(shuō)阿派在一次尋找古代文明的探險(xiǎn)旅程中,失足掉落進(jìn)時(shí)光隧道,穿越到已經(jīng)失落的一處古代文明。當(dāng)他(她)緩過(guò)神來(lái),矗立在眼前的是一座古村落,那就是讓每一個(gè)探險(xiǎn)家都魂?duì)繅?mèng)繞的古代文明世界。欣喜之余,他(她)趕忙奔去。進(jìn)口處有一扇大門(mén),這扇傳說(shuō)了幾百年的大門(mén)上有一個(gè)隱形的圖騰,如能正確畫(huà)出該圖案,就能打開(kāi)大門(mén),通向另一個(gè)世界,一個(gè)神話的世界,那里有開(kāi)天辟地的圣物,有操縱天地的偉力……
由此,引出本課的學(xué)習(xí)內(nèi)容——利用海龜模塊繪制圖騰。這節(jié)課的教學(xué)設(shè)計(jì)遵循三個(gè)原則:①任務(wù)分解,由易到難,先繪制簡(jiǎn)單圖騰,再繪制復(fù)雜圖騰;②自主學(xué)習(xí),摸索嘗試,通過(guò)對(duì)比圖騰的運(yùn)行效果和代碼,理解海龜模塊中基礎(chǔ)語(yǔ)句的作用;③模仿學(xué)習(xí),不斷創(chuàng)新,先模仿再創(chuàng)作,綜合運(yùn)用海龜模塊設(shè)計(jì)復(fù)雜圖騰。
繪制簡(jiǎn)單圖騰,掌握海龜模塊的基礎(chǔ)語(yǔ)句
教師先以范例“長(zhǎng)方形圖騰”為例,說(shuō)明如何利用Python的海龜模塊繪制簡(jiǎn)單圖形,再給出課堂基本任務(wù):繪制三角形、五角星和圓形等圖騰樣式。
1.范例學(xué)習(xí)
教師讓學(xué)生觀察范例“長(zhǎng)方形圖騰.py”的代碼和運(yùn)行效果,猜一猜每一行代碼的作用。這樣,將代碼和運(yùn)行效果進(jìn)行對(duì)比,學(xué)生才能直觀感受和理解每一行代碼的作用,加深印象,激發(fā)興趣。
:如表1,利用turtle庫(kù)的運(yùn)動(dòng)方法,控制海龜(黑色箭頭)移動(dòng)?!?”號(hào)是單行注釋符號(hào),一般單獨(dú)一行或在同一行代碼之后進(jìn)行注釋?zhuān)奖阕x程序和修改。這在項(xiàng)目合作時(shí),顯得尤為重要。
2.繪制簡(jiǎn)單圖騰
教師在分析范例的基礎(chǔ)上,先讓學(xué)生嘗試修改程序,繪制三角形和五角星圖騰(如下頁(yè)圖1、圖2),并鼓勵(lì)學(xué)生通過(guò)數(shù)學(xué)計(jì)算或測(cè)試調(diào)試等各種方法來(lái)修正角度,最終完成圖案的繪制。
接著,教師可以介紹turtle庫(kù)的其他運(yùn)動(dòng)方法,如“移動(dòng)到指定坐標(biāo)goto()”“畫(huà)圓circle()”,以及“畫(huà)筆控制”中的“抬筆penup()”和“落筆pendown()”等,引導(dǎo)學(xué)生嘗試?yán)L制各種圓形或多邊形圖騰(如下頁(yè)表2),并提示學(xué)生查看Python幫助文檔中有關(guān)turtle的介紹,進(jìn)一步實(shí)踐測(cè)試。
:小海龜?shù)某跏嘉恢檬亲鴺?biāo)原點(diǎn)(0,0),即畫(huà)布正中心,初始方向是x軸正方向。在繪制三角形、五角星和圓形的過(guò)程中,學(xué)生需要計(jì)算海龜轉(zhuǎn)向的角度,并結(jié)合坐標(biāo)系的知識(shí),不斷測(cè)試與調(diào)試。在此過(guò)程中,學(xué)生能逐步理解海龜繪圖的基本功能,為之后利用計(jì)算機(jī)繪制復(fù)雜圖形打下基礎(chǔ)。
3.小結(jié)
在模仿簡(jiǎn)單圖騰的基礎(chǔ)上,由學(xué)生參照學(xué)習(xí)單,自行小結(jié)海龜繪圖模塊的基本命令、功能和注意點(diǎn)。
:重在培養(yǎng)學(xué)生自主反思和小結(jié)的習(xí)慣和能力,也為進(jìn)一步設(shè)計(jì)組合圖案打基礎(chǔ)。
綜合運(yùn)用海龜模塊,設(shè)計(jì)復(fù)雜圖騰
1.設(shè)計(jì)復(fù)雜圖騰
發(fā)揮想象,先在學(xué)習(xí)單上繪制圖騰樣式。接著,參照表3“turtle庫(kù)的常用方法”,在Python中新建程序文件,編寫(xiě)代碼,實(shí)現(xiàn)復(fù)雜圖騰的設(shè)計(jì),如在setheading()中,可以設(shè)置海龜面向指定的方向。海龜畫(huà)圖有多種烏龜模式,我們可以利用turtle.mode()設(shè)置烏龜模式(“standard”“l(fā)ogo”或“world”)并執(zhí)行重置。如果沒(méi)有給出模式,則返回當(dāng)前模式。最常用的是標(biāo)準(zhǔn)(standard)模式,其坐標(biāo)系和方向可參照?qǐng)D3,海龜?shù)某跏紶顟B(tài)是面向0度,即向東。
:鼓勵(lì)學(xué)生不斷測(cè)試調(diào)試,優(yōu)化設(shè)計(jì)。在實(shí)現(xiàn)預(yù)設(shè)圖案的過(guò)程中,學(xué)生對(duì)turtle的認(rèn)識(shí)和理解又提升了一個(gè)層次。因?yàn)閷W(xué)生是初次接觸turtle庫(kù),故以學(xué)習(xí)控制海龜移動(dòng)或筆觸顏色來(lái)設(shè)計(jì)圖形為主,暫不涉及海龜?shù)臓顟B(tài)、響應(yīng)事件、特殊方法等設(shè)置。
2.分享總結(jié)
學(xué)生設(shè)計(jì)的圖騰樣式豐富多彩(如圖4、圖5)。隨后,利用網(wǎng)絡(luò)學(xué)習(xí)平臺(tái)Moodle的討論區(qū)進(jìn)行作品的全班分享,并可在討論區(qū)中展示圖騰設(shè)計(jì)效果和代碼,還可增加注釋?zhuān)f(shuō)明設(shè)計(jì)意圖和制作難點(diǎn)。學(xué)生可以互動(dòng)分享點(diǎn)評(píng)。
:分享的環(huán)節(jié)總是最激動(dòng)人心的,在分享中自我反思,在分享中相互學(xué)習(xí)。
如果你覺(jué)得海龜?shù)囊苿?dòng)速度太慢,還可以利用speed()設(shè)置繪制的速度,速度變化由慢至快為1~10,1最慢,10最快。若參數(shù)為0,則為最快速度,若參數(shù)缺省,則保持當(dāng)前速度。如果希望圖騰更加美觀,則可以利用pencolor()設(shè)置畫(huà)筆顏色(邊框色),或者利用begin_fill()和end_fill()填充顏色。更多有關(guān)海龜模塊的使用說(shuō)明,請(qǐng)嘗試查看在線幫助文檔。神秘圖騰的繪制過(guò)程有趣又好玩,而turtle庫(kù)的使用簡(jiǎn)便又直觀,大家不妨也來(lái)試一試吧!