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实现方法
Nov 18 Python
Python实现测试磁盘性能的方法
Mar 12 Python
使用Python脚本操作MongoDB的教程
Apr 16 Python
python比较2个xml内容的方法
May 11 Python
Python中max函数用于二维列表的实例
Apr 03 Python
在VS Code上搭建Python开发环境的方法
Apr 06 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
Jun 07 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
python绘制漏斗图步骤详解
Mar 04 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
Feb 12 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
Mar 12 Python
理解python中装饰器的作用
Jul 21 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来检测proxy
2006/10/09 PHP
解析PHP 使用curl提交json格式数据
2013/06/29 PHP
解析web文件操作常见安全漏洞(目录、文件名检测漏洞)
2013/06/29 PHP
php中debug_backtrace、debug_print_backtrace和匿名函数用法实例
2014/12/01 PHP
php匹配字符中链接地址的方法
2014/12/22 PHP
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
动态加载js和css(外部文件)
2013/04/17 Javascript
javascript(js)的小数点乘法除法问题详解
2014/03/07 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
easyui validatebox验证
2016/04/29 Javascript
AngularJs html compiler详解及示例代码
2016/09/01 Javascript
Jquery Easyui分割按钮组件SplitButton使用详解(17)
2016/12/18 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
2018/03/26 Javascript
小程序分页实践之编写可复用分页组件
2019/07/18 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
JavaScript用document.write()输出换行的示例代码
2020/11/26 Javascript
python实现电子词典
2020/04/23 Python
python中正则的使用指南
2016/12/04 Python
使用Python实现将list中的每一项的首字母大写
2019/06/11 Python
Windows 安装 Anaconda3+PyCharm的方法步骤
2019/06/13 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
python中操作文件的模块的方法总结
2021/02/04 Python
html5 音乐播放器 audio 标签使用概述
2013/07/15 HTML / CSS
方太官方网上商城:销售方太抽油烟机、燃气灶、消毒柜等
2017/01/17 全球购物
Probikekit日本:自行车套件,跑步和铁人三项装备
2017/04/03 全球购物
英国殿堂级有机护肤品牌:Rodial
2017/04/17 全球购物
父亲生日宴会答谢词
2014/01/10 职场文书
2014年安全工作总结范文
2014/11/13 职场文书
2014年度工作总结报告
2014/12/15 职场文书
2014年骨干教师工作总结
2014/12/19 职场文书
幼儿园大班个人总结
2015/02/28 职场文书