注:本文所有代碼均經(jīng)過Python 3.7實(shí)際運(yùn)行檢驗(yàn)降淮,保證其嚴(yán)謹(jǐn)性乞旦。
turtle庫基本介紹
turtle庫,1969年誕生页畦,被Python語言借鑒,是Python的標(biāo)準(zhǔn)庫研儒。
turtle名稱含義為“海龜”豫缨,我們想象一只海龜独令,位于顯示器上窗體的正中心,在畫布上游走州胳,它游走的軌跡就形成了繪制的圖形记焊。海龜?shù)倪\(yùn)動(dòng)是由程序控制的,它可以變換顏色栓撞,改變尺寸遍膜、大小等。利用turtle可以制作很多復(fù)雜的繪圖瓤湘。
turtle庫繪圖窗體布局
turtle.setup(width, height[, startx, starty])
setup()設(shè)置窗體大小及位置瓢颅。width, height分別是窗體本身的寬度和高度,如下圖所示弛说。startx, starty是可選參數(shù)挽懦。
turtle空間坐標(biāo)體系
turtle絕對(duì)角度坐標(biāo)體系
$turtle.seth(angle)$
用來改變海龜行進(jìn)方向,參數(shù)angle為絕對(duì)角度(角度制的度數(shù)值木人,不帶°號(hào))信柿。
用turtle.right(angle)和turtle.left(angle)來改變turtle行進(jìn)的方向角度。
某個(gè)turtle繪圖示例如下:
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
RGB色彩體系
RGB由三種顏色構(gòu)成的萬物色醒第。
- RGB指紅藍(lán)綠三個(gè)通道的顏色組合渔嚷。
- 覆蓋視力所能感知的所有顏色。
- RGB每色取值范圍是0255整數(shù)稠曼,或01小數(shù)形病。
turtle默認(rèn)使用RGB的小數(shù)值改變顏色,turtle.colormode(mode)
- 1.0:RGB小數(shù)值模式霞幅。
- 255:RGB整數(shù)值模式漠吻。
拿紫色的RGB整數(shù)值模式(160, 32, 240)做例子,將其每個(gè)顏色數(shù)值除以255司恳,保留兩位小數(shù)途乃,就能得到其RGB小數(shù)值模式(160/255, 32/255, 240/255),即(0.63, 0.13, 0.94)扔傅。
turtle畫筆控制函數(shù)
畫筆操作后一直有效欺劳,一般成對(duì)出現(xiàn)。
-turtle.penup()铅鲤,別名turtle.pu()。
抬起畫筆枫弟,海龜在飛行邢享。這時(shí)的軌跡不在畫布上形成痕跡。
-turtle.pendown()淡诗,別名turtle.pd()骇塘。
落下畫筆伊履,海龜在爬行。這時(shí)的軌跡在畫布上形成痕跡款违。
turtle.pu()和turtle.pd()是成對(duì)出現(xiàn)的唐瀑。
-turtle.pensize(width) 別名 turtle.width(width)。
畫筆寬度插爹,海龜?shù)难鼑?/p>
-turtle.pencolor(color)哄辣,color為顏色字符串或RGB值。
畫筆顏色赠尾,海龜在涂裝力穗。
pencolor(color)的color參數(shù)可以有三種形式:
- 顏色字符串:-turtle.pencolor("purple")
- RGB的小數(shù)值:turtle.pencolor(0.63, 0.13, 0.94)
- RGB的元組值:turtle.pencolor((0.63, 0.13, 0.94))
turtle運(yùn)動(dòng)控制函數(shù)
控制海龜行進(jìn):走直線&走曲線:
-turtle.forward(d) 別名 turtle.fd(d),走直線
向前行進(jìn)气嫁,海龜走直線当窗。d:行進(jìn)距離,可以為負(fù)數(shù)寸宵。
-turtle.circle(r, extend=None)崖面,走曲線
根據(jù)半徑r繪制extent角度的弧形。r是默認(rèn)圓心在海龜左側(cè)r距離的位置梯影。extent是繪制角度巫员,默認(rèn)是360°即整圓;當(dāng)extent為正數(shù)時(shí)光酣,圓從turtle當(dāng)前位置逆時(shí)針方向(即順象限方向)畫圓心角為|extent|角度(角度制)的弧形疏遏;當(dāng)extent為負(fù)數(shù)時(shí),圓從turtle當(dāng)前位置順時(shí)針方向(即逆象限方向)畫圓心角為|extent|角度(角度制)的弧形救军。
turtle方向控制函數(shù)
控制海龜面對(duì)方向:絕對(duì)角度&海龜角度
-turtle.setheading(angle) 別名turtle.seth(angle)——絕對(duì)角度
改變行進(jìn)方向财异,海龜走的絕對(duì)角度。angle:改變行進(jìn)方向的絕對(duì)角度唱遭。
-turtle.left(angle), turtle.right(angle)
改變行進(jìn)方向戳寸,海龜走的海龜角度。angle:改變行進(jìn)方向的海龜角度拷泽。
“Python蟒蛇繪制”代碼實(shí)例
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
turtle.circle(40, 80)
turtle.circle(-40, 80)
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done() # 用來保持程序的圖象存在疫鹊。若沒有這行,程序運(yùn)行完成后會(huì)自動(dòng)退出司致。
turtle.done() 用來停止畫筆繪制拆吆,但繪圖窗體不關(guān)閉。
To be continued.