Turtle庫是Python語言中一個很流行的繪制圖像的函數(shù)庫,想象一個小烏龜辣苏,在一個橫軸為x、縱軸為y的坐標(biāo)系原點哄褒,(0,0)位置開始稀蟋,它根據(jù)一組函數(shù)指令的控制,在這個平面坐標(biāo)系中移動呐赡,從而在它爬行的路徑上繪制了圖形退客。
turtle繪圖的基礎(chǔ)知識
1. 畫布(canvas)
畫布就是turtle為我們展開用于繪圖區(qū)域,我們可以設(shè)置它的大小和初始位置。
我們可以通過turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
方法來設(shè)置畫布的大小萌狂。
參數(shù):width, height: 輸入寬和高為整數(shù)時, 表示像素; 為小數(shù)時, 表示占據(jù)電腦屏幕的比例档玻,(startx, starty): 這一坐標(biāo)表示矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心。
2. 畫筆
在畫布上茫藏,默認(rèn)有一個坐標(biāo)原點為畫布中心的坐標(biāo)軸误趴,坐標(biāo)原點上有一只面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標(biāo)原點(位置)务傲,面朝x軸正方向(方向)冤留, turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態(tài)树灶。
2.1 畫筆的屬性
畫筆(畫筆的屬性纤怒,顏色、畫線的寬度等)
turtle.pensize():設(shè)置畫筆的寬度天通;
turtle.pencolor():沒有參數(shù)傳入泊窘,返回當(dāng)前畫筆顏色,傳入?yún)?shù)設(shè)置畫筆顏色像寒,可以是字符串如"green", "red",也可以是RGB 3元組烘豹。
turtle.speed(speed):設(shè)置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數(shù)诺祸,數(shù)字越大越快携悯。
常用命令
操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種:一種為運(yùn)動命令筷笨,一種為畫筆控制命令憔鬼,還有一種是全局控制命令邓萨。
畫筆運(yùn)動命令
turtle.forward(distance)
向當(dāng)前畫筆方向移動distance像素長度
turtle.backward(distance)
向當(dāng)前畫筆相反方向移動distance像素長度
turtle.right(degree)
順時針移動degree°
turtle.left(degree)
逆時針移動degree°
turtle.pendown()
移動時繪制圖形截歉,缺省時也為繪制
turtle.goto(x,y)
將畫筆移動到坐標(biāo)為x,y的位置
turtle.penup()
提起筆移動悠垛,不繪制圖形颇玷,用于另起一個地方繪制
turtle.circle()
畫圓,半徑為正(負(fù))亩歹,表示圓心在畫筆的左邊(右邊)畫圓
setx( )
將當(dāng)前x軸移動到指定位置
sety( )
將當(dāng)前y軸移動到指定位置
setheading(angle)
設(shè)置當(dāng)前朝向為angle角度
home()
設(shè)置當(dāng)前畫筆位置為原點秋泄,朝向東晦溪。
dot(r)
畫筆控制命令
turtle.fillcolor(colorstring)
繪制圖形的填充顏色
turtle.color(color1, color2)
同時設(shè)置pencolor=color1, fillcolor=color2
turtle.filling()
返回當(dāng)前是否在填充狀態(tài)
turtle.begin_fill()
準(zhǔn)備開始填充圖形
turtle.end_fill()
填充完成
turtle.hideturtle()
隱藏畫筆的turtle形狀
turtle.showturtle()
顯示畫筆的turtle形狀
全局控制命令
turtle.clear()
清空turtle窗口答恶,但是turtle的位置和狀態(tài)不會改變
turtle.reset()
清空窗口饺蚊,重置turtle狀態(tài)為起始狀態(tài)
turtle.undo()
撤銷上一個turtle動作
turtle.isvisible()
返回當(dāng)前turtle是否可見
stamp()
復(fù)制當(dāng)前圖形
turtle.write(s [,font=("font-name",font_size,"font_type")])
寫文本,s為文本內(nèi)容悬嗓,font是字體的參數(shù)污呼,分別為