美文网首页
绘制分形树

绘制分形树

作者: 浮出海面_d825 | 来源:发表于2022-04-17 15:11 被阅读0次

"""
利用递归函数绘制分形树
"""

import turtle

"""
假设在length是25时的循环里,绘制右边函数那一块的draw_branch先向右绘制了长度尾10的右叉
但跳过了这次嵌套里的右叉、左叉(因为都是-5),只转了弯,于是返回到原来树枝。
这一步结束之后,再进入length=25时候的绘制左侧树枝,即左转40度画10厘米。
在左侧这一块的draw_branch里,绘制完10厘米,也只是转了几个弯,无法画图(-5),
贡献了回来(这块函数运行完表现为画了10厘米,回来10厘米)。
这个循环里length还是25,于是转20度退回25回到了第一个叉口,length=40时的绘制右边树枝结束了。
再运行length=40时,绘制左边函数,同上。
"""
def draw_branch(branch_length):
if branch_length > 5:
# 绘制右边树枝
turtle.forward(branch_length)
turtle.right(20)
draw_branch(branch_length - 15)
#length=25时,上面这个函数表现向右画了10又回来10

    # 绘制左侧树枝
    turtle.left(40)
    draw_branch(branch_length - 15)
    #这个函数运行完表现为画了10,回来10厘米

    #返回之前的树枝
    turtle.right(20)
    turtle.backward(branch_length)
    #转了20度,回来25,相当于回到第一个叉口

def main():
turtle.left(90)
draw_branch(40)
turtle.exitonclick()

if name == 'main':
main()

再画大一点只用把40改成100

相关文章

  • 绘制分形树

    """利用递归函数绘制分形树""" import turtle """假设在length是25时的循环里,绘制右边...

  • 分形树的绘制

    利用递归函数绘制分形树(fractal tree) 分形几何学的基本思想:客观事物具有自相似的层次结构,局部与整体...

  • Python绘制分形树(一)

    一步一步了解turtle这个库,先绘制个五角星练手 画布 画笔控制命令: 运动命令: 五角星绘制 参考: http...

  • Python绘制分形树(二)

    首先我们来分析一下,绘制分形树大概分以下4个部分: 绘制右侧树枝 返回树枝节点 绘制左侧树枝 返回树枝节点 根据以...

  • 案例(2):分形树绘制

    案例简述 本次案例描绘的是一个分形树,会通过4个案例一步步进化 v1.0 知识点:1.引用他人编辑好的库,可以用i...

  • scratch3数学之美09-线条之美

    大家好,我是爱编程的小熊,上一节我们学习了绘制分形之树,分形之美让人惊叹。这节,让我们来学习绘制会动的线条,看看线...

  • 分形树

    书名:代码本色:用编程模拟自然系统作者:Daniel Shiffman译者:周晗彬ISBN:978-7-115-3...

  • 分形图的绘制

    更多算法(语言为JavaScript) 持续更新... 戳我去GitHub看更多算法问题>>>>目录 戳我去Git...

  • 绘制三角形,矩形,圆形

    绘制三角形 绘制矩形 绘制圆形

  • SVG

    SVG 绘制长方形绘制圆形绘制椭圆 绘制直线 绘制折线 绘制多边形 ...

网友评论

      本文标题:绘制分形树

      本文链接:https://www.haomeiwen.com/subject/alqzdrtx.html