Python 之 turtle庫的學習(一)


  Turtle庫也叫海龜庫, 是Python重要的標准庫之一, 能夠進行基本的圖形繪制。Turtle庫在繪制圖形時的基本框架: 一個小海龜在坐標系中爬行,其爬行軌跡形成了繪制圖形。剛開始繪制時,小海龜位於畫布正中央,此處坐標為(0,0),前進方向為水平右方。

 

Turtle庫的基本函數

  

turtle.setup(a,b,c,d)
  •   (a, b): 輸入寬和高為整數時, 表示像素; 為小數時, 表示占據電腦屏幕的比例
  •   (startx, starty): 這一坐標表示 矩形窗口左上角頂點的位置, 如果為空,則窗口位於屏幕中心
turtle.fd(x) 順着畫筆當前方向前進x(正負)
turtle.bk(x) 畫筆移動到(a,b),當前方向不變
turtle.goto(a,b) 畫筆移動到(a,b),當前方向不變
turtle.circle(r,angle) 畫筆以r為半徑,逆時針旋轉angle(正負)度
turtle.setth(angle)(絕對角度) 改變當前畫筆的方向,但不行進
turtle.left(angle)(海龜角度) 當前畫筆方向左轉angle度
turtle.right(angle)(海龜角度) 當前畫筆方向右轉angle度
turtle.colormode(mode) 1.0RGB小數模式(一般); 255RGB整數值模式
turtle.penup() 畫筆抬起
turtle.pendown() 畫筆放下
turtle.pensize(a) 設置畫筆大小為a像素
turtle.pencolor(“red”) 設置畫筆顏色為紅色( 其他 )
turtle.begin_fill() 准備開始填充圖形
turtle.end_fill() 填充完成
turtle.fillcolor(顏色字符串) 繪制圖形的填充顏色
turtle.hideturtle() 隱藏箭頭顯示
turtle.showturtle() 顯示箭頭
turtle.done() 畫圖結束

 

     畫筆顏色可以用多種形式表示:

          顏色字符串:turtle.pencolor("purple")

     RGB的小數值:turtle.pencolor(0.63, 0.13, 0.94)
     RGB的整數值:turtle.pencolor(160, 32, 240)

          RGB的元組值:turtle.pencolor((0.63, 0.13, 0.94))

 

常用RGB顏色       

 

              

中文名稱 字符串 RGB整數值 RGB小數值
白色 white 255, 255, 255 1, 1, 1
黃色 yellow 255, 255, 0 1, 1, 0
洋紅 magenta 255, 0, 255 1, 0, 1
青色 cyan 0, 255, 255 0, 1, 1
藍色 blue 0, 0, 255 0, 0, 1
黑色 black 0, 0, 1 0, 0, 0
海貝色 seashell 255, 245, 238 1, 0.96, 0.93
金色 gold 255, 215, 0 1, 0.84, 0
粉紅色 pink 255, 192, 203 1, 0.75, 0.80
棕色 brown 165, 42, 42 0.65, 0.16, 0.16
紫色 purple 160, 32, 240 0.63, 0.13, 0.94
番茄色 tomato 255, 99, 71 1, 0.39, 0.28

 

繪圖實例

 

等邊疊加三角形

 1 import turtle as t
 2 
 3 def drawTriangle(angle, long):
 4     for i in range(3):
 5         t.fd(long)
 6         t.left(angle)
 7 
 8 if __name__ == "__main__":
 9     t.pensize(3)
10     t.seth(-120)
11     drawTriangle(120, 100)
12     for i in range(2):
13         t.fd(200)
14         t.left(120)
15     t.fd(100)
16     t.left(120)
17     t.fd(100)
18     t.right(120)
19     t.fd(100)
20     t.hideturtle()
21     t.done()

 

 

               




六角形

import turtle as t

def drawSixangle(angle, long):
    for i in range(5):
        t.fd(long)
        t.right(angle)

def drawTriangle(angle1, angle2, long):
    for i in range(6):
        t.fd(long)
        t.right(angle1)
        t.fd(long)
        t.left(angle2)

if __name__ == "__main__":
    t.pensize(2)
    t.seth(30)
    drawSixangle(60, 100)
    t.fd(100)
    drawTriangle(120, 60, 100)
    t.done()

 





 

五角星

 1 import turtle as t
 2 
 3 def main(long, angle):
 4     for i in range(5):
 5         t.fd(long)
 6         t.right(angle)
 7 
 8 if __name__ == "__main__":
 9     t.begin_fill()
10     t.fillcolor('red')
11     t.pensize(1)
12     main(100, 144)
13     t.end_fill()
14     t.hideturtle()
15     t.done()

 




 聖誕樹

 1 n = 50
 2 from turtle import *
 3 speed("fastest")
 4 left(90)
 5 fd(3*n)
 6 pencolor("dark green")
 7 bk(n*4.8)
 8 def tree(d, s):
 9     if d <= 0:
10         return
11     fd(s)
12     tree(d-1, s*.8)
13     right(120)
14     tree(d-3, s*.5)
15     right(120)
16     tree(d-3, s*.5)
17     right(120)
18     bk(s)
19 tree(15, n)
20 bk(n/2)
21 done()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM