Python绘图之桃花盛开
作者:JJJims 时间:2022-03-20 08:05:50
今天请各位读者朋友欣赏用 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
标签:python,turtle,樱花树
0
投稿
猜你喜欢
asp.net中文件下载功能的实例代码
2023-07-20 15:46:51
asp中使用js的encodeURIComponent
2008-10-13 09:19:00
PHP实现的curl批量请求操作示例
2023-11-17 01:51:10
PHP 中文简繁互转代码 完美支持大陆、香港、台湾及新加坡
2023-11-15 11:46:16
DIV+CSS高度自适应网页代码实例
2008-09-20 08:00:00
Js中的函数直接量
2007-12-21 19:15:00
利用Python上传日志并监控告警的方法详解
2022-08-23 15:31:01
js 数值项目的格式化函数代码
2023-07-14 16:51:31
详解python读写json文件
2022-11-01 16:18:53
详细聊聊为什么Python中0.2+0.1不等于0.3
2021-08-19 12:12:35
对python同一个文件夹里面不同.py文件的交叉引用方法详解
2023-12-24 00:54:27
html中的sub与sup标签
2009-03-06 13:12:00
CSS Expression 的优化
2009-09-24 13:27:00
在生成的静态页面中统计点击次数
2009-11-19 13:20:00
PyCharm更改字体和界面样式的方法步骤
2021-12-24 09:15:25
Python flask框架post接口调用示例
2021-01-24 17:06:47
Python基础之dict和set的使用详解
2022-01-16 04:15:08
PHP常用字符串操作函数实例总结(trim、nl2br、addcslashes、uudecode、md5等)
2023-10-02 13:10:01
SQLServer 跨库查询实现方法
2012-04-13 12:07:09
js控制表单不能输入空格的小例子
2013-07-21 11:58:51