美文网首页
又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧

又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧

作者: Python集中营 | 来源:发表于2022-04-22 21:26 被阅读0次

【阅读全文】

后唐李煜曾说道,樱花落尽春将困,秋千架下归时。漏暗斜月迟迟,花在枝。樱花落尽的时候春天也将过去了,秋千架下归去时。天上的斜月姗姗来迟,花还在枝头。

file

关于python画图相关的,我们一直使用的是turtle来画,用专业的非标准库来做专业的事儿。将需要使用到的内置库或者非标准库全部都导入到当前的代码块中。

from time import sleep  # 用于控制程序运行时的阻塞停顿
from turtle import *  # 绘图相关接口
import random  # 生成随机数

设置全局需要初始化的对象,以及相关的全局参数设置,这样就不用在后面每画一笔进行设置了。
但是画布上面有一个箭头一直无法消除,有知道的大佬烦请留言说一下解决办法,感激不尽!

tle = Turtle()  # 初始化小乌龟画笔对象
tle.hideturtle()  # 全局隐藏画笔
tle.clear()  # 清除屏幕
tle.speed(0)  # 设置画笔速度为0,也就是最快的画笔速度
scr = Screen()  # 初始化屏幕对象
getscreen().tracer(30, 0)  # 返回一个TurtleScreen类的绘图对象,并开启绘画,加速绘画过程
scr.screensize(bg='white')  # 设置背景颜色

开始绘制,设置开始时的画笔相关的属性或参数。

tle.left(90)
tle.up()
tle.backward(150)
tle.down()
tle.color('sienna')

接下来是编写两个函数,一个是用于生成树枝/树干并在对应的树枝旁边画上樱花。另一个则是在樱花树的地上铺满掉落的樱花,这样的思路来源于CSDN博客平台,向大佬递茶!

编写画樱花树的树枝/树干部分/树枝樱花的函数draw_branch_flower。

def draw_branch_flower(len):
    '''
    绘制树枝/花函数
    :param len: 树枝长度
    :return:
    '''
    sleep(0.0005)
    if len > 3:
        if 8 <= len <= 12:
            if random.randint(0, 2) == 0:
                tle.color('snow')
            else:
                tle.color('lightcoral')
            tle.pensize(len / 3)
        elif len < 8:
            if random.randint(0, 1) == 0:
                tle.color('snow')
            else:
                tle.color('lightcoral')
            tle.pensize(len / 2)
        else:
            tle.color('sienna')
            tle.pensize(len / 10)
        tle.forward(len)
        a = 1.5 * random.random()
        tle.right(20 * a)
        b = 1.5 * random.random()
        draw_branch_flower(len - 10 * b)
        tle.left(40 * a)
        draw_branch_flower(len - 10 * b)
        tle.right(20 * a)
        tle.up()
        tle.backward(len)
        tle.down()

编写画樱花树旁边的地上的花瓣函数draw_ground_flower。

def draw_ground_flower(flower_num):
    '''
    绘制地上掉落的花瓣
    :param flower_num: 花瓣数量
    :return:
    '''
    for i in range(flower_num):
        a = 200 - 400 * random.random()
        b = 10 - 20 * random.random()
        tle.up()
        tle.forward(b)
        tle.left(90)
        tle.forward(a)
        tle.down()
        tle.color('lightcoral')
        tle.circle(1)
        tle.up()
        tle.backward(a)
        tle.right(90)
        tle.backward(b)

调用樱花树相关的绘图函数,快速完成绘图过程。

draw_branch_flower(60)
draw_ground_flower(200)

使用exitonclick函数保持在绘画完成时,窗口不会直接关闭。

scr.exitonclick()
file

以上就是樱花树的全部绘制过程了,完整的代码块文件请在公众号内回复'1001'获取,直接运行即可。

【往期精彩】

Python 读取PDF文件为文本字符并转换为音频...

python 获取最新房价信息-以北京房价为例

办公自动化:Image图片转换成PDF文档存储...

python做一个微型美颜图片处理器,十行代码即可完成...

用python做一个文本翻译器,自动将中文翻译成英文,超方便的!

小王,给这2000个客户发一下节日祝福的邮件...

python 一行命令开启网络间的文件共享...

PyQt5 批量删除 Excel 重复数据,多个文件、自定义重复项一键删除...

再见XShell,这款国人开源的终端命令行工具更nice!

python 表情包下载器,轻松下载上万个表情包、斗图不用愁...

Python 自动清理电脑垃圾文件,一键启动即可...

有了jmespath,处理python中的json数据就变成了一种享受...

相关文章

  • 又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧

    【阅读全文】[https://mp.weixin.qq.com/s?__biz=MzA3ODk1Mzg0Mg==&...

  • 又是樱花盛开的季节

    这几天加班,六点半才下班,已是黄昏,可是还惦记着公园里盛开的樱花,脚步总是不由得在樱花树下停顿,虽然手机內存不多了...

  • 《樱花精》

    这是个樱花盛开的季节,空气中弥漫着淡淡的花香,一颗花开茂盛的樱花树下,一名美少年单臂枕首惬意的闭着眼...

  • 花开花谢(清明记)

    樱花盛开,人生四季 现在正是樱花盛开的季节,灿若云霞,美不胜收 樱花树上盛开的花朵并不在同一个时刻,从含苞欲放、豆...

  • 忽如一夜樱花开(续)

    这是樱花树开放的初期阶段。 这是樱花树开放的中期阶段 。 这是樱花树开放的盛开阶段。 我不明白为什么樱花树明明是紫...

  • 樱花树下相聚

    又是春花满枝头, 余生欢度几春秋? 纵使樱花树下死, 不是英雄也风流。 (赏樱季节,难得亲朋相聚樱花树下,或聊天,...

  • 四月将尽,樱花凋谢

    壹 樱花镇,正如它的名字,在这个镇子里种的有近万株樱花树,家家都种着一颗,每当4月来临时,樱花盛开,整个镇子都隐匿...

  • 樱花路

    “不必在意,喜欢便好了。”是的,不必在意…… 一段栽满樱花树的路上,在这个樱花盛开的季节,总有一个...

  • 樱花路上

    又是一年樱花盛开的季节,路两旁的樱花树前几天还只是露出了青涩的小花苞,今天就开得十分绚烂,一簇簇地拥着,粉的白的,...

  • 樱(终)

    三月份正是樱花盛开的好季节,此时的东京樱花已经开满了,十分靓丽,二虎举起相机,将这一美景拍了下来,坐在樱花树下...

网友评论

      本文标题:又是樱花盛开的季节,使用小乌龟来画一颗樱花树吧

      本文链接:https://www.haomeiwen.com/subject/lbxoertx.html