Turtle绘制分形树

本文介绍了使用Python的Turtle库绘制分形树的方法。通过递归实现,虽然理解递归部分可能有难度,但实际运行观察绘图过程将有助于更好地理解。
摘要由CSDN通过智能技术生成
import turtle

def draw_branch(branch_length):
    if branch_length > 5:           #限定绘制的树枝(包括树干、树枝和树叶)长度至少大于5
        if(branch_length<=20):      #如果长度小于20,即可判定是树叶,绘制成绿色
            turtle.color('green')
        else:
            turtle.color('brown')

        turtle.forward(branch_length)       #绘制树干
        turtle.right(20)
        draw_branch(branch_length-15)       #绘制每个节点分叉右侧的树枝

        turtle.left(40)
        draw_branch(branch_length - 15)     #绘制每个节点分叉左侧的树枝

        if (branch_length > 20):    #如果长度大于20,即可判定是树干或者树枝,绘制成棕色
            turtle.color('brown')
        turtle.right(20)
        turtle.backward(branch_length)      #左右侧树枝绘制好,返回节点处

def main():

    turtle.left(90)
    turtle.penup()
    turtle.backward(150)
    turtle.pendown()
    turtle.color('brown')
    draw_branch(80)     #树枝(其实是树干)初始长度为80
                        #设定后面的树枝随着树的增长长度依次减15
    turtle.exitonclick(
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值