Python使用Turtle庫繪製一棵西蘭花
阿新 • • 發佈:2020-01-09
Turtle庫是Python中一個強大的繪製圖像的函式庫,靈活使用Turtle庫可以繪製各種好看的影象。
下面介紹使用Turtle庫繪製一棵西蘭花。
繪製一棵西蘭花,從主幹出發以一定的角度向左向右生成對稱的枝幹,再從每個枝幹出發向左向右生成對稱的枝幹,迴圈此動作,並最終繪製出一棵漂亮的西蘭花。
首先匯入Turtle庫,並設定畫筆大小、畫筆速度及顏色,並隱藏畫筆
from turtle import Turtle p=Turtle() p.pensize(5) p.color(clr) p.hideturtle() p.getscreen().tracer(30,0)
設定起始方向以及位置(螢幕中心為座標原點)
p.left(90) p.penup() p.goto(x,y) p.pendown()
設定畫筆完成之後,開始繪製西蘭花,首先繪製從開始畫位置向著預定的方向前進一段距離,並向左向右分成兩個對稱的分支
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,f)
在程式中通過遞迴呼叫完成了一棵西蘭花的繪製。
程式剩餘程式碼如下:
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庫繪製一棵西蘭花就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。