官术网_书友最值得收藏!

3.3 編程知識點

(1)函數left()和right()

前面我們介紹了設置畫筆的絕對朝向函數setheading(),使用這個函數的前提是必須知道畫筆朝向與橫軸正向的夾角的準確值,否則圖形會畫亂。

有時候,我們需要畫筆在當前方向上順時針旋轉或者逆時針旋轉一個角度,這時計算畫筆朝向與橫軸正向的夾角較為困難,而使用與當前方向的夾角值計算比較容易。這就需要設置畫筆的相對朝向。

turtle庫的left()函數用來設置畫筆以當前朝向為基礎逆時針旋轉一定的角度;turtle庫的right()函數用來設置畫筆以當前朝向為基礎順時針旋轉一定的角度。

如圖3-3所示的程序代碼中,我們使用for循環(huán)畫三條邊,畫第一條邊的時候,畫筆從原點(0,0)開始沿著橫軸正向前行200像素,然后畫筆朝向逆時針旋轉120°(等邊三角形的外角為120°),開始畫第二條邊;畫筆繼續(xù)前行200像素,畫筆在當前方向的基礎上再逆時針旋轉120°,開始畫第三條邊;畫筆前行200像素后,畫筆朝向回到橫軸正向的方向上。運行這段代碼,畫筆運行的軌跡和過程如圖3-4所示。

圖3-3 逆時針畫等邊三角形的程序代碼

圖3-4 程序運行過程:逆時針畫等邊三角形

如果把上面的程序代碼中l(wèi)eft()函數改成right()函數,程序代碼如圖3-5所示,畫筆運行軌跡和過程如圖3-6所示。

圖3-5 順時針畫等邊三角形的程序代碼

圖3-6 程序運行過程:順時針畫等邊三角形

(2)函數speed()

turtle庫里的函數speed()用來設置畫筆移動速度,畫筆繪制的速度為0到10之間的整數。數字越大移動速度越快。

(3)函數done()和bye()

函數done()和bye()用來關閉和退出turtle庫,可以避免在使用完turtle庫后繼續(xù)占用計算資源和內存資源。它們不會產生任何畫圖動作,也不會有任何提示。在小的程序中不使用上述兩函數并不影響程序的運行,但在規(guī)范化的大型程序設計中,養(yǎng)成使用完某一庫后及時釋放相應計算資源和內容的習慣是非常職業(yè)化的要求。

主站蜘蛛池模板: 博乐市| 汝南县| 海宁市| 西盟| 新宁县| 通化市| 巩留县| 蓝山县| 托里县| 无棣县| 平邑县| 和龙市| 元朗区| 汉阴县| 贵港市| 巴中市| 西乌珠穆沁旗| 泸西县| 临邑县| 聂拉木县| 双峰县| 鹰潭市| 德钦县| 海宁市| 平武县| 巴青县| 道真| 建昌县| 元朗区| 全南县| 咸宁市| 泗水县| 乐安县| 彭水| 仲巴县| 普兰县| 东明县| 武汉市| 麻城市| 苏州市| 稷山县|