首頁 > 軟體

Python turtle庫(繪製螺旋正方形)

2022-07-18 18:03:35

turtle庫繪製螺旋正方形

1.螺旋正方形

import turtle  #匯入turtle庫
turtle.pensize(2) #設定畫筆的寬度(2)
for i in range(100):  #迴圈(畫)100次
   turtle.fd(i + (i * 2)) #每次迴圈畫筆長度i+(i*2)
   #(不能覆蓋掉i-1的正方形的意思?)
   turtle.left(90) #左轉90°
turtle.hideturtle() #隱藏畫筆
turtle.done()   #停留畫面

執行結果:

2.彩色螺旋正方形

import turtle #匯入turtle庫
turtle.pensize(2)  #設定畫筆的寬度(2)
turtle.bgcolor("black") #背景顏色(黑色)
colors = ["blue","yellow","red","pink"] #定義顏色(4中顏色)
for i in range(120):        #迴圈(畫)120次
    turtle.pencolor(colors[i % 4]) #畫筆顏色
    turtle.fd(i+(i*2))   #每次迴圈畫線長度i+(i*2)
    turtle.left(90)    #左轉90°
turtle.hideturtle()   #隱藏畫筆
turtle.done()    #停留畫面

執行結果:

第三方庫turtle的應用

turtle庫用於繪製圖形的內建函數庫。turtle是海龜的意思,turtle繪圖可以描述為海歸爬行軌跡形成了繪製的圖形,所以繪圖十分直觀

1.pip安裝turtle庫

開啟cmd,輸入

pip install turtle

2.繪圖座標系

turtle畫布上預設為原點是畫布中心,座標原點是 (0,0),X軸左右側分別為後退和前進方向,Y軸上下兩側分別為左右兩側方向

turtle.setup(width,height.top,left)   引數width和height表示繪圖視窗的寬度和高度;如果引數是整數,則單位是畫素;如果引數是小數,則表示與螢幕的比例。引數top和left表示視窗左邊界和上邊界與螢幕邊界的距離,如果值是None,表示位於螢幕中央(一般情況下不設定這兩個引數的值)

3.turtle的畫筆控制方法

turtle的畫筆控制方法主要是設定畫筆的狀態,如畫筆的擡起和下落狀態,設定的畫筆的寬度和顏色等

turtle的畫筆控制方法
方法功能
turtle.pensize()/width設定畫筆的寬度,若為空則返回當前畫筆的寬度
turtle.pendown()/pd()/down()放下畫筆,即結束圖形繪製
turtle.penup()/pu()/up()提起畫筆,用於移動畫筆位置
turtle.pencolor(colorstring)/pencolor((r,g,b))設定畫筆顏色,第一個為顏色字串,例('blue');第二個為顏色值取值表示

4.turtle的圖形繪製方法

這個方法包括畫筆的前進方法,後退,方向控制等

turtle的圖形控制方法
方法功能
turtle.seth(angle)/setheading(angle)改變畫筆繪製方向,angle是絕對方向的絕對值
turtle.fd(distance)/forward(distance)控制畫筆沿當前方向前進distance距離,distance的單位是畫素,當值為負數時,表示向相反的的方向前進
turtle.circle(radius,extents)用來繪製一個弧形,根據半徑radius繪製extens角度的弧形
turtle.left(angle)向左旋轉angle角度
turtle.setx(x)將當前x軸移動到指定位置,x的單位是畫素
turtle.sety(y)將當前軸y移動到指定位置,y的單位是畫素
turtle.right(angle)向右旋轉angle角度
turtle.shape("name")設定畫筆的形狀,例:將name設定成‘turtle’
turtle.speed(num)設定畫筆的速度,num是一個整數
turtle.hideturtle()隱藏畫筆

5.簡單應用範例

繪製藍色螺旋程式碼

import turtle as tt
 
'''繪製藍色正方形螺旋'''
tt.setup(400, 300)  # 設定視窗大小
tt.pensize(1)  # 設定畫筆寬度
tt.pencolor('blue')  # 設定畫筆顏色
tt.shape('turtle')  # 設定畫筆形狀
tt.speed(5)  # 設定畫筆速度
a = 5    #設定畫筆起始位置
for i in range(40):
    a += 5
    tt.left(90)
    tt.fd(a)
tt.hideturtle()    #隱藏畫筆
tt.done()    #放下畫筆,結束繪製

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com