分形树的绘制

  • 利用递归函数绘制分形树(fractal tree)
  • 分形几何学的基本思想:客观事物具有自相似的层次结构,局部与整体在形态、功能、信息、时间、空间等方面具有统计意义上的相似性,成为自相似性。自相似性是指局部是整体成比例缩小的性质。

分形树绘制分析

  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()
绘制完成后的图像

你可能感兴趣的:(分形树的绘制)