python递归函数绘制分形树的方法


Posted in Python onJune 22, 2018

分形几何学的基本思想:客观事物具有自相似性的层次结构,局部和整体在形态,功能,信息,时间,空间等方面具有统计意义上的相似性,称为自相似性,自相似性是指局部是整体成比例缩小的性质。

我们先看一下我们最终要绘制的图形:

python递归函数绘制分形树的方法

案例分析:

python递归函数绘制分形树的方法

python递归函数绘制分形树的方法

代码:

## 绘制分型树,末梢的树枝的颜色不同

import turtle


def draw_brach(brach_length):


  if brach_length > 5:
    if brach_length < 40:
      turtle.color('green')

    else:
      turtle.color('red')

    # 绘制右侧的树枝
    turtle.forward(brach_length)
    print('向前',brach_length)
    turtle.right(25)
    print('右转20')
    draw_brach(brach_length-15)
    # 绘制左侧的树枝
    turtle.left(50)
    print('左转40')
    draw_brach(brach_length-15)

    if brach_length < 40:
      turtle.color('green')

    else:
      turtle.color('red')


    # 返回之前的树枝上
    turtle.right(25)
    print('右转20')
    turtle.backward(brach_length)
    print('返回',brach_length)

def main():
  turtle.left(90)
  turtle.penup()
  turtle.backward(150)
  turtle.pendown()
  turtle.color('red')

  draw_brach(100)

  turtle.exitonclick()

if __name__ == '__main__':
  main()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python自定义类并使用的方法
May 07 Python
Python实现身份证号码解析
Sep 01 Python
OpenCV实现人脸识别
Apr 07 Python
Python cookbook(数据结构与算法)根据字段将记录分组操作示例
Mar 19 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
python logging模块的使用总结
Jul 09 Python
python线程的几种创建方式详解
Aug 29 Python
python实现简单井字棋小游戏
Mar 05 Python
学习Python爬虫的几点建议
Aug 05 Python
Python字符串三种格式化输出
Sep 17 Python
Django生成数据库及添加用户报错解决方案
Oct 09 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
Dec 04 Python
使用pandas模块读取csv文件和excel表格,并用matplotlib画图的方法
Jun 22 #Python
Python使用pandas处理CSV文件的实例讲解
Jun 22 #Python
python处理csv中的空值方法
Jun 22 #Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 #Python
关于python2 csv写入空白行的问题
Jun 22 #Python
浅谈Python2、Python3相对路径、绝对路径导入方法
Jun 22 #Python
Python基于pandas实现json格式转换成dataframe的方法
Jun 22 #Python
You might like
PHP图片上传类带图片显示
2006/11/25 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
thinkphp5.1 文件引入路径问题及注意事项
2018/06/13 PHP
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
Tinymce+jQuery.Validation使用产生的BUG
2010/03/29 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
jQuery实现的倒计时效果实例小结
2016/04/16 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
jquery表单提交带错误信息提示效果
2017/03/09 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
vue 实现的树形菜的实例代码
2018/03/19 Javascript
详解在Javascript中进行面向切面编程
2019/04/28 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
[01:01]青春无憾,一战成名——DOTA2全国高校联赛开启
2018/02/25 DOTA
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
Python实现备份文件实例
2014/09/16 Python
python分析apache访问日志脚本分享
2015/02/26 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
python try except返回异常的信息字符串代码实例
2019/08/15 Python
纯CSS3实现地球自转实现代码(图文教程附送源码)
2012/12/26 HTML / CSS
Ref与out有什么不同
2012/11/24 面试题
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
为什么要使用servlet
2016/01/17 面试题
教师求职信范文
2014/05/24 职场文书
“向国旗敬礼”活动策划方案(4篇)
2014/09/27 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
因个人原因离职的辞职信范文
2015/05/12 职场文书
养成教育工作总结
2015/08/13 职场文书
创业计划书之暑假培训班
2019/11/09 职场文书
PHP实现创建以太坊钱包转账等功能
2021/04/21 PHP
mybatis源码解读之executor包语句处理功能
2022/02/15 Java/Android