分形树的绘制
2018-10-14 本文已影响128人
蓝剑狼
- 利用递归函数绘制分形树(fractal tree)
- 分形几何学的基本思想:客观事物具有自相似的层次结构,局部与整体在形态、功能、信息、时间、空间等方面具有统计意义上的相似性,成为自相似性。自相似性是指局部是整体成比例缩小的性质。
分形树绘制分析
- 树干初始长度为50
- 每次绘制完树枝时,画笔右转20度
- 绘制下一段树枝时,长度减少15. 重复2-3操作直到终止
- 终止条件:树枝长度小于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()
绘制完成后的图像