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爬虫抓站的实用技巧
Aug 09 Python
总结python实现父类调用两种方法的不同
Jan 15 Python
python3实现UDP协议的服务器和客户端
Jun 14 Python
python版大富翁源代码分享
Nov 19 Python
python制作mysql数据迁移脚本
Jan 01 Python
Python multiprocessing多进程原理与应用示例
Feb 28 Python
PyQT实现菜单中的复制,全选和清空的功能的方法
Jun 17 Python
利用python计算windows全盘文件md5值的脚本
Jul 27 Python
Django使用 Bootstrap 样式修改书籍列表过程解析
Aug 09 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
python实现网页录音效果
Oct 26 Python
Pytorch 中的optimizer使用说明
Mar 03 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
DedeCms模板安装/制作概述
2007/03/11 PHP
50个优秀经典PHP算法大集合 附源码
2020/08/26 PHP
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
js控制web打印(局部打印)方法整理
2013/05/29 Javascript
JS获得浏览器版本和操作系统版本的例子
2014/05/13 Javascript
深入探讨前端框架react
2015/12/09 Javascript
JSON字符串和对象相互转换实例分析
2016/06/16 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
vue2.0多条件搜索组件使用详解
2020/03/26 Javascript
jquery实现放大镜简洁代码(推荐)
2017/06/08 jQuery
浅谈 Vue v-model指令的实现原理
2017/06/08 Javascript
JS获取字符对应的ASCII码实例
2017/09/10 Javascript
详解让sublime text3支持Vue语法高亮显示的示例
2017/09/29 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
vue prop传值类型检验方式
2020/07/30 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
2020/09/11 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
2020/11/10 Javascript
python线程锁(thread)学习示例
2013/12/04 Python
Python写的一个简单监控系统
2015/06/19 Python
详解python中字典的循环遍历的两种方式
2017/02/07 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
python海龟绘图之画国旗实例代码
2020/11/11 Python
python pillow库的基础使用教程
2021/01/13 Python
普通PHP程序员笔试题
2016/01/01 面试题
如何查询Oracle数据库中已经创建的索引
2013/10/11 面试题
家长对孩子评语
2014/01/30 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
毕业生学校组织意见
2015/06/04 职场文书
2019最新企业员工考勤管理制度(通用版)!
2019/07/02 职场文书
个人房屋租赁合同(标准范本)
2019/09/16 职场文书
nginx实现多geoserver服务的负载均衡
2022/05/15 Servers