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编程中线程的创建与锁的使用
Feb 28 Python
详解python中requirements.txt的一切
Mar 03 Python
Python通过Pygame绘制移动的矩形实例代码
Jan 03 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
对python3 urllib包与http包的使用详解
May 10 Python
django初始化数据库的实例
May 27 Python
python 字符串和整数的转换方法
Jun 25 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
python 读写excel文件操作示例【附源码下载】
Jun 19 Python
Flask框架学习笔记之模板操作实例详解
Aug 15 Python
详解用Python为直方图绘制拟合曲线的两种方法
Aug 21 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
Sep 01 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
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
Laravel Eloquent ORM 多条件查询的例子
2019/10/10 PHP
laravel中数据显示方法(默认值和下拉option默认选中)
2019/10/11 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
自己开发Dojo的建议框架
2008/09/24 Javascript
基于jQuery的Tab选项框效果代码(插件)
2011/03/01 Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
2013/09/10 Javascript
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
js实现可拖动DIV的方法
2013/12/17 Javascript
node.js中watch机制详解
2014/11/17 Javascript
html的DOM中Event对象onabort事件用法实例
2015/01/21 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
Bootstrap fileinput文件上传预览插件使用详解
2017/05/16 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
详解微信图片防盗链“此图片来自微信公众平台 未经允许不得引用”的解决方案
2019/04/04 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
解决layer.prompt无效的问题
2019/09/24 Javascript
vue render函数动态加载img的src路径操作
2020/10/26 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
python通过opencv实现批量剪切图片
2017/11/13 Python
python 实现多维数组转向量
2019/11/30 Python
python 非线性规划方式(scipy.optimize.minimize)
2020/02/11 Python
Python extract及contains方法代码实例
2020/09/11 Python
SmartBuyGlasses比利时:购买品牌太阳镜和眼镜
2019/08/09 全球购物
印度在线购买电子产品网站:Croma
2020/01/02 全球购物
师范生求职信
2014/06/14 职场文书
学校党员对照检查材料
2014/08/28 职场文书
六年级数学教学反思
2016/02/16 职场文书
教学工作总结范文5篇
2019/08/19 职场文书
详细分析PHP7与PHP5区别
2021/06/26 PHP
springboot中的pom文件 project报错问题
2022/01/18 Java/Android