用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

分形樱花树(画画)

2021-02-27 作者: Ivan举报

[python]代码库

import random
import turtle

__Pen = turtle.Pen()


# 分形樱花树

# “画树”函数
# 参数分别是树枝长度、画笔

def tree(branchLen, t):
    if (branchLen > 3):
        if (8 <= branchLen and branchLen <= 12) :
            if (random.randint(0, 2) == 0) :
                t.pencolor('snow')
            else :
                t.pencolor('lightcoral')
            t.pensize((branchLen / 3))
        elif (branchLen < 8) :
            if (random.randint(0, 1) == 0) :
                t.pencolor('snow')
            else :
                t.pencolor('lightcoral')
            t.pensize((branchLen / 2))
        else :
            t.pencolor('sienna')
            t.pensize((branchLen / 10))
        t.forward(branchLen)
        a = (1.5 * (random.random()))
        t.right((20 * a))
        b = (1.5 * (random.random()))
        # 在tree函数内部调自己,这种方式叫递归调用
        # 递归可以大幅提升编程效率
        tree(branchLen - 10 * b, t)
        t.left((40 * a))
        tree(branchLen - 10 * b, t)
        t.right((20 * a))
        t.penup()
        t.backward(branchLen)
        t.pendown()

# 绘制树下花瓣,参数分别是画板数、画笔

def petal(m, t):
    for i in range(m):
        a = (200 - 400 * (random.random()))
        b = (10 - 20 * (random.random()))
        t.penup()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.pendown()
        t.pencolor('lightcoral')
        t.circle(1)
        t.penup()
        t.backward(a)
        t.right(90)
        t.backward(b)

def main():
    t = turtle.Pen()
    __Pen.hideturtle()
    t.speed(0)
    turtle.bgcolor('wheat')
    t.left(90)
    t.penup()
    t.backward(150)
    t.pendown()
    t.pencolor('sienna')
    tree(60, t)
    petal(100, t)
    turtle.done()

main()


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...