python實現(xiàn)畫一顆樹和一片森林
更新時間:2018年06月25日 08:49:22 作者:liuxiang1995
這篇文章主要為大家詳細介紹了python實現(xiàn)畫一顆樹和一片森林,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了python畫一顆樹和一片森林的具體代碼,供大家參考,具體內(nèi)容如下
實現(xiàn)效果

代碼在這里
from turtle import Turtle
def tree(plist, l, a, f):
"""
:param plist:畫筆列表,指數(shù)型增加
:param l: 畫筆的長度,同時也是遞歸終止條件,注意下面的引用中是字母l,不是數(shù)字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():
"""
主函數(shù),賦樹的起點坐標
"""
maketree(0,0)
maketree(-200,-200)
maketree(200,-200)
main()
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python中enumerate()函數(shù)詳細分析(附多個Demo)
Python的enumerate()函數(shù)是一個內(nèi)置函數(shù),主要用于在遍歷循環(huán)中獲取每個元素的索引以及對應的值,這篇文章主要介紹了Python中enumerate()函數(shù)的相關資料,需要的朋友可以參考下2024-10-10
django之靜態(tài)文件 django 2.0 在網(wǎng)頁中顯示圖片的例子
今天小編就為大家分享一篇django之靜態(tài)文件 django 2.0 在網(wǎng)頁中顯示圖片的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
python實現(xiàn)mysql的單引號字符串過濾方法
這篇文章主要介紹了python實現(xiàn)mysql的單引號字符串過濾方法,以一個較為詳細的實例形式分析了Python針對MySQL的操作及字符串過濾的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11

