Turtle庫是Python中一個強大的繪制圖像的函數(shù)庫,靈活使用Turtle庫可以繪制各種好看的圖像。
下面介紹使用Turtle庫繪制一棵西蘭花。
繪制一棵西蘭花,從主干出發(fā)以一定的角度向左向右生成對稱的枝干,再從每個枝干出發(fā)向左向右生成對稱的枝干,循環(huán)此動作,并最終繪制出一棵漂亮的西蘭花。
首先導(dǎo)入Turtle庫,并設(shè)置畫筆大小、畫筆速度及顏色,并隱藏畫筆
from turtle import Turtlep=Turtle()p.pensize(5)p.color(clr)p.hideturtle()p.getscreen().tracer(30,0)
設(shè)置起始方向以及位置(屏幕中心為坐標(biāo)原點)
p.left(90)p.penup()p.goto(x,y)p.pendown()
設(shè)置畫筆完成之后,開始繪制西蘭花,首先繪制從開始畫位置向著預(yù)定的方向前進(jìn)一段距離,并向左向右分成兩個對稱的分支
p.forward(l)q=p.clone()p.left(a)q.right(a)
每完成一次分支后就將兩個分支對象添加到list中,并通過遍歷list完成整個圖像的繪制
def tree(plist,l,a,f): if l>5: lst=[] for p in plist: p.forward(l) q=p.clone() p.left(a) q.right(a) lst.append(p) lst.append(q) tree(lst,l*f,a,f)
在程序中通過遞歸調(diào)用完成了一棵西蘭花的繪制。
程序剩余代碼如下:
def maketree(x,y,clr): p=Turtle() p.pensize(5) p.color(clr) p.hideturtle() p.getscreen().tracer(30,0) #p.speed(10) p.left(90) p.penup() p.goto(x,y) p.pendown() t=tree([p],200,20,0.6375) #print(len(p.getscreen().turtles()))def main(): maketree(0,-300,"green")main()
以上這篇Python使用Turtle庫繪制一棵西蘭花就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)之家。
新聞熱點
疑難解答