Python绘图之桃花盛开

作者:JJJims 时间:2022-03-20 08:05:50 

今天请各位读者朋友欣赏用 Python 实现的鲜花盛宴,你准备好了吗?90 行代码即可实现一棵美丽的鲜花盛开树。小编也是鲜花爱护协会者之一,但是想要看到美丽的花朵,得历经很多;对于知识的运用也是如此,需要不断吸收新知识,学习新技能,才能盛开出美丽的花朵。接下来就看看一棵迷人的花树是怎么实现的吧!

夏天的花

Python绘图之桃花盛开

实现思路

实现思路主要是利用之前学过的 Python 绘图模块 Turtle,Turtle 详细学习课程请参考趣玩 Python 之绘制基本图形 再结合随机函数生成任意的一棵树,樱花树主要组成部分有树干和花瓣以及飘落的花瓣构成。

亭亭玉立的树干

绘画的树干使用了 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()

以上代码实现的是随机树干以及花瓣颜色、树叶的颜色填充,同时还调整了花瓣大小和树干粗细。使整个树干看起来更协调。

花瓣随风飘

赏花最美不过是花瓣随风飘落的场景,示例图:

Python绘图之桃花盛开

代码实现:


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)

最终结果

Python绘图之桃花盛开

至此,清风徐来,繁花已开!

来源:https://blog.csdn.net/fallenjency/article/details/105638332

标签:python,turtle,樱花树
0
投稿

猜你喜欢

  • CSS元素类型

    2009-04-27 12:25:00
  • 一个sql查询器,自动画表格填字段

    2011-04-10 10:58:00
  • 《细节决定交互设计的成败》

    2009-06-02 11:23:00
  • 轻松读懂Golang中的数组和切片

    2024-02-07 16:25:48
  • Python对两个有序列表进行合并和排序的例子

    2022-06-07 00:11:37
  • Python字符串的索引与切片

    2021-08-17 23:46:00
  • Django框架视图介绍与使用详解

    2021-03-29 08:50:46
  • Pycharm设置界面全黑的方法

    2021-09-15 11:13:51
  • 在python下实现word2vec词向量训练与加载实例

    2022-06-12 23:49:05
  • Python redis模块的使用教程指南

    2021-03-22 12:08:02
  • 教你轻松掌握如何正确的修复Access数据库

    2008-11-28 16:21:00
  • 零基础写python爬虫之爬虫编写全记录

    2021-09-06 22:53:27
  • vue项目中如何引入cesium

    2024-05-28 15:52:29
  • Python Pillow Image Invert

    2023-10-02 12:33:30
  • 利用PHP实现词法分析器与自定义语言

    2024-05-02 17:33:35
  • 解析SQL server与asp 互操作的时间处理

    2009-02-05 16:13:00
  • 如何实现上下翻页?

    2010-05-24 18:29:00
  • insert和select结合实现"插入某字段在数据库中的最大值+1"的方法

    2024-01-25 07:52:46
  • php 无法载入mysql扩展

    2023-09-07 13:07:40
  • 一文带你了解Go语言标准库math和rand的常用函数

    2024-02-22 07:24:24
  • asp之家 网络编程 m.aspxhome.com