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

脚本: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.lryc.cn/news/158798.html

相关文章:

  • 公司内部传文件怎么安全——「用绿盾透明加密软件」
  • 提高使用VS Code工作效率的技巧
  • 软件系统兼容性测试都要注意哪些问题?
  • 索尼 toio™应用创意开发征文|toio俄罗斯方块游戏
  • C#事件event
  • 气传导耳机什么牌子好?盘点五款好用的气传导耳机分享
  • 业绩走低,毛利率下滑,海外市场能否成为极米科技救命稻草?
  • 轻松敏捷开发流程之Scrum
  • Vue3+Element Plus实现el-table跨行显示(非脚手架)
  • 生成订单30分钟未支付,则自动取消,该怎么实现?
  • WebGIS外包开发流程
  • pytorch学习——LSTM和GRU
  • 【Python】Python 利用模块实现单例模式
  • 雅思写作 三小时浓缩学习顾家北 笔记总结(四)
  • 深入学习与探索:高级数据结构与复杂算法
  • CV:计算机视觉CV运用领域
  • 开源机密计算平台:蓬莱-OpenHarmony
  • 大一大二一心学算法的利弊
  • c#using关键字的作用
  • 只依赖OPENCV的工作服安全帽检测YOLOV8S
  • MFC|选择获取文件路径
  • 实时操作系统Freertos开坑学习笔记:(七):队列
  • 专业游戏翻译公司怎么选择比较合适
  • 阿里云Maven和Gradle仓库最新配置
  • 尚硅谷大数据项目《在线教育之离线数仓》笔记007
  • python考研志愿填报模拟系统vue
  • 【LeetCode-面试经典150题-day20】
  • 回归与聚类算法系列②:线性回归
  • springBoot:redis使用
  • cmake 选择 vs编译器