python实现画一颗树和一片森林

本文实例为大家分享了python画一颗树和一片森林的具体代码,供大家参考,具体内容如下

实现效果

代码在这里

from turtle import Turtle

def 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()

以上是 python实现画一颗树和一片森林 的全部内容, 来源链接: utcz.com/z/359395.html

回到顶部