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()

结果如下:

python使用turtle绘制分形树

来源: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
  • asp之家 网络编程 m.aspxhome.com