Python 樱花

news/2024/11/15 0:49:57/

Python实现樱花

效果图    (源码在下面)

源码:

from turtle import *
from random import *
from math import *def tree(n, l):pd()  # 下笔# 阴影效果t = cos(radians(heading() + 45)) / 8 + 0.25pencolor(t, t, t)pensize(n / 3)forward(l)  # 画树枝if n > 0:b = random() * 15 + 10  # 右分支偏转角度c = random() * 15 + 10  # 左分支偏转角度d = l * (random() * 0.25 + 0.7)  # 下一个分支的长度# 右转一定角度,画右分支right(b)tree(n - 1, d)# 左转一定角度,画左分支left(b + c)tree(n - 1, d)# 转回来right(c)else:# 画叶子right(90)n = cos(radians(heading() - 45)) / 4 + 0.5ran = random()# 这里相比于原来随机添加了填充的圆圈,让樱花叶子看起来更多一点if (ran > 0.7):begin_fill()circle(3)fillcolor('pink')# 把原来随机生成的叶子换成了统一的粉色pencolor("pink")circle(3)if (ran > 0.7):end_fill()left(90)# 添加0.3倍的飘落叶子if (random() > 0.7):pu()# 飘落t = heading()an = -40 + random() * 40setheading(an)dis = int(800 * random() * 0.5 + 400 * random() * 0.3 + 200 * random() * 0.2)forward(dis)setheading(t)# 画叶子pd()right(90)n = cos(radians(heading() - 45)) / 4 + 0.5pencolor(n * 0.5 + 0.5, 0.4 + n * 0.4, 0.4 + n * 0.4)circle(2)left(90)pu()# 返回t = heading()setheading(an)backward(dis)setheading(t)pu()backward(l)  # 退回bgcolor(0.956, 0.9255, 0.9882)  # 设置背景色(把灰色换成淡紫色)
ht()  # 隐藏turtle
speed(0)  # 速度 1-10渐进,0 最快
tracer(0, 0)
pu()  # 抬笔
backward(50)
left(90)  # 左转90度
pu()  # 抬笔
backward(300)  # 后退300
tree(12, 100)  # 递归7层
done()

http://www.ppmy.cn/news/1143462.html

相关文章

C++中指向成员的指针运算符(.* 和 ->*)用法说明

目录 一 MSDN中使用说明1.1 语法1.2 备注 二 一个使用案例 一 MSDN中使用说明 1.1 语法 expression .* expression //直接成员解除引用运算符 expression –>* expression //间接成员解除引用运算符 1.2 备注 C中指向成员的指针运算符(.* 和 ->*)…

R实现地图相关图形绘制

大家好,我是带我去滑雪! 地图相关图形绘制具有许多优点,这些优点使其在各种领域和应用中非常有用。例如:地图相关图形提供了一种直观的方式来可视化数据,使数据更容易理解和分析。通过地图,可以看到数据的空…

ThreeJS-3D教学七-交互

在threejs中想要选中一个物体,点击或者鼠标悬浮,又或者移动端的touch事件,核心都是通过new THREE.Raycaster完成的。这里用到了一个概念,即我们点击时的 屏幕坐标 转换为 three中的3D坐标。 先看效果图: 代码是&#…

TCP相关面试题

TCP相关面试题 题目1 介绍一下TCP三次握手的过程 介绍TCP三次握手应该从3个方面进行回答,分别是数据包名称,客户端与服务端的状态变化,数据包的序号变化。而不能只是简单回答发送的数据包名称。 TCP三次握手的过程如下: 从数据…

【深蓝学院】手写VIO第2章--IMU传感器--作业

这次作业坑很多,作业说明的不清楚,摸索了很长时间才将此次作业完成,在这里进行记录。 1. T1 1.1 题干 1.2 解答 1.2.1 法1,ros related方法 不知道为什么我的launch不了,在imu_utils目录下面建立build后&#xff0…

redis实战-实现用户签到UV统计

BitMap功能演示 我们针对签到功能完全可以通过mysql来完成,比如说以下这张表 用户一次签到,就是一条记录,假如有1000万用户,平均每人每年签到次数为10次,则这张表一年的数据量为 1亿条 每签到一次需要使用&#xff08…

面向对象设计-UML六种箭头含义

目录 UML概述UML语义UML表示法 六种常用关系标识方法泛化实现依赖关联聚合组合 本文参考文章 https://blog.csdn.net/qq_25091281/article/details/123801862 UML概述 UML (Unified Modeling Language)为面向对象软件设计提供统一的、标准的、可视化的建模语言。适用于描述以…

学生用的台灯护眼的哪种比较好?精选适合学生用的护眼台灯

现代小孩的学习压力确实很大,已经不能和我们以往那种“半大自然化学习”相提并论啦,如今各种学习PAD、电脑网课,成堆的学习资料与作业,恐怕是从小学甚至学前就已经是常态了。而且在平时我们路过学校的时候应该也不难发现&#xff…