python使用turtle绘制分形树
作者:yunyunyx 时间:2022-10-21 12:10:23
由于分形树具有对称性,自相似性,所以我们可以用递归来完成绘制。只要确定开始树枝长、每层树枝的减短长度和树枝分叉的角度,我们就可以把分形树画出来啦!!
代码如下:
# -*- coding: utf-8 -*-
'''
绘制分形树
'''
import turtle as tl
def 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)#画下一枝,直到画到树枝长小于3
tl.left(2 * tree_angle) #转向画左
draw_smalltree(tree_length -10,tree_angle) #直到画到树枝长小于3
tl.rt(tree_angle) #转到正向上的方向,然后回溯到上一层
if tree_length <= 30: #树枝长小于30,可以当作树叶了,树叶部分为绿色
tl.pencolor('green')
if tree_length > 30:
tl.pencolor('brown') #树干部分为棕色
tl.backward(tree_length) #往回画,回溯到上一层
def main():
tl.penup()
#tl.pencolor('green')
tl.left(90) #因为树是往上的,所以先把方向转左
tl.backward(250) #把起点放到底部
tl.pendown()
tree_length = 100 #我设置的最长树干为100
tree_angle = 20 #树枝分叉角度,我设为20
draw_smalltree(tree_length,tree_angle)
tl.exitonclick() #点击才关闭画画窗口
if __name__ == '__main__':
main()
结果如下:
来源:https://blog.csdn.net/yunyunyx/article/details/79960692
标签:python,turtle,分形树
0
投稿
猜你喜欢
CSS? 3D? 3D CSS?
2009-05-13 13:10:00
基于Python实现一个简单的学生管理系统
2023-07-23 23:06:40
ORACLE 常用的SQL语法和数据对象
2009-02-26 10:58:00
Python3开发环境搭建详细教程
2023-11-12 10:46:28
python+requests+unittest API接口测试实例(详解)
2021-10-14 13:15:08
不要忽略了颜色的可用性
2009-03-05 18:19:00
python字符串格式化方式解析
2021-06-22 14:01:46
MySQL字符编码设置方法
2024-01-21 07:52:51
发一段鼠标掠过表格行颜色改变的代码
2010-07-02 12:59:00
修改Linux下MySQL 5.0的默认连接数
2009-09-01 10:16:00
JavaScript经典效果集锦
2013-08-13 09:29:34
SQL语句如何实现超简单的多表查询
2024-01-21 15:42:05
MySQL常见优化方案汇总
2024-01-23 05:29:35
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2024-04-22 22:33:48
深入解析Python小白学习【操作列表】
2023-02-18 03:48:07
Python中的re正则表达式模块
2022-09-13 15:07:40
Python读取excel指定列生成指定sql脚本的方法
2021-05-06 19:11:13
mysql 8.0 错误The server requested authentication method unknown to the client解决方法
2024-01-13 01:41:25
MySQL主键约束和外键约束详解
2024-01-18 08:10:41
一文带你吃透Python中的日期时间模块
2023-01-11 19:33:32