1. 程式人生 > >python 畫圖 turtle 模組介紹之(一)

python 畫圖 turtle 模組介紹之(一)

Turtle圖形庫是教小孩子學習程式設計的一種流行的方式,是1966年 Wally Feurzig Seymour Paper開發的原始圖示程式語言的一部分。

設想在一個x-y的二維平面的原點(x=0,y=0)上有一個機器小烏龜,通過import turtle引入該包,向小烏龜發出命令turtle.forward(15),小烏龜便沿著當前的朝向移動15畫素,並畫出一條直線。發出指令turtle.right(25),則順時針旋轉25度。同理指令turtle.left(25)是逆時針旋轉25度,turtle.forward(-15)則是反方向移動25畫素。

通過把這些類似的命令組合在一起,可以很容易的畫出錯綜複雜的形狀和圖形。

畫五角星例子,從原點出發沿x軸向右移動200畫素,然後逆時針170度,再移動200畫素,如此迴圈。函式turtle.pos()可以獲得機器小烏龜的當前座標(x,y),而方法abs(turtle.pos())可以獲得機器小烏龜當前距離原點的直線距離(根據勾股定理計算)。經過若干次迴圈之後,機器小烏龜將再次經過原點(x=0,y=0,此時直線距離小於1,將跳出迴圈,程式執行結束。

import turtle

while True:

   turtle.forward(200)

   turtle.left(170)

   if abs(turtle.pos()) < 1 :

      break 

為了好看,可以設定畫線的顏色和背景,使用函式turtle.color(‘red’,’yellow’),畫線的線條顏色是紅色,背景填充色是黃色。使用函式turtle.begin_fille()和turtle.end_fille()實現背景填充。完整程式如下:

import turtle

turtle.color('red','yellow')

turtle.begin_fill()

while True:

   turtle.forward(200)

   turtle.left(170)

   if abs(turtle.pos()) < 1 :

      break 

turtle.end_fill()