筆記-8:使用turtle庫進行圖形繪制


1.窗體函數

  • turtle.setup(width,height,startx,starty)
  • 作用:設置窗體的大小和位置
    • width:窗口寬度,如果值是整數,表示像素值;如果值是小數,表示窗口寬度與屏幕的比例。
    • height:窗口高度,如果值是整數,表示像素值;如果值是小數,表示窗口高度與屏幕的比例。
    • startx:窗口左側與屏幕左側的像素距離,如果值是None,窗口位於屏幕水平中央。
    • starty:窗口頂部與屏幕頂部的像素距離,如果值是None,窗口位於屏幕垂直中央。

2.畫筆狀態函數

pendown() 發下畫筆
penup() 提起畫筆,與pendown()配對使用
pensize(width) 設置畫筆線條的粗細為指定大小
color() 設置畫筆的顏色
begin_fill() 填充圖形前,調用該方法
end_fill() 填充圖形結束
filling() 返回填充的狀態,True為填充,False為未填充
clear() 清空當前窗口,但不改變當前畫筆的位置
reset() 清空當前窗口,並重置位置等狀態為默認值
screensize() 設置畫筆的長和寬
hideturtle() 隱藏畫筆的turtle形狀
showturtle() 顯示畫筆的turtle形狀
isvisible() 如果turtle可見,則返回True

 

3.畫筆運動函數

forward() 沿着當前方向前進指定距離
backward() 沿着當前相反方向后退指定距離
right(angle) 向右旋轉angle角度
left(angle) 向左旋轉angle角度
goto(x,y) 移動到絕對坐標( x,y) 處
setx( ) 將當前x軸移動到指定位置
sety( ) 將當前y軸移動到指定位置
setheading(angle) 設置當前朝向為angle角度
home() 設置當前畫筆位置為原點, 朝向東。
circle(radius,e) 繪制一個指定半徑r和角度e的圓或弧
dot(r,color) 繪制一個指定半徑r和顏色color的圓點
undo() 撤銷畫筆最后一步動作
speed() 設置畫筆的繪制速度, 參數為0-10之間

 

4.案例

  • 案例-1:使用turtle庫繪制輪廓顏色為紅色(red)、填充顏色為粉紅色(pink)的心形圖形
from turtle import *

color('red', 'pink')         # 設置畫筆的顏色
begin_fill()                 # 填充圖形前,調用該方法
left(135)                    # 向左旋轉135度
fd(100)                      # 控制畫筆向當前行進方向前進100
right(180)                   # 向右旋轉180度
circle(50,-180)              # 繪制一個指定半徑50和角度180的圓或弧形
left(90)                     # 向左旋轉90度
circle(50,-180)              # 繪制一個指定半徑50和角度180的圓或弧形
right(180)                   # 向右旋轉180度
fd(100)                      # 控制畫筆向當前行進方向前進100
end_fill()                   # 填充圖形完成
hideturtle()                 # 隱藏畫筆的形狀
done()
  • 案例-2:使用turtle庫繪制紅色五角星圖形
from turtle import *

setup(400,400)            # 窗體的大小400*400
penup()                   # 提起畫筆
goto(-100,50)             # 移動到絕對坐標(-100,50)
pendown()                 # 落下畫筆, 之后, 移動畫筆將繪制形狀
color('red')              
begin_fill()              # 填充圖形
for i in range(5):
    forward(200)          # 沿着當前方向前進200
    right(144)            # 向右旋轉144角度
end_fill()                # 填充圖形結束
hideturtle()              
done()
  • 案例-3:使用turtle庫繪制正方形螺旋線
from turtle import *

n = 10
for i in range(1,10):                 
    for j in [90,180,-90,0]:
        seth(j)      # 改變畫筆繪制方向
        fd(n)        # 當前行進方向前進n+5
        n += 5
hideturtle()
done()
  • 案例-4:使用turtle庫繪制簡單城市剪影圖形
from turtle import *

setup(800,300)                        # 設置主窗體的大小和位置
penup()                               # 抬起畫筆,之后, 移動畫筆不繪制形狀
fd(-350)
pendown()                             # 落下畫筆, 之后, 移動畫筆將繪制形狀
def DrawLine(size):
    for angle in [0,90,-90,-90,90]:
        left(angle)                   # 向左旋轉angle角度
        fd(size)    
for i in [20,30,40,50,40,30,20]:
    DrawLine(i)
hideturtle()
done()
  • 案例-5:使用turtle庫繪制同心圓圖形
from turtle import *

def DrawCctCircle(n):
    penup()                            # 抬起畫筆,之后, 移動畫筆不繪制形狀
    goto(0,-n)                         # 移動到絕對坐標( 0,-n) 處
    pendown()                          # 落下畫筆, 之后, 移動畫筆將繪制形狀
    circle(n)                          # 繪制一個指定半徑n圓
for i in range(20,100,20):
    DrawCctCircle(i)
hideturtle()
done()


免責聲明!

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



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