筆記-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()
相關文章
相關標籤/搜索