用python绘制树和深林

来源:互联网 发布:mac ruby woo 编辑:程序博客网 时间:2024/05/17 07:13

1 用python绘制一棵树
实现方法:通过对树的结构进行观察分析,利用递归程序来实现树的构造

实现代码:

def tree(plist,l,a,f):    #plist:list of pens    #l:分支长度    #a:分支一半的角度    #f:factor of the branch is shorted    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):    p = Turtle()    p.color("green")    p.pensize(5)    p.hideturtle()    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(-200,-200)    maketree(0,0)    maketree(200,-200)main()

2 绘制深林

实现方法:只要在画每棵树之前调整画笔的位置, 调用画树程序,就可以从新位置生成一颗新树了

将每棵树的绘制以maketree函数封装,参数x,y为 画树的起点位置即树根位置。在main函数中只要以 不同的参数设置来调用maketree函数就可以完成多 棵树的绘制了 

实现代码:

实现效果: