python使用turtle绘制分形树
由于分形树具有对称性,自相似性,所以我们可以用递归来完成绘制。只要确定开始树枝长、每层树枝的减短长度和树枝分叉的角度,我们就可以把分形树画出来啦!!
代码如下:
# -*- coding: utf-8 -*- ''' 绘制分形树 ''' import turtle as tl def draw_smalltree(tree_length,tree_angle): ''' 绘制分形树函数 ''' if tree_length >= 3: tl.forward(tree_length) #往前画 tl.right(tree_angle) #往右转 draw_smalltree(tree_length - 10,tree_angle)#画下一枝,直到画到树枝长小于3 tl.left(2 * tree_angle) #转向画左 draw_smalltree(tree_length -10,tree_angle) #直到画到树枝长小于3 tl.rt(tree_angle) #转到正向上的方向,然后回溯到上一层 if tree_length <= 30: #树枝长小于30,可以当作树叶了,树叶部分为绿色 tl.pencolor('green') if tree_length > 30: tl.pencolor('brown') #树干部分为棕色 tl.backward(tree_length) #往回画,回溯到上一层 def main(): tl.penup() #tl.pencolor('green') tl.left(90) #因为树是往上的,所以先把方向转左 tl.backward(250) #把起点放到底部 tl.pendown() tree_length = 100 #我设置的最长树干为100 tree_angle = 20 #树枝分叉角度,我设为20 draw_smalltree(tree_length,tree_angle) tl.exitonclick() #点击才关闭画画窗口 if __name__ == '__main__': main()
结果如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
用Python中的turtle模块画图两只小羊方法
这两天在一个公众号里看到好玩的turtle库,今天来学习一下. turtle.circle(radius, extent=None, steps=None) 描述: 以给定半径画圆 参数: radius(半径); 半径为正(负),表示圆心在画笔的左边(右边)画圆 extent(弧度) (optional); steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps) radius > 0,逆时针画圆 radius < 0,顺时针画圆 extent &g
-
详解python使用turtle库来画一朵花
看了群主最后成像的图片,应该是循环了36次画方框,每次有10度的偏移. 当然不能提前看答案,自己试着写代码. 之前有用过海龟画图来画过五角星.奥运五环.围棋盘等,所以感觉不难. # !/usr/bin/env python # -*- coding:utf-8 -*- # Author:wxh def run(): ''' 主方法 :return: None ''' import turtle length = 150 # 线段长度 angle = 45 # 角度 offset_angle =
-
python使用turtle库绘制树
本文实例为大家分享了python使用turtle库绘制树的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. """ import turtle, datetime def drawGap(): #绘制数码管间隔 turtle.penup() turtle.fd(5) def drawLine(draw): #绘制
-
python使用turtle库与random库绘制雪花
本文实例为大家分享了python绘制雪花的具体代码,供大家参考,具体内容如下 代码非常容易理解,画着玩玩还是可以的.直接上代码 # -*- coding: utf-8 -*- """ Created on Fri Jan 12 14:35:14 2018 @author: Administrator """ from turtle import * from random import * def ground(): hideturtle() s
-
python使用Turtle库绘制动态钟表
Python函数库众多,而且在不断更新,所以学习这些函数库最有效的方法,就是阅读Python官方文档.同时借助Google和百度. 本文介绍的turtle库对应的官方文档地址 绘制动态钟表的基本思路如下(面向对象的编程): 使用5个turtle对象 1个turtle:绘制外表盘 3个turtle:模拟表针行为 1个turtle:输出表盘上文字 根据实时时间使用ontimer()函数更新表盘画面,显示效果如下: 相关函数的使用在程序中进行了详细的注释,代码如下: from turtle impor
-
Python3使用turtle绘制超立方体图形示例
本文实例讲述了Python3使用turtle绘制超立方体图形.分享给大家供大家参考,具体如下: 利用Python3中turtle的绘制超立方体. 绘图思路: 1)求出边长100的超立方体的点坐标: 以竖直线为依据,将点分为上下两组: a为上边点列表,b为下边点列表: a = [[120.71, 50], [50, 120.71], [-50, 120.71], [-120.71, 50], [-50, -20.71], [50, -20.71], [20.71, 50],[-20.71, 50]
-
python使用turtle库绘制时钟
Python函数库众多,而且在不断更新,所以学习这些函数库最有效的方法,就是阅读Python官方文档.同时借助Google和百度. 本文介绍的turtle库对应的官方文档地址 绘制动态钟表的基本思路如下(面向对象的编程): 使用5个turtle对象 1个turtle:绘制外表盘 3个turtle:模拟表针行为 1个turtle:输出表盘上文字 根据实时时间使用ontimer()函数更新表盘画面,显示效果如下: 相关函数的使用在程序中进行了详细的注释,代码如下: # -*- coding: utf
-
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的Turtle绘制哆啦A梦实例
这是我几年前为了练习python的turtle库而画的,今天翻出了代码,分享给大家. 这是我初学python时画的,当时还没有面向对象的概念,也没有采取类方法之类,纯原始手工,供大家参考. 若有兴趣可以自行优化简洁代码,有时间我也会重新写一遍. 画出来的效果如下图: 代码如下: # * -- utf-8 -- * # Author: Tang import turtle as t t.speed(10) t.pensize(8) t.hideturtle() t.screensize(500,
-
python基于turtle绘制几何图形
1. 什么是turtle turtle模拟了人在画布前画画的过程:给你一支笔(Pen), 下笔(pendown),移动画笔绘制你的图形,然后填色等等.turtle提供了几种简单的命令,通过组合他们的顺序,只要够耐心,turtle可以画出令人惊叹的作品,很适合用来引导小朋友学习编程. 先来感受下作品: 2. turtle例子 我们通过一个简单的例子来了解turtle的基本操作 import turtle # screen 画布属性设置 canvas = turtle.Screen() canvas
-
Python利用Turtle绘制虎年图像
目录 导语 一.代码展示 二.效果展示 导语 2022年是农历壬寅虎年,在自然界中,虎有“百兽之王”之称 它的王者之风与勇猛,被作为威仪和权势的象征,千百年来,人们崇虎.刻虎.画虎.剪虎……形成了极具特色的中国虎文化,而今天给大家用Turtle绘制虎年图像,带给大家虎年的祝福! 虎年送头虎,全家乐悠悠,虎蹄为你开财路,虎尾为你拂忧愁. 虎耳为你撞鸿运,虎背为你驮康寿,让这头虎伴你左右,你不虎也虎 也希望大家在新年里,虎虎生威.虎年大吉 一.代码展示 本文是基于Turtle绘制的小老虎呢!本文的全
-
Python利用Turtle绘制哆啦A梦和小猪佩奇
目录 1.哆啦A梦 2.小猪佩奇 3.Python代码实现(哆啦A梦) 4.Python代码实现(小猪佩奇 ) 1.哆啦A梦 “只要把愿望系在竹竿上请求月亮女神,心愿便能达成”.我超喜欢这句话. 哆啦A梦的创造要追溯到1969年的某个截稿日,作者藤子·F·不二雄的家里突然闯进了一只小猫,虽然很快就要截稿了,但作者还是和小猫玩了起来,还替小猫挠虱子,而这一挠就是几个小时.等作者发现时间不够用的时候,已经来不及完成稿子.这时作者像热锅上的蚂蚁走来走去,突然踢到了女儿的不倒翁玩具,于是作者灵光一现,把
-
Python利用Turtle绘制Technoblade的示例代码
在刚过去不久的6月30日那天,国外一位在YouTube拥有上千万粉丝的我的世界游戏主播Technoblade因癌症与世长辞,年仅23岁,他并没有离开我们,只是用另外一种方式活在了这个世界上. 为了纪念他,特地写了这篇文章,教大家用Turtle绘制出Technoblade,运行效果如下: 代码如下: 首先,用坐标表示每个像素块的颜色,定义一个列表 POS=[ [4,0,(213,164,9)], [6,0,(213,164,9)], [9,0,(213,164,9)], [11,0,(213,16
-
python使用turtle绘制国际象棋棋盘
本文实例为大家分享了python使用turtle画国际象棋棋盘的具体代码,供大家参考,具体内容如下 使用的方法是每一个小格每一个小格的画 import turtle for i in range(8): #一共有八列 for j in range(8):#每一行有八个格 turtle.forward(37.5) if j % 2 == 0:#判断是否为第奇数个格(是否画黑色格) if i % 2 ==0:#判断是否为奇数行(调整画黑色正方形时小海龟的转向) turtle.begin_fill()
-
python递归函数绘制分形树的方法
分形几何学的基本思想:客观事物具有自相似性的层次结构,局部和整体在形态,功能,信息,时间,空间等方面具有统计意义上的相似性,称为自相似性,自相似性是指局部是整体成比例缩小的性质. 我们先看一下我们最终要绘制的图形: 案例分析: 代码: ## 绘制分型树,末梢的树枝的颜色不同 import turtle def draw_brach(brach_length): if brach_length > 5: if brach_length < 40: turtle.color('green') el
-
使用turtle绘制五角星、分形树
本文实例为大家分享了使用turtle绘制五角星和分形树的具体代码,供大家参考,具体内容如下 turtle 库 与之前程序的区别: 没有显示的input()与output() 没有赋值语句 大部分语句为<a>.<b>()的形式 表示使用<a>中的方法<b>() 调用函数库<a>中的函数<b>() 形状绘制函数: turtle.forward(distance) 画笔向前移动distance距离 turtle.backward(dista
-
Python 3 使用Pillow生成漂亮的分形树图片
该程序通过绘制树干(最初是树:后来是树枝)并递归地添加树来绘制"树". 使用Pillow. 利用递归函数绘制分形树(fractal tree),分形几何学的基本思想:客观事物具有自相似的层次结构,局部与整体在形态.功能.信息.时间.空间等方面具有统计意义上的相似性,成为自相似性.自相似性是指局部是整体成比例缩小的性质. 版本:Python 3 # Adapted from http://rosettacode.org/wiki/Fractal_tree#Python # to para
随机推荐
- VB语言使用ADO连接、操作SQLServer数据库教程
- 深入解析Redis中常见的应用场景
- C++详解默认参数的构造函数及简单实例代码
- python中如何使用正则表达式的非贪婪模式示例
- Android编程将Activity背景设置为墙纸的简单实现方法
- C#递归算法寻找数组中第K大的数
- Android DaggerActivityComponent错误解决办法详解
- Mysql表,列,库增删改查问题小结
- vue2.0使用Sortable.js实现的拖拽功能示例
- PHP培训要多少钱
- 配置RD9中的DNS
- 添加后台list给前台select标签赋值简单实现
- 用好windows自带的“虚拟光驱”之subst命令
- Java 同步锁(synchronized)详解及实例
- JNDI在JavaEE中的角色_动力节点Java学院整理
- 在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
- js对象与打印对象分析比较
- IE下Ajax缓存问题的快速解决方法(get方式)
- 用PHP控制用户的浏览器--ob*函数的使用说明
- Android中ActionBar以及menu的代码设置样式