Python繪圖之turtle庫的基礎語法使用

前言

Python語言的turtle庫是一個直觀有趣的圖形繪制函數庫,是python語言標準庫之一。

turtle庫也叫海龜庫,是turtle繪圖體系的Python實現。turtle庫是Python語言的標準庫之一,是入門級的圖形繪制函數庫。

turtle繪圖體系:也叫海龜繪圖系統,它是在1969年誕生,主要用於程序設計入門的一種繪圖方式。

Python計算生態 = 標準庫 + 第三方庫

標準庫:隨解釋器直接安裝到操作系統中的功能模塊。

第三方庫:需要經過安裝才能使用的功能模塊。

turtle官方文檔:https://docs.python.org/3/library/turtle.html

turtle庫的繪圖原理是在一個橫軸為x、縱軸為y的坐標平面中,以原點(0,0)位置為開始點,根據一組函數指令的控制來移動,從而在它爬行的路徑上繪制圖形。

一、turtle庫的導入

方法一:import turtle

方法二:import turtle as t

方法三:from turtle import *

二、繪圖命令介紹

1. 畫佈屬性設置

語法 含義
turtle.screensize(width,height,bg)   設置畫佈的寬、高、背景顏色
turtle.setup(width,height,startx,starty)   設置畫佈顯示窗口的大小、位置,前兩個參數為窗口大小,後兩個參數為起始點位置

2. 畫筆屬性設置

語法 含義
turtle.pensize(width) 設置當前畫筆線條的寬度為width像素
turtle.colormode(1.0[255]) 設置畫筆顏色模式
turtle.pencolor(colorstring) 設置畫筆的顏色,參數colorstring可以是”green”、”red”、”blue”、“yellow”等英文字符串
turtle.speed(5) 設置畫筆的移動速度,畫筆繪制的速度范圍在[0,10]整數之間,數字越大,畫筆移動的速度越快。

3.  移動畫筆和轉角繪圖

語法 含義
turtle.penup()/pu()/up() 提起畫筆,不繪圖
turtle.pendown()/pd()/down() 畫筆移動時繪制圖形
turtle.forward(100)/fd(100) 畫筆向當前方向移動100像素距離
turtle.backward(100)/bk(100) 畫筆向相反方向移動100像素距離
turtle.right(45)/rt(45) 畫筆順時針移動45度
turtle.left(45)/lt(45) 畫筆逆時針移動45度
turtle.setheading(45)/seth(45) 設置當前畫筆朝向為45度
turtle.goto(x,y) 移動畫筆到指定坐標位置
turtle.hideturtle() 隱藏畫筆turtle形狀
turtle.showturtle() 顯示畫筆turtle形狀

實例代碼

# coding:utf8
import turtle as t
 
t.setup(500, 500)    # 設置畫佈大小
t.reset()            # 清空窗口
t.pensize(4)         # 設置畫筆大小為4
 
# 繪制外層正方形
t.penup()            # 提起畫筆
t.pencolor("red")    # 設置畫筆顏色
t.goto(-200, -200)    # 設置外層正方形起點坐標
t.pendown()
t.forward(400)       # 外層正方形邊長為400像素
t.left(90)
t.forward(400)
t.left(90)
t.forward(400)
t.left(90)
t.forward(400)
 
# 繪制中間正方形
t.penup()
t.pencolor("yellow")
t.goto(-150, -150)   # 中間正方形起點坐標
t.pendown()
t.seth(0)           # 重新設定畫筆角度為0°
t.forward(300)
t.left(90)
t.forward(300)
t.left(90)
t.forward(300)
t.left(90)
t.forward(300)
 
# 繪制內層中方形
t.penup()
t.pencolor("blue")
t.goto(-100,  -100)    # 內層正方形起點坐標
t.pendown()
t.seth(0)
t.forward(200)
t.left(90)
t.forward(200)
t.left(90)
t.forward(200)
t.left(90)
t.forward(200)
 
t.done()

4.  圖形繪制與圖形填充

語法 含義
turtle.circle(5,[extent,steps]) 繪制半徑為5的圓形
turtle.color(pencolor,fillcolor) 同時設置畫筆顏色(邊框顏色)和填充顏色
turtle.begin_fill() 以當前為起點,開始填充顏色
turtle.end_fill() 以當前為終點,結束填充圖形
turtle.done() 繪圖結束後,保留窗口

代碼實例

# coding:utf8
import turtle
 
turtle.setup(500, 500)
turtle.reset()
turtle.pensize(5)
 
turtle.penup()
turtle.goto(0, -200)
turtle.pendown()
 
# 繪制紅邊框藍填充顏色的大圓
turtle.color("red", "blue")
turtle.begin_fill()
turtle.circle(200)
turtle.end_fill()
 
# 繪制紅邊框綠填充顏色的大圓
turtle.color("red", "green")
turtle.begin_fill()
turtle.circle(150)
turtle.end_fill()
 
# 繪制紅邊框黃填充顏色的大圓
turtle.color("red", "yellow")
turtle.begin_fill()
turtle.circle(100)
turtle.end_fill()
 
turtle.done()

 

三、turtle繪圖實例:繪制太陽花

import turtle as t        # 導入Turtle庫,並指定導入庫的別名為t
 
t.color("red", "yellow")  # 同時設置pencolor=red, fillcolor=yellow
t.speed(10)               # 設置畫筆繪制的速度為10
t.begin_fill()            # 準備開始填充圖形
 
for x in range(50):       # 利用for循環繪制太陽花
    t.forward(200)        # 向當前畫筆方向移動200像素
    t.left(170)           # 逆時針旋轉170度
 
t.end_fill()              # 填充完成
t.done()                  # 繪制完成後窗口不退出

總結 

到此這篇關於Python繪圖之turtle庫基礎語法使用的文章就介紹到這瞭,更多相關Python繪圖turtle庫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: