当前位置: 首页 > news >正文

Python樱花树

樱花树

文章目录

  • 系列文章
  • 前言
  • 技术需求
    • 1.1 Turtle画板设置
    • 1.2 Turtle画笔控制
    • 1.3 Turtle基本绘图操作
    • 1.4 Turtle图形填色
    • 1.5 Turtle文本输出
  • 完整代码
  • 代码分析
    • 2.1 樱花类
    • 2.2 樱花树
    • 2.3 主函数
    • 2.4 樱花林
  • 写在后面

系列文章

序号文章目录直达链接
表白系列
1无法拒绝的表白界面https://want595.blog.csdn.net/article/details/134744894
2满屏飘字表白代码https://want595.blog.csdn.net/article/details/135037388
3无限弹窗表白代码https://want595.blog.csdn.net/article/details/134744711
4李峋同款可写字版跳动的爱心https://want595.blog.csdn.net/article/details/134744191
5流星雨https://want595.blog.csdn.net/article/details/134747408
6漂浮爱心https://want595.blog.csdn.net/article/details/134744929
7爱心光波https://want595.blog.csdn.net/article/details/134747365
8玫瑰花https://want595.blog.csdn.net/article/details/134747447
节日系列
1新春/跨年烟花秀(2022)https://want595.blog.csdn.net/article/details/128727394
烟花秀(2023)https://want595.blog.csdn.net/article/details/135042880
粒子烟花https://want595.blog.csdn.net/article/details/136029420
2圣诞节圣诞礼物https://want595.blog.csdn.net/article/details/135336583
圣诞树(2022)https://want595.blog.csdn.net/article/details/128428985
绿色圣诞树(2023)https://want595.blog.csdn.net/article/details/135048607
粉色圣诞树(2023)https://want595.blog.csdn.net/article/details/135043042
3冬至大雪纷飞https://want595.blog.csdn.net/article/details/128806017
4生日生日蛋糕https://want595.blog.csdn.net/article/details/128739755
5儿童节五彩气球https://want595.blog.csdn.net/article/details/128741043
6国庆节国庆祝福https://want595.blog.csdn.net/article/details/128740923
7万圣节万圣礼物https://want595.blog.csdn.net/article/details/128734395
8愚人节愚人代码https://want595.blog.csdn.net/article/details/128696990
9中秋节浪漫星空https://want595.blog.csdn.net/article/details/128737284
10植树节樱花树https://want595.blog.csdn.net/article/details/128700178
动漫系列
1名侦探柯南系列柯南https://want595.blog.csdn.net/article/details/134777613
2喜羊羊与灰太狼系列喜羊羊https://want595.blog.csdn.net/article/details/134778583
懒羊羊https://want595.blog.csdn.net/article/details/134847642
灰太狼https://want595.blog.csdn.net/article/details/135335303
小灰灰https://want595.blog.csdn.net/article/details/135335445
小香香https://want595.blog.csdn.net/article/details/135056783
3海绵宝宝系列海绵宝宝https://want595.blog.csdn.net/article/details/134847364
4哆啦A梦系列哆啦A梦https://want595.blog.csdn.net/article/details/135037884
5HelloKitty系列hellokittyhttps://want595.blog.csdn.net/article/details/135337732
6Tom&Jerry系列Tom&Jerryhttps://want595.blog.csdn.net/article/details/135337775
7草莓熊系列草莓熊https://want595.blog.csdn.net/article/details/135337832
8皮卡丘系列迷你皮卡丘https://want595.blog.csdn.net/article/details/135337911
高级皮卡丘https://want595.blog.csdn.net/article/details/135337937
豪华皮卡丘https://want595.blog.csdn.net/article/details/135337947
炫酷系列
1  一闪一闪亮星星系列张万森下雪了https://want595.blog.csdn.net/article/details/135336915
一闪一闪亮星星https://want595.blog.csdn.net/article/details/135337049
2代码雨https://want595.blog.csdn.net/article/details/135054341
3七彩花朵https://want595.blog.csdn.net/article/details/135056670
43D星空https://want595.blog.csdn.net/article/details/135056516
5金榜题名https://want595.blog.csdn.net/article/details/135056150
6满天星https://want595.blog.csdn.net/article/details/135056305
……

前言

粉色系最爱!Python樱花树等你获取~
哈喽小伙伴们好久不见啦,最近樱花开得好美吖,博主想和大家一起分享春天的快乐,一起来看看博主画的樱花树吧!

技术需求

在使用Python绘制樱花树之前,让我们先深入了解turtle库的基础知识。

Turtle库是Python中一个重要的内置绘图包,提供了丰富的绘图工具和功能。掌握Turtle绘图后,你可以创作出各种图案。

1.1 Turtle画板设置

使用turtle.screensize()函数可以调整Turtle画板的大小:

turtle.screensize(width, height, bg)
  • width: 设置画板宽度。
  • height: 设置画板高度。
  • bg: 设置画布背景颜色。

1.2 Turtle画笔控制

Turtle画笔常用的几个函数包括:

