用python绘制树和深林

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函数就可以完成多 棵树的绘制了 

实现代码:

实现效果:


posted @ 2017-06-07 15:21  阡陌轻殇  阅读(1275)  评论(0编辑  收藏  举报