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中使用摄像头实现简单的延时摄影技术
Mar 27 Python
Python实现的使用telnet登陆聊天室实例
Jun 17 Python
Python实现简单的多任务mysql转xml的方法
Feb 08 Python
python实现微信小程序自动回复
Sep 10 Python
Django 简单实现分页与搜索功能的示例代码
Nov 07 Python
python实现两个字典合并,两个list合并
Dec 02 Python
Python解释器以及PyCharm的安装教程图文详解
Feb 26 Python
Keras loss函数剖析
Jul 06 Python
python如何快速生成时间戳
Jul 21 Python
python实现AdaBoost算法的示例
Oct 03 Python
python 爬虫请求模块requests详解
Dec 04 Python
如何利用python实现Simhash算法
Jun 28 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/07/12 PHP
php中取得URL的根域名的代码
2011/03/23 PHP
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
ThinkPHP3.2.3数据库设置新特性
2015/03/05 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
PHP区块查询实现方法分析
2018/05/12 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
javascript在事件监听方面的兼容性小结
2010/04/07 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
js如何判断访问是来自搜索引擎(蜘蛛人)还是直接访问
2015/09/14 Javascript
javascript入门教程基础篇
2015/11/16 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
jquery实现的判断倒计时是否结束代码
2016/02/05 Javascript
jQuery滚动新闻实现代码
2016/06/26 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
vue引入swiper插件的使用实例
2017/07/19 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
2020/02/03 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
Python3 实现随机生成一组不重复数并按行写入文件
2018/04/09 Python
python切片(获取一个子列表(数组))详解
2019/08/09 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
纯CSS3代码实现文字描边
2016/04/25 HTML / CSS
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
C语言笔试题
2014/09/04 面试题
十岁生日家长答谢词
2014/01/17 职场文书
行政工作个人的自我评价
2014/02/13 职场文书
安全施工责任书
2014/08/25 职场文书
婚内分居协议书范文
2014/11/26 职场文书
2014年稽查工作总结
2014/12/20 职场文书
交警失职检讨书
2015/01/26 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server