本文實例為大家分享了python畫一顆樹和一片森林的具體代碼,供大家參考,具體內容如下
實現效果
代碼在這里
from turtle import Turtledef tree(plist, l, a, f): """ :param plist:畫筆列表,指數型增加 :param l: 畫筆的長度,同時也是遞歸終止條件,注意下面的引用中是字母l,不是數字1 :param a: 分開的兩個樹杈之間夾角的一半,固定值65° :param f: 子樹與父樹的比值 :return: 返回一個基本的Y型的樹 """ 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)def maketree(x,y): """ :param x: 樹起點的橫坐標 :param y: 樹起點的縱坐標 :return: 返回一顆樹 """ p = Turtle() p.color("green") p.pensize(5) p.hideturtle() # 隱藏那只小烏龜 p.getscreen().tracer(30,0)# 獲得屏幕句柄,可以對其進行操作,每30次操作將屏幕刷新,延時為0 p.speed(10) p.left(90) p.penup() p.goto(x, y) p.pendown() # 此三句向來組合使用,意思為起筆,移動,落筆之意 t = tree([p],200,65,0.6375) print(len(p.getscreen().turtles())) #一共用了多少筆劃def main(): """ 主函數,賦樹的起點坐標 """ maketree(0,0) maketree(-200,-200) maketree(200,-200)main()
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答