Python のタートル ライブラリはフラクタル ツリーと雪の結晶の形をしたコッホ曲線を描画します

1. 再帰関数を使用してフラクタル ツリーを設計および描画してください。

import turtle

p = turtle.Turtle ()
turtle.colormode(255)
p.speed(0)
r=0
g=0
b=0
length=120
size=14

p.home()
p.penup()
p.left(90)
p.backward(length)
p.pendown()
p.pensize(size)
p.forward(length)
#随树枝生长颜色变化
def tree(l,lv):
    l*=3/4
    size=p.pensize()
    p.pensize(size*3/4)
    global r,g,b
    r+=20
    g+=40
    b+=60
    p.pencolor(r%256,g%256,b%256)
#左边树枝运用递归画图
    p.left(45)
    p.forward(l)
    if lv < 14:
        tree(l, lv + 1)
#右边树枝运用递归画图
    p.backward(l)
    p.right(90)
    p.forward(l)
    if lv < 14:
        tree(l, lv + 1)
    p.backward (l)
    p.left(45)
    p.pensize(size)

tree(120,9)
turtle.done()

        凡例を実行します。

2. 雪の結晶の形を表現できるコッホ曲線を描いてください。

import turtle

#定义函数实现科赫曲线绘画
def koch(t, n):
    if n < 5:
        t.fd(n)
        return
    m = n / 3
    koch(t, m)
    t.lt(60)
    koch(t, m)
    t.rt(120)
    koch(t, m)
    t.lt(60)
    koch(t, m)
#定义函数实现雪花
def snowflake(t, n):
    for i in range(3):
        koch(t, n)
        t.rt(120)

bob = turtle.Turtle()
bob.color('black')
bob.penup() #提笔
bob.goto(-150,90) #去点
bob.pendown() #落笔
snowflake(bob, 300) #画雪花

turtle.speed(0)#设置绘画速度
turtle.mainloop()

         凡例を実行します。

おすすめ

転載: blog.csdn.net/qq_59470001/article/details/132811105