递归应用之分形树构建Python

递归应用之分形树构建分形树,顾名思义,每一支树都是一样的,类似于完全二叉树,子树和母树完全一样。所以可以用递归来实现。思路:所以画一棵树时,画完主干话分支,因为是一样的,所以画分支的过程和画主干的过程完全一样,其实就是一个缩小版的主干。这样一层层递归,直到达到终止条件。先简单的思考一棵树,只有两层,即只有两个分支。过程是:先画主干,画完主干,则再画右分支,画完右分支,退回到分叉点,然后再画左分支。t.forward(branch_len)# 此时海龟的方向为垂直向上,所以右分支只需向右转20度
摘要由CSDN通过智能技术生成

递归应用之分形树构建

分形树,顾名思义,每一支树都是一样的,类似于完全二叉树,子树和母树完全一样。所以可以用递归来实现。

思路:所以画一棵树时,画完主干话分支,因为是一样的,所以画分支的过程和画主干的过程完全一样,其实就是一个缩小版的主干。这样一层层递归,直到达到终止条件。

先简单的思考一棵树,只有两层,即只有两个分支。过程是:先画主干,画完主干,则再画右分支,画完右分支,退回到分叉点,然后再画左分支。

t.forward(branch_len)
# 此时海龟的方向为垂直向上,所以右分支只需向右转20度即可
t.right(20)
t.forward(branch_len - 15)
t.backward(branch_len - 15)
# 此时海龟的方向是右偏20度,而左分支是左偏20度,所以需要左转40度
t.left(40)
t.forward(branch_len - 15)

接下来,再思考一下有三层的树。此时,画完主干,画右分支,那么画完右分支后马上画左分支吗?可以想象,以最短路径的目的简单思考,并且有规律的画,肯定不是这样的,这样会重复走很多个主干。用递归的思想,画完分支后,继续看还能不能继续画分支,能画则继续递归,不能画则退出当前递归,继续运行。

def tree(branch_len):
	# 递归结束条件,当
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值