Python+Turtle动态绘制一棵树实例分享


Posted in Python onJanuary 16, 2018

本文实例主要是对turtle的使用,实现Python+turtle动态绘制一棵树的实例,具体代码:

# drawtree.py
 
from turtle import Turtle, mainloop
 
def tree(plist, l, a, f):
  """ plist is list of pens
  l is length of branch
  a is half of the angle between 2 branches
  f is factor by which branch is shortened
  from level to level."""
  if l > 5: #
    lst = []
    for p in plist:
      p.forward(l)#沿着当前的方向画画Move the turtle forward by the specified distance, in the direction the turtle is headed.
      q = p.clone()#Create and return a clone of the turtle with same position, heading and turtle properties.
      p.left(a) #Turn turtle left by angle units
      q.right(a)# turn turtle right by angle units, nits are by default degrees, but can be set via the degrees() and radians() functions.
      lst.append(p)#将元素增加到列表的最后
      lst.append(q)
    tree(lst, l*f, a, f)
  
      
 
def main():
  p = Turtle()
  p.color("green")
  p.pensize(5)
  #p.setundobuffer(None)
  p.hideturtle() #Make the turtle invisible. It's a good idea to do this while you're in the middle of doing some complex drawing,
  #because hiding the turtle speeds up the drawing observably.
  #p.speed(10)
  # p.getscreen().tracer(1,0)#Return the TurtleScreen object the turtle is drawing on.
  p.speed(10)
  #TurtleScreen methods can then be called for that object.
  p.left(90)# Turn turtle left by angle units. direction 调整画笔
 
  p.penup() #Pull the pen up ? no drawing when moving.
  p.goto(0,-200)#Move turtle to an absolute position. If the pen is down, draw line. Do not change the turtle's orientation.
  p.pendown()# Pull the pen down ? drawing when moving. 这三条语句是一个组合相当于先把笔收起来再移动到指定位置,再把笔放下开始画
  #否则turtle一移动就会自动的把线画出来
 
  #t = tree([p], 200, 65, 0.6375)
  t = tree([p], 200, 65, 0.6375)
   
main()

实现效果:

Python+Turtle动态绘制一棵树实例分享

总结

以上就是本文关于Python+Turtle动态绘制一棵树实例分享的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
使用rpclib进行Python网络编程时的注释问题
May 06 Python
在Django中管理Users和Permissions以及Groups的方法
Jul 23 Python
巧用python和libnmapd,提取Nmap扫描结果
Aug 23 Python
Python使用win32com实现的模拟浏览器功能示例
Jul 13 Python
python字符串的方法与操作大全
Jan 30 Python
Django 使用logging打印日志的实例
Apr 28 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
详解python实现数据归一化处理的方式:(0,1)标准化
Jul 17 Python
Python Numpy数组扩展repeat和tile使用实例解析
Dec 09 Python
使用scrapy ImagesPipeline爬取图片资源的示例代码
Sep 28 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
Nov 12 Python
python中的3种定义类方法
Nov 27 Python
Python实现七彩蟒蛇绘制实例代码
Jan 16 #Python
答题辅助python代码实现
Jan 16 #Python
python实现百万答题自动百度搜索答案
Jan 16 #Python
Python数据结构之双向链表的定义与使用方法示例
Jan 16 #Python
python+pillow绘制矩阵盖尔圆简单实例
Jan 16 #Python
Python面向对象编程之继承与多态详解
Jan 16 #Python
Python基于socket实现简单的即时通讯功能示例
Jan 16 #Python
You might like
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
那些年一起学习的PHP(一)
2012/03/21 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
PHP+shell实现多线程的方法
2015/07/01 PHP
js资料prototype 属性
2007/03/13 Javascript
javascript 特殊字符串
2009/02/25 Javascript
JS 操作Array数组的方法及属性实例解析
2014/01/08 Javascript
判断iframe里的页面是否加载完成
2014/06/06 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
javascript实现九宫格相加数值相等
2020/05/28 Javascript
文本框只能输入数字的js代码(含小数点)
2016/07/10 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
Python回调函数用法实例详解
2015/07/02 Python
Python3如何解决字符编码问题详解
2017/04/23 Python
python迭代dict的key和value的方法
2018/07/06 Python
Python基于类路径字符串获取静态属性
2020/03/12 Python
基于python实现检索标记敏感词并输出
2020/05/07 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
通过自学python能找到工作吗
2020/06/21 Python
解决H5的a标签的download属性下载service上的文件出现跨域问题
2019/07/16 HTML / CSS
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
法人授权委托书
2014/04/03 职场文书
政治学专业毕业生求职信
2014/08/11 职场文书
2014年售后服务工作总结
2014/11/18 职场文书
辞职信如何写
2015/02/27 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
vue实现登陆页面开发实践
2022/05/30 Vue.js
微信小程序实现轮播图指示器
2022/06/25 Javascript