python递归函数绘制分形树的方法
作者:prairie97 发布时间:2021-04-22 02:16:02
标签: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()
来源:https://blog.csdn.net/prairie97/article/details/78864285


猜你喜欢
- 遍历列表-for循环列表中存储的元素可能非常多,如果想一个一个的访问列表中的元素,可能是一件十分头疼的事。那有没有什么好的办法呢?当然有!使
- 代码如下webfig1.pyfrom flask import Flaskfrom flask import render_template
- 本文实例为大家分享了python多线程http压力测试的具体代码,供大家参考,具体内容如下#coding=utf-8import sysim
- 最近在使用Tensorflow 实现DNN网络时,遇到一些问题。目前网上关于Tensorflow的资料还比较少,现把问题和解决方法写出来,仅
- 这种组合使得开发Web程序简单、安全、效率高。由于程序是在Linux下运行,虽免去了版权费用,对数据库的管理却少了Windows下的图形界面
- Mac安装python3环境首先我先给说明一下:我也是初次接触python,有一定的Java基础,对编程语法有一定基础,当然小菜在这里全当小
- 1.进入Mysqld如果已经设置Mysql/Bin环境变量,直接在CMD里输入命令,如果没有设置Mysql环境变量,去Mysql安装目录的B
- 前言Python中,.whl文件是使用wheel格式存储的一种Python安装包,同时也是一个标准的内置包格式。可以将其看作Python库的
- 下面的代码主要用于使用python语言调用NASA官方的MODIS处理工具HEG进行投影坐标转换与重采样批量处理主要参考HEG的用户手册:h
- 先来说eval的用法,内容比较简单,熟悉的可以跳过。eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执
- 由于业务需要,要查询客户的ip地址,将部分地区的客户过滤出来,开始想到使用ip数据库,发现读取纯真数据库的难度对我来说有些大,而我目前的时间
- 前言前几天在Python交流群里边,有个叫【^-^】的粉丝分享了一道Python基础的题目,跟快递信息有关的,题目如下:现在想要达到的效果如
- 直接上代码:# -*- coding: utf-8 -*- import Queue import threadingimport urll
- global 标识用于在函数内部,修改全局变量的值。我们可以通过以下规则,来判定一个变量到底是在全局作用域还是局部作用域:变量定义在全局作用
- 这篇论坛文章(赛迪网技术社区)主要介绍了数据仓库基本报表制作过程中的SQL写法,详细内容请参考下文:在数据仓库的基本报表制作过程中,通常会使
- 0.目录1.遇到的问题2.创建二维数组的办法•3.1 直接创建法•3.2 列表生成式法•3.3 使用模块numpy创建1.遇到的问题今天写P
- 具体代码如下所示:<?php//在子类或类内部用“::”调用本类或父类时,不是静态调用方法,而是范围解析操作符。class Paren
- udp实现同时收发信息import socketimport threadingdef fa(udp_socket,recv_ip,recv
- 今天试着用python获取金山词霸的翻译功能,链接在这里:ICIBA传送门打开之后,界面是这样的,还是比较干净的。按F12,打开调试工具,选
- 在Spring Boot应用中连接多个数据库或数据源可以使用多种方式,下面介绍两种常用的方法:1、使用Spring Boot官方支持的多数据