Python绘图实例36:分叉树绘制
源码来源:《Python趣味编程与实战》
实例代码
# -- coding: utf-8 --
import turtle as tl # 导入turtle标准库,并另命名为tldef draw_smalltree(tree_length, tree_angle): # 绘制分形树函数if tree_length >= 3:tl.forward(tree_length) # 往前画tl.right(tree_angle) # 往右转draw_smalltree(tree_length - 10, tree_angle) # 画下一枝,直到画到树枝长小于3tl.left(2 * tree_angle) # 转向画左draw_smalltree(tree_length - 10, tree_angle) # 直到画到树枝长小于3tl.right(tree_angle) # 转到正向上的方向,然后回溯到上一层if tree_length <= 50: # 树枝长小于30,可以当作树叶了,树叶部分为绿色tl.pencolor('green')if tree_length > 50:tl.pencolor('red') # 树干部分为棕色tl.backward(tree_length) # 往回画,回溯到上一层def main():tl.penup() # 抬笔tl.pencolor("red") # 设置画笔颜色为红色tl.pensize(3) # 设置画笔大小为3tl.tracer(False) # 打开/关闭龟动画,并为更新图纸设置延迟tl.left(90) # 因为树是往上的,所以先把方向转左tl.backward(250) # 把起点放到底部tl.pendown()tree_length = 100 # 设置的最长树干为100tree_angle = 20 # 树枝分叉角度,设为20draw_smalltree(tree_length, tree_angle)tl.exitonclick() # 单击才关闭画画窗口tl.tracer(True)tl.done()main()
运行结果
Python绘图实例36:分叉树绘制相关推荐
- Python绘图实例1:菱形绘制
实例代码 import turtle # 导入海龟绘图 turtle.right(-30) # 指针沿水平方向右偏上旋转30度 turtle.fd(200) # 指针前进200个像素 turtle. ...
- Python绘图实例25:内切圆绘制
实例代码 # coding:utf8 import turtleturtle.setup(500, 500) turtle.reset() turtle.pensize(5)turtle.penup( ...
- Python绘图实例22:笑脸绘制
实例代码 # -*- coding: utf-8 -*- import turtle# 画脸 turtle.width(2) # 设置宽度 turtle.color("black" ...
- Python绘图实例32:矩形螺旋线绘制
源码来源:<Python趣味编程与实战> 实例代码 import turtle # 导入turtle标准库n = 400 # 绘制矩形螺旋线的大小 turtle.screensize(40 ...
- Python绘图实例23:彩色房子绘制
实例代码 # -*- coding: utf-8 -*- import turtle as t import timet.Pen() # 启动画笔 t.color('green', 'pink') # ...
- Python绘图实例19:中国国旗绘制
实例代码 import turtle as tt.screensize(2000, 2000, 'white') # 设置画布大小 t.speed(9) # 设置画笔速度# 绘制旗面 t.penco ...
- Python绘图实例18:旋转正方形绘制
实例代码 import turtle as t# 定义窗口尺寸 t.setup(700,600) t.pensize(3)# 定义正方形循环36次 for i in range(36):t.penco ...
- Python绘图实例3:正八边形绘制
实例代码 import turtle turtle.pensize(2) d = 0 for i in range(1,9):turtle.fd(100)d += 45turtle.seth(d) ...
- Python绘图实例4:正五边形绘制
实例代码 import turtle turtle.pensize(2) d = 0 for i in range(1,6):turtle.fd(100)d += 72turtle.seth(d) ...
最新文章
- 5.3Role和Claims授权「深入浅出ASP.NET Core系列」
- IP Precedence DSCP、TOS
- 数据结构与算法 | 树与二叉树
- UVA - 10003 - Cutting Sticks
- 马云湖畔大学开学致辞:企业家要比谁都相信未来
- mba案例分析_2020年(第八届)MBA企业案例分析实践课程暨大赛完美收官!
- Kronos Research推出结合WOO质押机制的新资管产品规模已达1500万美元
- Spring Cloud与Docker微服务架构实战--阅读笔记
- Web 爬虫 Apache Nutch 1.15 发布,支持 Java 10
- 大量的免费电子书下载地址
- 湖西大学计算机专业排名,韩国留学热门的30个专业
- python学习——tsv文件批量转为csv文件、csv文件列合并
- 视频教程-软考系统集成项目管理工程师视频教程(法律法规)-软考
- wifi信号增强android,wifi信号增强器下载安装
- 边缘计算顶会SEC 2019论文速览(一)
- MoveIt!入门教程 - 创客智造
- 南邮tip sql.php_南京邮电大学 CTF Write Up
- srs流媒体服务器性能,srs流媒体服务器 配置
- 一分钟看懂数据湖架构
- 探索Hive用户权限(二):HiveServer2安全访问Hive
热门文章
- 计算机网络毕业设计关于flash,Flash动画设计—毕业论文
- pandas读取⽂件的read_csv()⽅法的parse_dates参数
- xargs命令详解,xargs与管道的区别
- CADe_SIMu V1.0.0.1手把手学习笔记(5)
- CTF-加密与解密(二十一)
- 旅游网站大数据分析 - 数据清洗
- 零售连锁门店收银系统源码管理商品分类的功能逻辑分享
- 商品超市管理系统实现超市的商品维护模块(增查改)
- Java调用身份证读取器(中控)读取信息并转换为Json,并拆分地址(正则)
- 谷歌浏览器,安卓内嵌谷歌内核webview使用高德JSAPI定位失败的问题解决!