海龜繪圖


在1966年,Seymour Papert和Wally Feurzig發明了一種專門給兒童學習編程的語言——LOGO語言,它的特色就是通過編程指揮一個小海龜(turtle)在屏幕上繪圖。

海龜繪圖(Turtle Graphics)后來被移植到各種高級語言中,Python內置了turtle庫,基本上100%復制了原始的Turtle Graphics的所有功能。

我們來看一個指揮小海龜繪制一個長方形的簡單代碼:

# 導入turtle包的所有內容:
from turtle import *

# 設置筆刷寬度:
width(4)

# 前進:
forward(200)
# 右轉90度:
right(90)

# 筆刷顏色:
pencolor('red')
forward(100)
right(90)

pencolor('green')
forward(200)
right(90)

pencolor('blue')
forward(100)
right(90)

# 調用done()使得窗口等待被關閉,否則將立刻關閉窗口:
done()

  

從程序代碼可以看出,海龜繪圖就是指揮海龜前進、轉向,海龜移動的軌跡就是繪制的線條。要繪制一個長方形,只需要讓海龜前進、右轉90度,反復4次。

調用width()函數可以設置筆刷寬度,調用pencolor()函數可以設置顏色。更多操作請參考turtle庫的說明。

繪圖完成后,記得調用done()函數,讓窗口進入消息循環,等待被關閉。否則,由於Python進程會立刻結束,將導致窗口被立刻關閉。

turtle包本身只是一個繪圖庫,但是配合Python代碼,就可以繪制各種復雜的圖形。例如,通過循環繪制5個五角星:

from turtle import *

def drawStar(x, y):
    pu()
    goto(x, y)
    pd()
    # set heading: 0
    seth(0)
    for i in range(5):
        fd(40)
        rt(144)

for x in range(0, 250, 50):
    drawStar(x, 0)

done()

  

 


免責聲明!

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



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