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递归函数实例 1.打开Python开发工具IDLE,新建'递归.py'文件,并写代码如下: def digui(n): if n == 0 : print ('') return print ('*'*n) digui(n-1) if __name__ == '__main__': digui(5) 这里递归打印*号,先打印后递归 2.F5运行程序,打印内容如下: ***** **** *** ** * 3.更改一下打印和递归的 顺序,先递归后打印,代码如下: def digui(n
-
Python递归函数定义与用法示例
本文实例讲述了Python递归函数定义与用法.分享给大家供大家参考,具体如下: 递归函数 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n,用函数 fact(n)表示,可以看出: fact(n) = n! = 1 * 2 * 3 * ... * (n-1) * n = (n-1)! * n = fact(n-1) * n 所以,fact(n)可以表示为 n * fact(n-1),只有
-
浅析python递归函数和河内塔问题
关于递归函数: 函数内部调用自身的函数. 以n阶乘为例: f(n) = n ! = 1 x 2 x 3 x 4 x...x(n-1)x(n) = n x (n-1) ! def factorial(n): if n==1: return 1 return n * f(n-1) //调用过程如下: >>f(5) >>5 * f(4) >>5 * 4 * f(3) >>5 * 4 * 3 * f(2) >>5 * 4 * 3 * 2 * f(1) &
-
python实现斐波那契递归函数的方法
本文以一个简单的实例讲述了python实现斐波那契数列数列递归函数的方法,代码精简易懂.分享给大家供大家参考之用. 主要函数代码如下: def fab(n): if n==1: return 1 if n==0: return 0 else: result=int(fab(n-1))+int(fab(n-2)) return result 测试代码如下: for i in range(10): print fab(i) 希望本文所述对大家Python程序设计的学习有所帮助.
-
Python进阶之递归函数的用法及其示例
作者是一名沉迷于Python无法自拔的蛇友,为提高水平,把Python的重点和有趣的实例发在简书上. 一.递归 是指函数/过程/子程序在运行过程序中直接或间接调用自身而产生的重入现象.在计算机编程里,递归指的是一个过程:函数不断引用自身,直到引用的对象已知.使用递归解决问题,思路清晰,代码少.但是在主流高级语言中(如C语言.Pascal语言等)使用递归算法要耗用更多的栈空间,所以在堆栈尺寸受限制时(如嵌入式系统或者内核态编程),应避免采用.所有的递归算法都可以改写成与之等价的非递归算法. (来源
-
Python 递归函数详解及实例
Python 递归函数 如果一个函数体直接或者间接调用自己,那么这个函数就称为递归函数.也就是说,递归函数体的执行过程中可能会返回去再次调用该函数.在python里,递归函数不需要任何特殊的语法,但是它需要付出一定的努力去理解和创建. 我们会以一个简单的例子开始:写一个函数求一个自然数中所有数字的和.在设计递归函数的时候,我们会寻找能把问题分解成简单的问题的方法.在这道题中,运算符%和//可以用来把一个数分成两部分:最低位和不包含最低位数字两部分. 18117的数字和为:1+8+1+1+7=18
-
详解python中递归函数
函数执行流程 def foo1(b,b1=3): print("foo1 called",b,b1) def foo2(c): foo3(c) print("foo2 called",c) def foo3(d): print("foo3 called",d) def main(): print("main called") foo1(100,101) foo2(200) print("main ending &qu
-
讲解Python中的递归函数
在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n 所以,fact(n)可以表示为n x fact(n-1),只有n=1时需要特殊处理. 于是,fact(n)用递归的方式写出来就是: def fact(n):
-
python递归函数绘制分形树的方法
分形几何学的基本思想:客观事物具有自相似性的层次结构,局部和整体在形态,功能,信息,时间,空间等方面具有统计意义上的相似性,称为自相似性,自相似性是指局部是整体成比例缩小的性质. 我们先看一下我们最终要绘制的图形: 案例分析: 代码: ## 绘制分型树,末梢的树枝的颜色不同 import turtle def draw_brach(brach_length): if brach_length > 5: if brach_length < 40: turtle.color('green') el
-
python使用turtle绘制分形树
由于分形树具有对称性,自相似性,所以我们可以用递归来完成绘制.只要确定开始树枝长.每层树枝的减短长度和树枝分叉的角度,我们就可以把分形树画出来啦!! 代码如下: # -*- coding: utf-8 -*- ''' 绘制分形树 ''' import turtle as tl def draw_smalltree(tree_length,tree_angle): ''' 绘制分形树函数 ''' if tree_length >= 3: tl.forward(tree_length) #往前画 t
-
Python实现简单字典树的方法
本文实例讲述了Python实现简单字典树的方法.分享给大家供大家参考,具体如下: #coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串. 在此代码基础上扩展一下,就可以实现比较复杂的字典树,比如带统计数的,或支持更多字符的字典树, 或者是支持删除等操作. """ class TrieNode(object): def __init__(self): # 是否构成一个完成的单词 self.is_word = Fal
-
Python+NumPy绘制常见曲线的方法详解
目录 一.利萨茹曲线 二.计算斐波那契数列 三.方波 四.锯齿波和三角波 在NumPy中,所有的标准三角函数如sin.cos.tan等均有对应的通用函数. 一.利萨茹曲线 (Lissajous curve)利萨茹曲线是一种很有趣的使用三角函数的方式(示波器上显示出利萨茹曲线).利萨茹曲线由以下参数方程定义: x = A sin(at + n/2) y = B sin(bt) 利萨茹曲线的参数包括 A . B . a 和 b .为简单起见,我们令 A 和 B 均为1,设置的参数为 a=9 , b=
-
Python+matplotlib绘制多子图的方法详解
目录 本文速览 1.matplotlib.pyplot api 方式添加子图 2.面向对象方式添加子图 3.matplotlib.pyplot add_subplot方式添加子图 4.matplotlib.gridspec.GridSpec方式添加子图 5.子图中绘制子图 6.任意位置绘制子图(plt.axes) 本文速览 matplotlib.pyplot api 绘制子图 面向对象方式绘制子图 matplotlib.gridspec.GridSpec绘制子图 任意位置添加子图 关于pyplo
-
Python 3 使用Pillow生成漂亮的分形树图片
该程序通过绘制树干(最初是树:后来是树枝)并递归地添加树来绘制"树". 使用Pillow. 利用递归函数绘制分形树(fractal tree),分形几何学的基本思想:客观事物具有自相似的层次结构,局部与整体在形态.功能.信息.时间.空间等方面具有统计意义上的相似性,成为自相似性.自相似性是指局部是整体成比例缩小的性质. 版本:Python 3 # Adapted from http://rosettacode.org/wiki/Fractal_tree#Python # to para
-
使用turtle绘制五角星、分形树
本文实例为大家分享了使用turtle绘制五角星和分形树的具体代码,供大家参考,具体内容如下 turtle 库 与之前程序的区别: 没有显示的input()与output() 没有赋值语句 大部分语句为<a>.<b>()的形式 表示使用<a>中的方法<b>() 调用函数库<a>中的函数<b>() 形状绘制函数: turtle.forward(distance) 画笔向前移动distance距离 turtle.backward(dista
-
Python绘制分形图案探索无限细节和奇妙之美
目录 一.目标 二.表示图像 三.画一条线 四.画三角形 五.生成分形 六.结论 分形是无限复杂的模式,在不同的尺度上具有自相似性.例如,一棵树的树干会分裂成更小的树枝.这些树枝又分裂成更小的树枝,以此类推. 通过编程的方式生成分形,可以将简单的形状变成复杂的重复图案. 本文将探讨如何利用一些简单的几何学基础和编程知识,在Python中建立令人印象深刻的分形图案. 分形在数据科学中发挥着重要作用.例如,在分形分析中,对数据集的分形特征进行评估,以帮助理解基础过程的结构.此外,处于分形生成中心的循
-
Python基于Matplotlib库简单绘制折线图的方法示例
本文实例讲述了Python基于Matplotlib库简单绘制折线图的方法.分享给大家供大家参考,具体如下: Matplotlib画折线图,有一些离散点,想看看这些点的变动趋势: import matplotlib.pyplot as plt x1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13] y1=[30,31,31,32,33,35,35,40,47,62,99,186,480] x2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1
-
Python使用plotly绘制数据图表的方法
导语:使用 python-plotly 模块来进行压测数据的绘制,并且生成静态 html 页面结果展示. 不少小伙伴在开发过程中都有对模块进行压测的经历,压测结束后大家往往喜欢使用Excel处理压测数据并绘制数据可视化视图,但这样不能很方便的使用web页面进行数据展示.本文将介绍使用python-plotly模块来进行压测数据的绘制,并且生成静态html页面方便结果展示. Plotly简介 Plotly是一款使用JavaScript开发的制图工具,提供了与主流数据分析语言交互的API(如:Pyt
随机推荐
- 浅析如何利用angular结合translate为项目实现国际化
- Lua编程示例(五): C语言对Lua表的读取和添加
- SQL Server手工插入标识列的方法
- js 简单类代码
- JavaScript高级程序设计 事件学习笔记
- c#调用存储过程实现登录界面详解
- ASP.NET/C#中如何调用动态链接库DLL
- 实例讲解Android多线程应用开发中Handler的使用
- 全面了解MySql中的事务
- Yii使用migrate命令执行sql语句的方法
- 微信小程序的分类页面制作
- javascript 图片放大缩小功能实现代码
- jquery 动态增加删除行的简单实例(推荐)
- 分享12个实用的jQuery代码片段
- Web Deploy发布网站及常见问题解决方法(图文)
- 详解Java的Hibernate框架中的List映射表与Bag映射
- VC++中图像处理类CBitmap的用法
- Spring搭配Ehcache实例解析
- 详解Android中实现热更新的原理
- Android实战打飞机游戏之实现主角以及主角相关元素(3)