python实现樱花[通俗易懂]
Python 实现 通俗易懂 樱花
2023-06-13 09:11:01 时间
python实现樱花
代码如下:
from turtle import *
from random import *
from math import *
def tree(n, l):
pd () # 下笔
# 阴影效果
t = cos ( radians ( heading () + 45 ) ) / 8 + 0.25
pencolor ( 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.5
ran = 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 () * 40
setheading ( 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.5
pencolor ( 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 ()
效果如下:
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172381.html原文链接:https://javaforall.cn
相关文章
- 【Python矩阵转置】| 试使用多方法实现[通俗易懂]
- mt4 python_一个使用Python自动化交易外汇MT4脚本实现「建议收藏」
- python字符串转化列表_Python列表到字符串的转换[通俗易懂]
- python程序的热部署实现[通俗易懂]
- python的进制转换器,Python进制转换[通俗易懂]
- Python入门系列(十一)一篇搞定python操作MySQL数据库
- python监控网站更新_Python 通过网站search功能监控网站内容更新[通俗易懂]
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- Python文件名后缀_python获取目录下所有文件的文件名
- python中if判断语句的用法_Python if判断语句的用法详细介绍[通俗易懂]
- 使用Python批量实现文件夹及其子文件夹下指定文件的复制
- 搭建python开发环境-c++教程 如何搭建Python开发环境?
- 新手学Python可行吗?需要什么基础?(新手学python可行吗?需要什么基础)
- 手把手教你用 Python 实现浪漫表白程序
- python-Django-视图函数(一)
- Python实现图标锁定到Windows任务栏或删除图标详解编程语言
- 开发Linux下Python编程:实现自己的开发梦想(linux下python)
- 从Python连接Oracle数据库介绍(python连接oracle)
- Python实现快速连接Redis数据库(python连接redis)
- Linux查看Python安装路径的方法(linux查看python安装路径)
- Python实现MySQL数据库的读取(python读取mysql)
- python实现的文件夹清理程序分享