python的turtle库绘制分形树和雪花形状的科赫曲线图

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()

         运行图例:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值