Python使用Turtle库绘制一棵西兰花

 更新时间:2019年11月23日 09:40:18   作者:骄阳焰火  
今天小编就为大家分享一篇Python使用Turtle库绘制一棵西兰花,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

Turtle库是Python中一个强大的绘制图像的函数库,灵活使用Turtle库可以绘制各种好看的图像。

下面介绍使用Turtle库绘制一棵西兰花。

绘制一棵西兰花,从主干出发以一定的角度向左向右生成对称的枝干,再从每个枝干出发向左向右生成对称的枝干,循环此动作,并最终绘制出一棵漂亮的西兰花。

首先导入Turtle库,并设置画笔大小、画笔速度及颜色,并隐藏画笔

from turtle import Turtle
p=Turtle()
p.pensize(5)
p.color(clr)
p.hideturtle()
p.getscreen().tracer(30,0)

设置起始方向以及位置(屏幕中心为坐标原点)

p.left(90)
p.penup()
p.goto(x,y)
p.pendown()

设置画笔完成之后,开始绘制西兰花,首先绘制从开始画位置向着预定的方向前进一段距离,并向左向右分成两个对称的分支

p.forward(l)
q=p.clone()
p.left(a)
q.right(a)

每完成一次分支后就将两个分支对象添加到list中,并通过遍历list完成整个图像的绘制

def tree(plist,l,a,f):
  if l>5:
    lst=[]
    for p in plist:
      p.forward(l)
      q=p.clone()
      p.left(a)
      q.right(a)
      lst.append(p)
      lst.append(q)
    tree(lst,l*f,a,f)

在程序中通过递归调用完成了一棵西兰花的绘制。

程序剩余代码如下:

 def maketree(x,y,clr):
  p=Turtle()
  p.pensize(5)
  p.color(clr)
  p.hideturtle()
  p.getscreen().tracer(30,0)
  #p.speed(10)
  p.left(90)
  p.penup()
  p.goto(x,y)
  p.pendown()
  t=tree([p],200,20,0.6375)
  #print(len(p.getscreen().turtles()))

def main():
  maketree(0,-300,"green")

main()

以上这篇Python使用Turtle库绘制一棵西兰花就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python通过getopt模块如何获取执行的命令参数详解

    python通过getopt模块如何获取执行的命令参数详解

    这篇文章主要给大家介绍了关于python通过getopt模块如何获取执行的命令参数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • jupyter运行时左边一直出现*号问题及解决

    jupyter运行时左边一直出现*号问题及解决

    这篇文章主要介绍了jupyter运行时左边一直出现*号问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 安装Pycharm2019以及配置anconda教程的方法步骤

    安装Pycharm2019以及配置anconda教程的方法步骤

    这篇文章主要介绍了安装Pycharm2019以及配置anconda教程的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Python实现判断一个整数是否为回文数算法示例

    Python实现判断一个整数是否为回文数算法示例

    这篇文章主要介绍了Python实现判断一个整数是否为回文数算法,结合实例形式分析了Python针对字符串的翻转、判断等相关操作技巧,需要的朋友可以参考下
    2019-03-03
  • 教你用YOLOv5实现多路摄像头实时目标检测功能

    教你用YOLOv5实现多路摄像头实时目标检测功能

    目标检测是计算机视觉的研究方向之一,下面这篇文章主要给大家介绍了关于如何利用YOLOv5实现多路摄像头实时目标检测功能的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Django框架之路由用法

    Django框架之路由用法

    这篇文章介绍了Django框架之路由的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Python实现爬取马云的微博功能示例

    Python实现爬取马云的微博功能示例

    这篇文章主要介绍了Python实现爬取马云的微博功能,结合实例形式较为详细的分析了Python模拟ajax请求爬取马云微博的相关操作技巧与注意事项,需要的朋友可以参考下
    2019-02-02
  • Python中如何实现MOOC扫码登录

    Python中如何实现MOOC扫码登录

    这篇文章主要介绍了Python中如何实现MOOC扫码登录,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • python中sql解析库sqlparse基本操作指南

    python中sql解析库sqlparse基本操作指南

    sqlparse是用于Python的非验证SQL解析器,它提供了对SQL语句的解析,拆分和格式化的支持,这篇文章主要给大家介绍了关于python中sql解析库sqlparse基本操作指南的相关资料,需要的朋友可以参考下
    2024-08-08
  • Python中利用算法优化性能的技巧分享

    Python中利用算法优化性能的技巧分享

    这篇文章主要为大家详细介绍了Python中12个可以利用算法优化性能的技巧,文中的示例代码简洁易懂,具有一定的借鉴价值,有需要的小伙伴可以了解下
    2025-04-04

最新评论