python中的畫圖神器——turtle模塊

turtle庫的基礎(chǔ)命令介紹

(1)畫布
畫布cancas是繪圖區(qū)域阎毅,可以設(shè)置它的大小和初始位置

turtle.screensize(1000,600,'red')    大小的設(shè)置
turtle.setup(width=0.5,height=0.75)  初始位置

(2)畫筆

(1)畫筆運(yùn)動的命令
turtle.forward(a)   向當(dāng)前畫筆方向移動a像素長度
turtle.backward(a)  向當(dāng)前畫筆相反方向移動a像素長度
turtle.right(a)     順時針移動
aturtle.left(a)     逆時針移動
aturtle.pendown()   移動時繪制圖形
turtle.goto(x,y)    將畫筆移動到坐標(biāo)為x,y的位置
turtle.penup()      移動時不繪制圖形鞍时,提起筆
turtle.speed(a)     畫筆繪制的速度范圍
turtle.circle()     畫圖意系,半徑為正岔绸,表示圓心在畫筆的左邊畫圈
(2)畫筆控制命令
turtle.pensize(width)   繪制圖形的寬度
turtle.pencolor()       畫筆的顏色
turtle.fillcolor(a)     繪制圖形的填充顏色
turtle.color(a1,a2)     同時設(shè)置pencolor=a1,fillcolor=a2
turtle.filling()        返回當(dāng)前是否在填充狀態(tài)
turtle.begin_fill()     準(zhǔn)備開始填充圖形
turtle.end_fill()       填充完成
turtle.hideturtle()     隱藏箭頭顯示
turtle.showturtle()     顯示箭頭
(3)全局控制命令
turtle.clear()   清空turtle窗口,但是turtle的位置和狀態(tài)不會改變
turtle.reset()   清空窗口睡毒,重置turtle狀態(tài)為起始位置
turtle.undo()    撤銷上一個turtle動作

turtle繪制實(shí)戰(zhàn)

(1)櫻花樹1的繪制

import turtle as T
import random
import time

# 繪制櫻花
def Tree(branch,t):
    time.sleep(0.01)
 if branch>3:
 if 8<=branch<=12:
 if random.randint(0,2)==0:
 # 上色
 t.color('snow')
 else:
 # 上色
 t.color('lightcoral')
            t.pensize(branch/3)
 elif branch<8:
 if random.randint(0,1)==0:
                t.color('snow')
 else:
                t.color('lightcoral')
            t.pensize(branch/2)
 else:
            t.color('sienna')
            t.pensize(branch/2)
        t.forward(branch)
        a=1.5*random.random()
        t.right(20*a)
        b=1.5*random.random()
        Tree(branch-10*b,t)
        t.left(40*a)
        Tree(branch-10*b,t)
        t.right(20*a)
        t.up()
        t.backward(branch)
        t.down()


# 繪制花瓣
def Petal(m,t):
 for i in range(m):
        a=200-400*random.random()
        b=10-20*random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color('lightcoral')
        t.circle(1)
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)


t=T.Turtle()
w=T.Screen()
t.hideturtle()  # 隱藏turtle
t.getscreen().tracer(5,0)
w.screensize(bg='wheat')
t.left(90)
t.up()
t.backward(150)
t.down()
t.color('sienna')

Tree(60,t)
Petal(200,t)
w.exitonclick()
image.png

(2)櫻花樹2的繪制

from turtle import *
from random import *
from math import *

