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 相关文章推荐
pyside写ui界面入门示例
Jan 22 Python
python3.3使用tkinter开发猜数字游戏示例
Mar 14 Python
Python实现模拟登录及表单提交的方法
Jul 25 Python
发布你的Python模块详解
Sep 15 Python
详解python中的文件与目录操作
Jul 11 Python
python将字典内容存入mysql实例代码
Jan 18 Python
python plotly绘制直方图实例详解
Jul 22 Python
Python assert关键字原理及实例解析
Dec 13 Python
查看端口并杀进程python脚本代码
Dec 17 Python
python爬虫中PhantomJS加载页面的实例方法
Nov 12 Python
Python爬虫之Selenium实现键盘事件
Dec 04 Python
python flask框架快速入门
May 14 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 获得汉字拼音首字母的函数
2009/08/01 PHP
php中全局变量global的使用演示代码
2011/05/18 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
PHP实现基于状态的责任链审批模式详解
2019/05/31 PHP
php计数排序算法的实现代码(附四个实例代码)
2020/03/31 PHP
我遇到的参数传递中 双引号单引号嵌套问题
2010/02/11 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
使用JavaScript判断用户输入的是否为正整数(两种方法)
2017/02/05 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
Vue.js 中的 $watch使用方法
2017/05/25 Javascript
浅谈vue路径优化之resolve
2017/10/13 Javascript
React Native中导航组件react-navigation跨tab路由处理详解
2017/10/31 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
微信小程序实现文字跑马灯
2020/05/26 Javascript
浅谈JavaScript 代码简洁之道
2019/01/09 Javascript
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
[10:21]2018DOTA2国际邀请赛寻真——Winstrike
2018/08/11 DOTA
Python中条件选择和循环语句使用方法介绍
2013/03/13 Python
用Python中的字典来处理索引统计的方法
2015/05/05 Python
python黑魔法之参数传递
2016/02/12 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
Ubuntu下Anaconda和Pycharm配置方法详解
2019/06/14 Python
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
园林毕业生自我鉴定范文
2013/12/29 职场文书
母校寄语大全
2014/04/10 职场文书
机关搬迁方案
2014/05/18 职场文书
电工生产实习心得体会
2016/01/22 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
Spring Cloud OAuth2实现自定义token返回格式
2022/06/25 Java/Android