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中的迭代器和生成器
Oct 26 Python
Python常用库推荐
Dec 04 Python
Python实现单词翻译功能
Jun 06 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
Python代码缩进和测试模块示例详解
May 07 Python
Python爬虫:url中带字典列表参数的编码转换方法
Aug 21 Python
Python列表切片常用操作实例解析
Dec 16 Python
Python:type、object、class与内置类型实例
Dec 25 Python
解决Pytorch训练过程中loss不下降的问题
Jan 02 Python
pytorch 修改预训练model实例
Jan 18 Python
关于Keras模型可视化教程及关键问题的解决
Jan 24 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
May 25 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
「OVERLORD」动画重要删减!雅儿贝德的背叛?至尊猎杀队结成
2020/04/09 日漫
source.php查看源文件
2006/12/09 PHP
php输出xml格式字符串(用的这个)
2012/07/12 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
PHP 用session与gd库实现简单验证码生成与验证的类方法
2016/11/15 PHP
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
JavaScript使用过程中需要注意的地方和一些基本语法
2010/08/26 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
JavaScript检测鼠标移动方向的方法
2015/05/22 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
实例详解angularjs和ajax的结合使用
2015/10/22 Javascript
浅析javascript的return语句
2015/12/15 Javascript
javascript运动效果实例总结(放大缩小、滑动淡入、滚动)
2016/01/08 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
原生js编写2048小游戏
2017/03/17 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
jQuery实现简单弹幕制作
2020/12/10 jQuery
Python实现快速多线程ping的方法
2015/07/15 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
python IP地址转整数
2020/11/20 Python
css3如何绘制一个圆圆的loading转圈动画
2018/01/09 HTML / CSS
CSS3中引入多种自定义字体font-face
2020/06/12 HTML / CSS
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
校园学雷锋活动月总结
2014/03/09 职场文书
五一劳动节活动记录
2014/03/23 职场文书
房产委托公证书
2014/04/08 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
师德师风整改措施
2014/10/24 职场文书
户外亲子活动总结
2015/05/08 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
《围炉夜话》110句人生箴言,精辟有内涵,引人深思
2019/10/23 职场文书
详解JS数组方法
2021/11/20 Javascript