def tree(n, l):
    pd() # 下筆
 # 陰影效果
 t = cos(radians(heading() + 45)) / 8 + 0.25
 pencolor(t, t, t)
    pensize(n / 3)
    forward(l) # 畫樹枝
 if n > 0:
        b = random() * 15 + 10 # 右分支偏轉(zhuǎn)角度
 c = random() * 15 + 10 # 左分支偏轉(zhuǎn)角度
 d = l * (random() * 0.25 + 0.7) # 下一個分支的長度
 # 右轉(zhuǎn)一定角度缴淋,畫右分支
 right(b)
        tree(n - 1, d)
 # 左轉(zhuǎn)一定角度敢订,畫左分支
 left(b + c)
        tree(n - 1, d)

 # 轉(zhuǎn)回來
 right(c)
 else:
 # 畫葉子
 right(90)
        n = cos(radians(heading() - 45)) / 4 + 0.5
 pencolor(n, n*0.8, n*0.8)
        circle(3)
        left(90)

 # 添加0.3倍的飄落葉子
 if(random() > 0.7):
            pu()
 # 飄落
 t = heading()
            an = -40 + random()*40
 setheading(an)
            dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)
            forward(dis)
            setheading(t)


 # 畫葉子
 pd()
            right(90)
            n = cos(radians(heading() - 45)) / 4 + 0.5
 pencolor(n*0.5+0.5, 0.4+n*0.4, 0.4+n*0.4)
            circle(2)
            left(90)
            pu()

 #返回
 t = heading()
            setheading(an)
            backward(dis)
            setheading(t)

    pu()
    backward(l)# 退回
bgcolor(0.5, 0.5, 0.5) # 背景色
ht() # 隱藏turtle
speed(0) # 速度,1-10漸進(jìn)厅缺,0最快
tracer(0, 0)
pu() # 抬筆
backward(100)
left(90) # 左轉(zhuǎn)90度
pu() # 抬筆
backward(300) # 后退300
tree(12, 100) # 遞歸7層
done()
image.png

(3)櫻花樹3的繪制

from turtle import *
from random import *
from math import *

def tree(n,l):
    pd()
    t=cos(radians(heading()+45))/8+0.25
 pencolor(t,t,t)
    pensize(n/4)
    forward(l)
 if n>0:
        b=random()*15+10
 c=random()*15+10
 d=l*(random()*0.35+0.6)
        right(b)
        tree(n-1,d)
        left(b+c)
        tree(n-1,d)
        right(c)
 else:
        right(90)
        n=cos(radians(heading()-45))/4+0.5
 pencolor(n,n,n)
        circle(2)
        left(90)
    pu()
    backward(l)
bgcolor(0.5,0.5,0.5)
ht()
speed(0)
tracer(0,0)
left(90)
pu()
backward(300)
tree(13,100)
done()
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蔬顾,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子湘捎,更是在濱河造成了極大的恐慌诀豁,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窥妇,死亡現(xiàn)場離奇詭異舷胜,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)秩伞,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門逞带,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纱新,你說我怎么就攤上這事∧屡浚” “怎么了脸爱?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長未妹。 經(jīng)常有香客問我簿废,道長,這世上最難降的妖魔是什么络它? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任族檬,我火速辦了婚禮,結(jié)果婚禮上化戳,老公的妹妹穿的比我還像新娘单料。我一直安慰自己埋凯,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布扫尖。 她就那樣靜靜地躺著白对,像睡著了一般。 火紅的嫁衣襯著肌膚如雪换怖。 梳的紋絲不亂的頭發(fā)上甩恼,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天,我揣著相機(jī)與錄音沉颂,去河邊找鬼条摸。 笑死,一個胖子當(dāng)著我的面吹牛铸屉,可吹牛的內(nèi)容都是我干的屈溉。 我是一名探鬼主播,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼抬探,長吁一口氣:“原來是場噩夢啊……” “哼子巾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起小压,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤线梗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后怠益,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仪搔,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年蜻牢,在試婚紗的時候發(fā)現(xiàn)自己被綠了烤咧。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡抢呆,死狀恐怖煮嫌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情抱虐,我是刑警寧澤昌阿,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站恳邀,受9級特大地震影響懦冰,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谣沸,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一刷钢、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧乳附,春花似錦内地、人聲如沸伴澄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽秉版。三九已至,卻和暖如春茬祷,著一層夾襖步出監(jiān)牢的瞬間清焕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工祭犯, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秸妥,地道東北人。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓沃粗,卻偏偏與公主長得像粥惧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子最盅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容