turtle.penup(): 抬起画笔,移动时不留下痕迹。
turtle.pendown(): 放下画笔,与penup()相对,放下后继续绘图并留下痕迹。
turtle.pensize(size): 设置画笔粗细。
turtle.pencolor(color): 设置画笔颜色,可查阅Python支持的所有颜色。
turtle.hideturtle(): 隐藏画笔,隐藏后绘图时看不到画笔。

1.3 Turtle基本绘图操作

绘图过程中常用的一些移动函数有:

turtle.forward(distance): 向前移动指定距离。
turtle.backward(distance): 向后移动指定距离。
turtle.left(angle): 向左旋转指定角度。
turtle.right(angle): 向右旋转指定角度。
turtle.speed(speed): 设置绘图速度,范围为0(最快)到10(最慢)。

1.4 Turtle图形填色

完成图形绘制后,可使用turtle.fillcolor()进行填色:

turtle.begin_fill()     # 开始填充
turtle.fillcolor(color) # 设置填充颜色
turtle.end_fill()       # 结束填充

1.5 Turtle文本输出

使用turtle.write()函数可以在绘图完成后添加文本:

turtle.write(text, move=False, align="left", font=("宋体", 8, "normal"))
  • text: 要写入的文本内容。
  • move: 是否将画笔移动到文本右下角,默认为False
  • align: 文本对齐方式,可选值为"left""center""right"
  • font: 字体设置,三元组形式(fontname, fontsize, fonttype),例如("宋体", 8, "normal")

完整代码

完整代码在这里哦:https://want595.blog.csdn.net/article/details/128700178

代码分析

在对turtle库进行初步了解后,我们正式进入今天的主题!

樱花树

2.1 樱花类

既然是樱花树,自然少不了樱花的绘制。在此,我选择了五片花瓣的经典樱花设计

def flower():  tu.hideturtle() tu.pensize(2)  tu.pencolor("pink")flowersize = ra.randint(1, 5)  for _ in range(5):  tu.forward(flowersize)tu.backward(flowersize)tu.right(72)

2.2 樱花树

完成樱花的绘制后,接下来我们将通过递归方法来构建樱花树

def tree(n, k):tu.pendown()  tu.pencolor("black")tu.pensize(n / 4)tu.forward(k)  if n > 0:r = ra.random() * 10 + 10l = ra.random() * 10 + 10x = k * (ra.random() * 0.25 + 0.7)  tu.right(r)tree(n - 1, x)tu.left(l + r)tree(n - 1, x)tu.right(l)# Continue the tree structure here...

2.3 主函数

最后,我们需要一个主函数来整合并实现完整的樱花树

tu.setup(800, 480)
tu.bgcolor("lavenderblush") 
tu.hideturtle()  
tu.tracer(0)
tu.penup()  
tu.goto(0, -150)
tu.pendown()
tu.left(90)  
tree(12, 50)
for _ in range(99):tu.penup()tu.goto(ra.randint(-150, 150), ra.randint(-150, 0))tu.pendown()flower()

2.4 樱花林

单棵樱花树显然不足以构成美景,利用循环语句,我们可以创建一片美丽的樱花林

樱花秀1
樱花秀2

for _ in range(20):tu.penup()  tu.goto(ra.randint(-300, 300), ra.randint(-150, 0))tu.pendown()tu.left(90)  tree(8, 30)tu.setheading(0)# Continue the forest creation here...

写在后面

小伙伴们咱们下期见喔!

http://www.xdnf.cn/news/1267021.html

相关文章:

  • 创业者焦虑与转型决策分析
  • Kafka服务端NIO操作原理解析(二)
  • 通用AGI到来,记忆仍需要一点旧颜色
  • Express中间件和路由及响应方法
  • 【阿里巴巴大数据实践之路学习记录】第十章-维度设计
  • 【Linux】Socket编程——UDP版
  • redis8.0.3部署于mac
  • ELK常见的问题
  • 如何在linux(CentOS7)上面安装 jenkins?
  • AI_RAG
  • C# 使用iText获取PDF的trailer数据
  • 计算机网络:CIDR地址块划分子网可以使用VLSM吗?
  • Linux操作系统如何不进入图形化界面
  • 电子电气架构 --- 电气/电子架构迁移已拉开帷幕
  • 2025年SEVC SCI2区,基于深度强化学习与模拟退火的多无人机侦察任务规划,深度解析+性能实测
  • Linux运维新手的修炼手扎之第26天
  • 力扣面试150(51/100)
  • Prometheus监控平台部署与应用
  • rotary_emb 位置编码 加速
  • 书生浦语第五期-L1G4-InternLM 论文分类微调实践(XTuner 版)
  • 大模型在垂直场景的创新应用:搜索、推荐、营销与客服新玩法
  • 笔试——Day33
  • 基于深度强化学习的Atari中的SpaceInvaders
  • Effective C++ 条款31: 将文件间的编译依存关系降至最低
  • AI 大模型企业级应用落地挑战与解决方案
  • [Oracle] MAX()和MIN()函数
  • QT第一讲- Qt初探
  • 轻量化阅读应用实践:21MB无广告电子书阅读器测评
  • 政府数字化大屏系统 - Flask实现方案
  • 6.6 ASPICE验证过程的缺陷管理