分形树的绘制

2018-10-14  本文已影响128人  蓝剑狼

分形树绘制分析

  1. 树干初始长度为50
  2. 每次绘制完树枝时,画笔右转20度
  3. 绘制下一段树枝时,长度减少15. 重复2-3操作直到终止
  4. 终止条件:树枝长度小于5,此时为顶端树枝
  5. 达到终止条件后,画笔左转40度,以当前长度减少15,绘制树枝
    6.右转20度,回到原方向,退回上一个节点,直到操作完成
import turtle

def draw_branch(branch_length):
    '''
       绘制分形树
    '''
    if branch_length > 5:
        # 绘制右侧的树枝
        turtle.forward(branch_length)
        turtle.right(20)
        draw_branch(branch_length - 5)

        # 绘制左侧树枝
        turtle.left(40)
        draw_branch(branch_length-5)

        # 返回之前的树枝
        turtle.right(20)
        turtle.backward(branch_length)


def main():
    """
    主函数
    """
    turtle.left(90)
    turtle.pensize(2)
    turtle.penup()
    turtle.backward(150)
    turtle.pendown()
    turtle.color("green")
    draw_branch(50)
    turtle.speed(1)
    turtle.exitonclick()


if __name__ == '__main__':
    main()
绘制完成后的图像
上一篇下一篇

猜你喜欢

热点阅读