Python

使用Python画樱花树

文 / 大炳哥 来源 / 原创 阅读 / 9995 1年前

python拥有庞大的第三方扩展资源,能够实现也非常的强大功能,今天我们就通过Python来画樱花树。 主要的实现方式是,通过 turtle 库来实现画板,配合random 模块实现随机分叉树枝。 话不多说,直接上代码。 樱花图

import turtle as T
import random
import time


# 画樱花的躯干(60,t)
def Tree(branch, t):
    time.sleep(0.0005)
    if branch > 3:
        if 8 <= branch <= 12:
            if random.randint(0, 2) == 0:
                t.color('snow')  # 白

            else:
                t.color('lightcoral')  # 淡珊瑚色
                t.pensize(branch / 3)

        elif branch < 8:
            if random.randint(0, 1) == 0:
                t.color('snow')

            else:
                t.color('lightcoral')  # 淡珊瑚色
                t.pensize(branch / 2)

        else:
            t.color('sienna')  # 赭(zhě)色
            t.pensize(branch / 10)  # 6
        t.forward(branch)
        a = 1.5 * random.random()
        t.right(20 * a)
        b = 1.5 * random.random()
        Tree(branch - 10 * b, t)
        t.left(40 * a)
        Tree(branch - 10 * b, t)
        t.right(20 * a)
        t.up()
        t.backward(branch)
        t.down()  # 掉落的花瓣


def Petal(m, t):
    for i in range(m):
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        t.up()
        t.forward(b)
        t.left(90)
        t.forward(a)
        t.down()
        t.color('lightcoral')  # 淡珊瑚色
        t.circle(1)
        t.up()
        t.backward(a)
        t.right(90)
        t.backward(b)  # 绘图区域


if __name__ == '__main__':
    t = T.Turtle()  # 画布大小
    w = T.Screen()
    t.hideturtle()  # 隐藏画笔
    t.getscreen().tracer(5, 0)
    w.screensize(bg='wheat')  # wheat小麦
    t.left(90)
    t.up()
    t.backward(150)
    t.down()
    t.color('sienna')  # 画樱花的躯干
    Tree(60, t)  # 掉落的花瓣
    Petal(200, t)
    w.exitonclick()

13

评论

共1条评论
  • # 春哥哥 4月前

    优秀,优秀,优秀……

站点声明:本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

© 2019 The Pride & Joy of an Artisan. · Designed By duoguyu · Powered By Django京ICP备19006898号-1
相关侵权、举报、投诉及建议等,请发E-mail:lemont0086@163.com

友情链接: 大炳哥的博客 逐梦个人博客 微微的博客 daixu 十年之约