Python绘图之桃花盛开
作者:JJJims 发布时间:2022-03-20 08:05:50
标签:python,turtle,樱花树
今天请各位读者朋友欣赏用 Python 实现的鲜花盛宴,你准备好了吗?90 行代码即可实现一棵美丽的鲜花盛开树。小编也是鲜花爱护协会者之一,但是想要看到美丽的花朵,得历经很多;对于知识的运用也是如此,需要不断吸收新知识,学习新技能,才能盛开出美丽的花朵。接下来就看看一棵迷人的花树是怎么实现的吧!
夏天的花
实现思路
实现思路主要是利用之前学过的 Python 绘图模块 Turtle,Turtle 详细学习课程请参考趣玩 Python 之绘制基本图形 再结合随机函数生成任意的一棵树,樱花树主要组成部分有树干和花瓣以及飘落的花瓣构成。
亭亭玉立的树干
绘画的树干使用了 Python 中的随机函数,这样每次生成的树干都是随机的,树干的选择也是随机设置参数进行调整。
示例图:
代码如下所示:
def cherryTree(branch, t):
if branch > 4:
# 枝干数
if 7 <= branch <= 13:
# 随机数生成
if random.randint(0, 3) == 0:
t.color('snow') # 花瓣心的颜色
else:
t.color('pink') #花瓣颜色
# 填充的花瓣大小
t.pensize( branch / 6)
elif branch < 8:
if random.randint(0, 2) == 0:
t.color('snow')
else:
# 设置树叶颜色
t.color('green')
t.pensize(branch / 5)
else:
t.color('Peru') # 树干颜色
t.pensize(branch / 11) #调整树干的粗细
t.forward(branch)
a = 1 * random.random()
t.right(20 * a)
b = 1 * random.random()
cherryTree(branch - 10 * b, t)
t.left(60 * a)
cherryTree(branch - 10 * b, t)
t.right(40 * 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(75)
# 向前移动
t.forward(a)
# 放下画笔
t.down()
# 设置花瓣颜色
t.color('pink') # 粉红色
# 画个小圆当作花瓣
t.circle(1)
# 提起画笔
t.up()
# 画笔向后退
t.backward(a)
# 画笔向前行
t.right(70)
t.backward(b)
鲜花配文字
一棵盛开的鲜花树怎么能少得了合适的文案呢?这里我们再利用小海龟绘图将文字配上
代码如下:
def des_word():
t.color('LightCoral') # 字体颜色设置
t.hideturtle()
# t.goto(-50, -130)
t.goto(-60,-170)
t.pu()
t.write('姹紫嫣红桃花笺,',move=False, align='center', font=('Arial', 20, 'normal'))
t.pd()
t.pu()
# t.goto(90, 130)
t.goto(150,-170)
t.write('繁花似锦为君妍', move=False, align='center', font=('Arial', 20, 'normal'))
t.pd()
画笔样式调整
t = turtle.Turtle()
# 画布大小 获取到屏幕
w = turtle.Screen()
t.hideturtle() # 隐藏画笔
t.getscreen().tracer(8, 0) # 获取屏幕大小
w.screensize(bg='LightCyan') # 设置屏幕背景颜色
t.left(80)
t.up()
t.backward(140)
t.down()
t.color('sienna')
cherryTree(50, t)
petal(300, t)
最终结果
至此,清风徐来,繁花已开!
来源:https://blog.csdn.net/fallenjency/article/details/105638332
0
投稿
猜你喜欢
- 代码如下:<% Response.Buffer = True '一般情况下,当用户请求
- 堆排序堆是一种完全二叉树(是除了最后一层,其它每一层都被完全填充,保持所有节点都向左对齐),首先需要知道概念:最大堆问题,最大堆就是根节点比
- 如果您的网站面向世界各地的冲浪者或者对外开展商贸活动,检测来访者的浏览器语言类型就非常现实了。这里提供的脚本可以检测流露;浏览器
- 聊一聊Python与网络爬虫。1、爬虫的定义爬虫:自动抓取互联网数据的程序。2、爬虫的主要框架爬虫程序的主要框架如上图所示,爬虫调度端通过U
- 小程序miniso的一个发布内容截图功能,话不多,先上代码wxml文件:<view class="cut-1-1 t-c {
- Dataframe结构放在numpy来看应该是二维矩阵的形式,每一列是一个特征,上面会有个列标题,每一行是一个样本。对Dataframe结构
- 经常看见有人问,MSSQL占用了太多的内存,而且还不断的增长;或者说已经设置了使用内存,可是它没有用到那么多,这是怎么一回事儿呢? 首先,我
- 爬蟲四步原理:1.发送请求:requests2.获取相应数据:对方及其直接返回3.解析并提取想要的数据:re4.保存提取后的数据:with
- Python 类Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用
- 如果你看过YUI的RAW源码,会发现很多跟javadoc语法类似的注释。据说(via)是使用JSDoc这个工具。但我探索了一遍,发现YUI多
- 通常情况下,即使MyISAM表格式非常可靠(SQL语句对表做的所有改变在语句返回之前被写下),如果下列任何事件发生,你依然可以获得损坏的表:
- Python自动的os库是和操作系统交互的库,常用的操作包括文件/目录操作,路径操作,环境变量操作和执行系统命令等。文件/目录操作获取当前目
- 安装Pycharm2020.1无法启动安装完成后,打开就闪退卸载干净以前的版本如果 C:\Users\用户名字\.PyCharm2019.*
- 前言我们在日常开发中,经常会遇到一些关于文件的操作,例如,实现查看目录内容的功能。类似Linux下的tree命令。统计目录下指定后缀文件的行
- CSS3草案中定义了{opacity:来声明元素的透明度,这已经得到了大多数现代浏览器的支持,而IE则很早通过特定的私有属性filter来实
- 本来想控制鼠标自动移动防止公司电脑自动休眠的策略,然而,实现了并没什么卵用,还是会休眠。但还是分享出来吧。win10的系统。首先要安装几个第
- FCKeditor的样式设置涉及到了两个文件,一个是你定义好的样式表文件.css,另一个是告诉fck样式表如何使用的xml文件,两个文件确一
- 关联模型(多对多)多对多关系(抽象)例:一篇文章可能有多个关键词,一个关键词可能被多个文章使用。 关键词表:字段id主键字段keyword关
- 毫无疑问,Google是当今世界上最成功的互联网公司之一,但是Google也曾推出过一些失败的实验品。还记得Google Accelerat
- 前言本文主要介绍通过Python提取csv文件中数据,并对数据进行处理。编译器:Anaconda3 语言:Python3一、使用pandas