1. 程式人生 > >python:turtle繪圖模塊

python:turtle繪圖模塊

har rap 畫圓 from bubuko port 開始 phi 無敵

turtle模塊

海龜繪圖(Turtle Graphics),python內置模塊,非常簡單好玩的一個庫。

一、導入庫

import turtle

from turtle import *

二、畫布的設置

‘‘‘設置畫筆大小‘‘‘
turtle.screensize()       #返回默認大小(400, 300)
turtle.screensize(800, 600, "white")

‘‘‘設置背景/畫布顏色‘‘‘
turtle.bgcolor()

三、畫筆的設置

畫筆的狀態描述:

畫布上,默認有一個坐標原點為畫布中心的坐標軸,,坐標原點上有一只面朝x軸正方向小烏龜。

這裏我們描述小烏龜時使用了兩個詞語:坐標原點

(位置),面朝x軸正方向(方向), turtle繪圖中, 就是使用位置方向描述小烏龜(畫筆)的狀態。

畫筆屬性的設置

‘‘‘設置畫筆的寬度‘‘‘
turtle.pensize() 
turtle.pensize(2)  #我喜歡用寬度2,舒服不解釋 

‘‘‘設置畫筆顏色‘‘‘
#設置畫筆顏色,沒有參數傳入,返回當前畫筆顏色,
turtle.pencolor()
#傳入參數設置畫筆顏色,可以是字符串如"green", "red"
turtle.pencolor(yellow)
#傳入多鐘顏色,用列表傳入
color = [red,green,blue,orange]
turtle.pencolor(color [
%4]) ‘‘‘設置畫筆速度‘‘‘ turtle.speed(5)

四、繪圖的命令

操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種:一種為運動命令,一種為畫筆控制命令,還有一種是全局控制命令

(1)畫筆運動命令:

#向當前畫筆方向移動distance像素路程
turtle.forward(distance)
turtle.forward(10)

#向當前畫筆方向反向移動distance像素路程
turtle.backward(sidtance)

#順時針移動degree度
turtle.right(degree)

#逆時針移動degree度
turtle.left(degree)

#將畫筆移動到坐標x,y位置 turtle.goto(x,y) #畫圓,半徑為正/負表圓心砸畫筆的左/右邊畫 turtle.circle() #畫圖馬上出結果,傳入值為True或沒有這條就慢慢畫 turtle.tracer(False)

(2)畫筆控制命令:

#繪制圖形的填充顏色
turtle.fillcolor()

#返回當前是否在填充的狀態
turtle.filling()

#開始填充
turtle.begin_fill()

#填充完成
turtle.end_fill()

(3) 全局控制命令

#清空turtle窗口
turtle.clear()

#繪制完成
#我在pycharm或sublime裏運行turtle的代碼如果後面不加這個界面會閃退
turtle.done()

示例:無敵旋轉棒棒錘螺旋菊花圖

技術分享圖片

import turtle

turtle.screensize(400,300,"white")
turtle.pensize(1)
turtle.bgcolor("white")
colors = ["red", "yellow",green,blue]
turtle.tracer(False)
turtle.speed(5)

for x in range(300):
    turtle.forward(2*x)
    turtle.color(colors[x % 4])
    turtle.left(91)
turtle.done()

python:turtle繪圖模塊