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 相关文章推荐
Pycharm学习教程(1) 定制外观
May 02 Python
tensorflow: 查看 tensor详细数值方法
Jun 13 Python
python3实现字符串操作的实例代码
Apr 16 Python
详解python中的hashlib模块的使用
Apr 22 Python
Python 3 判断2个字典相同
Aug 06 Python
Python(PyS60)实现简单语音整点报时
Nov 18 Python
Python 中判断列表是否为空的方法
Nov 24 Python
keras 多任务多loss实例
Jun 22 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
Nov 19 Python
Python实现简单猜数字游戏
Feb 03 Python
Python操作CSV格式文件的方法大全
Jul 15 Python
如何在python中实现ECDSA你知道吗
Nov 23 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小技巧 把数组的键和值交换形成了新的数组,查找值取得键
2011/06/02 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
javascript实现的listview效果
2007/04/28 Javascript
iframe 自适应高度[在IE6 IE7 FF下测试通过]
2009/04/13 Javascript
Js基础学习资料
2010/11/23 Javascript
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
2011/09/28 Javascript
Javascript Request获取请求参数如何实现
2012/11/28 Javascript
S2SH整合JQuery+Ajax实现登录验证功能实现代码
2013/01/30 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
Javascript 绘制 sin 曲线过程附图
2014/08/21 Javascript
javascript制作的简单注册模块表单验证
2015/04/13 Javascript
js绘制圆形和矩形的方法
2015/08/05 Javascript
js实现tab选项卡切换功能
2017/01/13 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
2019/08/04 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
20多个小事例带你重温ES10新特性(小结)
2019/09/29 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
VUE 实现element upload上传图片到阿里云
2020/08/12 Javascript
原生js实现购物车
2020/09/23 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
python解析json实例方法
2013/11/19 Python
python 环境变量和import模块导入方法(详解)
2017/07/11 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
python日期时间转为字符串或者格式化输出的实例
2018/05/29 Python
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
美国二手复古奢侈品包包购物网站:LXRandCo
2019/06/18 全球购物
幼儿生日活动方案
2014/08/27 职场文书
五年级下册复习计划
2015/01/19 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
卫生主题班会
2015/08/14 职场文书
2016年“抗战胜利纪念日”71周年校园广播稿
2015/12/18 职场文书
银行求职信怎么写
2019/06/20 职场文书
Spring事务管理下synchronized锁失效问题的解决方法
2022/03/31 Java/Android