Python

Python海龜式繪圖功能簡介

大部份的同學都是因為資料分析而學習Python,因此想到利用Python語言來繪圖,第一個想到的都是matplotlib這個繪製圖表的套件,而且都是先準備好要繪製的資料集,然後套用到matplotlib.pyplot中的各種圖表,例如長條圖、直方圖、折線圖、圓餅圖、散佈圖等等。但是,其實Python也有可以把電腦當作是畫布來繪製自定形狀的套件,那就是海龜式繪圖套件turtle。

海龜式繪圖是以很久以前就非常盛行於教小朋友利用電腦繪圖並學習運算思維和簡易程式設計的Logo語言為藍本,假想在畫布上有一隻小海龜,我們可以利用程式去指揮牠在畫布上移動,移動的軌跡可以選擇是否把它順便畫出來,如果是的話,那麼就等於是利用移動的軌跡來作畫。

以下的程式可以讓海龜設定一個500×500的畫布,然後讓海龜在畫布上留下一個邊長為100的正方形:

import turtle

screen = turtle.Screen()
screen.setup(500,500)

tu = turtle.Turtle()
for i in range(4):
    tu.forward(100)
    tu.left(90)

此程式執行之後,會開啟一個視窗,並展現出海龜繪圖的過程,結果就是一個正方形,如下所示:

在預設的情況下,海龜的形狀是三角形的樣子,也可以利用指令把它改回海龜的外形,或是把它隱藏起來。從程式中可以看出,forward(100)中間的數字即為前進的點數,這是相對於目前座標值的數值,而left(90)則是以海龜的視角,向左轉90度的意思。海龜式繪圖的畫布座標系統如下所示:

透過一些指令的改變,我們也可以輕易地繪製出各種形狀,例如正六邊形的程式,如下所示:

import turtle

screen = turtle.Screen()
screen.setup(500,500)

tu = turtle.Turtle()
tu.shape('turtle')
tu.pencolor('red')
n = 6
for i in range(n):
    tu.forward(100)
    tu.left(360/n)
tu.up()
tu.goto(0, -100)
tu.setheading(90)
screen.exitonclick()

在上述的程式中,我們把海龜的形狀呈現出來,並設定畫筆的顏色為紅色,同時在繪製完六角形之後就把畫筆提起,把海龜移到原點的下方,再把角度轉往上。最後的那行指令可以讓使用者在畫布上按任意鍵之後關閉畫布的視窗。上述程式的執行結果如下:

更多海龜式繪圖可以用的函式,請同學們參考這個網址:

https://docs.python.org/3/library/turtle.html

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s