python绘图案例——递归绘制分形树
运行效果图
案例分析:
1、树干初始值为50
2、每次绘制完树枝后,画笔右转20度
3、绘制下一段树枝时,长度减少15,。重复2——3操作直到终止
4、终止条件:树干长度小于5,此时为顶端树枝
5、达到终止条件后,画笔左转40度,以当前长度减少15,绘制树枝
6、右转20度,回到原方向,退回上一个节点,直到操作完
示例代码
## 绘制分型树,末梢的树枝的颜色不同
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手动绘图案例_python绘图案例——递归绘制分形树
运行效果图 案例分析: 1.树干初始值为50 2.每次绘制完树枝后,画笔右转20度 3.绘制下一段树枝时,长度减少15,.重复2--3操作直到终止 4.终止条件:树干长度小于5,此时为顶端树枝 5.达 ...
- Python小例子——利用递归绘制分形树
# -*- coding: utf-8 -*- """作者:宇轩亚40功能:利用递归绘制分形树 """ import turtledef d ...
- Python递归绘制分形树
递归函数绘制分形树 分形几何学的基本思想:客观事物具有自相似性的层次结构,局部和整体在形态,功能,信息,时间,空间等方面具有统计意义上的相似性,称为自相似性,自相似性是指局部是整体成比例缩小的性质. ...
- 用python画分形树的详细解析_基于Python的matplotlib库绘制分形树
import math import copy import numpy as np import matplotlib.pyplot as plt # 距离计算公式 def get_len(x1,x ...
- Python绘制分形树
Python绘制分形树 任务要求 1.树干初始长度为50. 2.每次绘制完成树枝时,画笔右转20度. 3.绘制下一段树枝时,长度减少15,.重复2-3操作直至终止. 4.终止条件:树枝长度小于5,此时 ...
- 「Python海龟画图」利用海龟画笔绘制分形树
绘制旋转图形 功能要求 利用函数递归绘制由多条直线组成的旋转图形,每条直线的颜色随机产生:并且隐藏画笔.设置画笔的速度.设置画布的背景色. 实例代码 import turtle # 导入海龟模块imp ...
- python 画八角形_GitHub - xuedengyue/Turtle_Drawing: 利用Turtle递归绘制分形几何图形
Turtle_Drawing 利用Turtle递归绘制分形几何图形 一.Turtle的常用方法 方法 描述 turtle.forward(distance) 向当前画笔方向移动distance像素长度 ...
- python 绘制分形树
# -*- coding: utf8 -*- """ 绘制分形树 """ import turtledeflection_angle = 2 ...
- Algorithm之绘制分形树
绘制分形树 1.1题目描述 如下图所示,先垂直绘制一根线段,然后在线段长度的三分之一处和三分之二处分别以固定夹角绘制另外两根线段,长度分别为原线段的2/3和1/3. 如此反复,直至线段长度小于某个较小 ...
最新文章
- 手把手教你JavaEE的分页查询、分页展示,有了这个,你的项目又多了一个谈资
- 今天说的是必须要熟练掌握的归并排序
- springAop @AfterReturning注解 获取返回值
- 数据库连接类 DB.class.php
- 武汉大专计算机专业分数线,武汉专科大学有哪些 2019武汉专科大学排名及分数线...
- 全球最性感的13大仿真机器人 功能太全难把持!
- Oracle 11g Dataguard 物理备库配置(四)之broker snapshot standby测试
- 数字转化成时分秒(二)
- [转]Redis集群的配置
- Android -- Looper.prepare()和Looper.loop() —深度版
- springboot logback 日志配置
- “中华姓氏文化归心工程”在京启动
- oracle四大索引类型,各种Oracle索引类型介绍
- ubuntu安装微信linux电脑版
- 三角形面积计算器--C语言
- 推荐 4 款超好用的内网穿透工具,总有一款适合你
- 【vue】设置网页的标题和图标
- 大疆图像算法面试流程
- Dalsa面阵相机外触发接线方式
- 在win10子系统ubuntu平台下使用jekyll和github pages搭建自己的静态博客网站