Turtle庫 簡介
什麼是Turtle
首先,turtle庫是一個點線面的簡單圖像庫,能夠完成一些比較簡單的幾何圖像可視化。它就像一個小烏龜,在一個橫軸為x、縱軸為y的坐标系原點,(0,0)位置開始,它根據一組函數指令的控制,在這個平面坐标系中移動,進而在它爬行的路徑上繪制了圖形。
Turtle庫基礎知識
1.畫布(canvas)
畫布就是turtle為我們展開用于繪圖區域預設大小(400, 300),我們可以設定它的大小和初始位置。
2.畫筆(pen)
2.1畫筆的狀态
在畫布上,預設有一個坐标原點為畫布中心的坐标軸,坐标原點上有一隻面朝x軸正方向小烏龜。這裡我們描述小烏龜時使用了兩個詞語:坐标原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀态。
2.2 畫筆的屬性
畫筆(畫筆的屬性,顔色、畫線的寬度等)
1) turtle.pensize():設定畫筆的寬度;
2) turtle.pencolor():沒有參數傳入,傳回目前畫筆顔色,傳入參數設定畫筆顔色,可以是字元串如"green", "red",也可以是RGB 3元組。
3) turtle.speed(speed):設定畫筆移動速度,畫筆繪制的速度範圍[0,10]整數,數字越大越快。
複制代碼
2.3 繪圖指令
操縱海龜繪圖有着許多的指令,這些指令可以劃分為3種:一種為運動指令,一種為畫筆控制指令,還有一種是全局控制指令。
2.3.1 畫筆運動指令:
指令說明
turtle.home()将turtle移動到起點(0,0)和向東turtle.speed(speed)畫筆繪制的速度範圍[0,10]整數turtle.forward(distance)向目前畫筆方向移動distance像素長turtle.backward(distance)向目前畫筆相反方向移動distance像素長度turtle.right(degree)順時針移動degree°turtle.left(degree)逆時針移動degree°turtle.pendown()移動時繪制圖形放下筆,,預設繪制turtle.penup()移動時不繪制圖形,提起筆,用于另起一個地方繪制時用turtle.circle(r,extent,step)繪制一個指定半徑、弧度範圍、階數(正多邊形)的圓turtle.dot(diameter,color)繪制一個指定直徑和顔色的圓
2.3.2 畫筆控制指令:
指令說明
turtle.pencolor()畫筆顔色turtle.pensize(width)畫筆寬度(繪制圖形時的寬度)turtle.color(color1, color2)同時設定pencolor=color1, fillcolor=color2turtle.filling()傳回目前是否在填充狀态turtle.begin_fill()準備開始填充圖形turtle.end_fill()填充完成turtle.hideturtle()隐藏畫筆的turtle形狀turtle.showturtle()顯示畫筆的turtle形狀
2.3.3 全局控制指令
指令說明
turtle.clear()清空turtle視窗,但是turtle的位置和狀态不會改變turtle.reset()清空視窗,重置turtle狀态為起始狀态turtle.undo()取消最後一個圖的操作turtle.isvisible()傳回目前turtle是否可見turtle.stamp()複制目前圖形turtle.write(s , [font=("font-name",font_size,"font_type")])寫文本,s為文本内容,font是字型的參數,分别為字型名稱,大小和類型;font為可選項,font參數也是可選項
2.2.3其他指令
指令說明
turtle.mainloop()或turtle.done()啟動事件循環 -調用Tkinter的mainloop函數。必須是烏龜圖形程式中的最後一個語句。turtle.mode(mode=None)設定烏龜模式(“standard”,“logo(向北或向上)”或“world()”)并執行重置。如果沒有給出模式,則傳回目前模式。turtle.undo()取消最後一個圖的操作turtle.isvisible()傳回目前turtle是否可見turtle.stamp()複制目前圖形turtle.write(s , [font=("font-name",font_size,"font_type")])寫文本,s為文本内容,font是字型的參數,分别為字型名稱,大小和類型;font為可選項,font參數也是可選項
Turtle總結和展示
Turtle可以實作很多好玩的東西,例如我在知乎和其他地方看到别人畫“小豬佩奇”,“叮當貓”,“花花草草”等,世界很大,還有很多好玩的等着我們!!!
def main():
setting() #畫布、畫筆設定
nose(-100,100) #鼻子
head(-69,167) #頭
ears(0,160) #耳朵
eyes(0,140) #眼睛
cheek(80,10) #腮
mouth(-20,30) #嘴
body(-32,-8) #身體
hands(-56,-45) #手
foot(2,-177) #腳
tail(148,-155) #尾巴
done() #結束
複制代碼
最後,小編想說:我是一名python開發工程師,
整理了一套最新的python系統學習教程,
