海龜繪圖(logo)是一種學習程式語言概念很好的入門,網路上可以找到許多種語言實作的logo。這裡我介紹一個網路上找到的,以python+ Qt4建構的logo環境。除了可以學習基礎的程式概念,還能順便學python。
海龜繪圖
海龜繪圖(logo)
假想一隻帶著畫筆的海龜可以接受簡單的命令,例如向前走100步,或者左轉30度。通過對這隻海龜發送命令,可以讓它繪製出較為複雜的圖形,例如正方形,三角形,圓等。
海龜的移動相對於它本身所在的位置。例如,命令"左 90"意味著讓海龜左轉90度,學生可以站在海龜的角度來思考它將如何執行命令,這使得程序設計更加形象化,也更易於理解。
pynguin
於python下已有自帶的Tk版本海龜繪圖環境--turtle — Turtle graphics for Tk
這個作者製做了另一個基於python + Qt4 gui的海龜環境(雖然說預設顯示是隻企鵝)--pynguin。以下是企鵝的表現截圖:Screenshots
但由於需要安裝python與Qt4才能執行,對一般使用者來說有些麻煩。於是我將它包裝成獨立執行檔。可在此下載。
解壓縮後執行pynguin.exe即可打開介面。
開啟範例
初 學者可先從作者提供的範例開始玩。從File -> Example -> ... 可以看到內附的例子。這裡選擇第2個例子。載入後,函式的程式碼會顯示在右上的黑色框框內。按右下的"Test"按鈕,右下的互動式介面會顯示將 要被執行的命令。在右下黑框內按下enter即可開始執行。Ctrl-C可中止執行。
命令簡述
可對企鵝下的命令如下:
# 相對坐標
forward(n) # 前進n個像素距離。等同於fd(n)。
backward(n) # 後退n個像素距離。等同於bk(n)。
left(n) # 左轉角度n。等同於lt(n)。
right(n) # 右轉角度n。等同於rt(n)。
circle(n) # 畫圓, 半徑n個像素距離
circle(n, True) # 以目前位置為圓心畫圓, 半徑n個像素距離
# 絕對坐標
goto(x,y) # 移動至(點x, 點y)
reset() # 清除繪圖區
更多說明在 doc\worksheets\
在右下黑框內輸入
fd(100)
lt(90)
fd(100)
lt(90)
即可看到企鵝隨著指令移動。
參考
python語法介紹--Python Handbook
更深入的海龜繪圖應用--碎形幾何參考網站:碎形幾何內涵與 Logo 程式繪圖