Python Turtleはフラクタルツリーを再帰的に描画します

再帰関数はフラクタルツリーを描画します

フラクタルジオメトリの基本的な考え方:客観的なものには自己相似の階層構造があり、部分と全体には形式、機能、情報、時間、空間などの統計的相似があります。自己相似、自己相似とはローカルは全体の比例縮小であるというプロパティを指します。

コードは次のとおりです。



## 绘制分型树,末梢的树枝的颜色不同

import turtle

def draw_brach(brach_length):

    if brach_length > 5:
        if brach_length < 40:
            turtle.color('green')

        else:
            turtle.color('red')

        # 绘制右侧的树枝
        turtle.forward(brach_length)
        print('向前',brach_length)
        turtle.right(25)
        print('右转20')
        draw_brach(brach_length-15)
        # 绘制左侧的树枝
        turtle.left(50)
        print('左转40')
        draw_brach(brach_length-15)

        if brach_length < 40:
            turtle.color('green')

        else:
            turtle.color('red')

        # 返回之前的树枝上
        turtle.right(25)
        print('右转20')
        turtle.backward(brach_length)
        print('返回',brach_length)

def main():
    turtle.left(90)
    turtle.penup()
    turtle.backward(150)
    turtle.pendown()
    turtle.color('red')

    draw_brach(100)

    turtle.exitonclick()

if __name__ == '__main__':
    main()

 

Python Turtleはフラクタルツリーを再帰的に描画します

おすすめ

転載: www.linuxidc.com/Linux/2020-04/162887.htm