一篇文章学会 python turtle海龟绘图

海龟绘图python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),出现在1966年的Logo计算机语言。
海龟绘图(turtle库)是python的内部模块,使用前导入即可 import turtle
海龟有3个关键属性:方向、位置和画笔(笔的属性有色彩、宽度和开/关状态)
在这里插入图片描述

1. 画布(canvas)

画布就是turtle为我们展开用于绘图区域, 我们可以设置它的大小和初始位置
设置画布大小:

turtle.screensize(canvwidth=None, canvheight=None, bg=None)

 
 

    参数分别为画布的宽(单位像素), 高, 背景颜色
    如:
    turtle.screensize(800, 600, “green”)
    turtle.screensize() #返回默认大小(400, 300)
    turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
    setup()设置窗体大小及位置,参数:
    width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例
    (startx, starty): 这一坐标表示 矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心
    如:
    turtle.setup(width=0.6, height=0.6)
    turtle.setup(width=800, height=800, startx=100, starty=100)

    2. 画笔

    使用Pen()设定海龟画图对象,即画笔:turtle.Pen()
    在这里插入图片描述
    代码执行后就建立了画布,同时屏幕中间可以看见箭头(arrow),即所谓的海龟
    在海龟绘图中,海龟的起点即画布中央为 (0,0),移动单位是像素 (pixel)
    描述海龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中, 就是使用位置方向描述海龟(画笔)的状态

    3.绘图命令

    操纵海龟绘图有着许多的命令,这些命令可以划分为3种

    • 画笔运动命令
    • 画笔控制命令
    • 全局控制命令
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    部分命令详解:

    turtle.circle(radius, extent=None, steps=None)
    
     
     

      描述: 以给定半径画圆
      参数:
      radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆
      extent(弧度) (optional)
      steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)

      turtle.setheading(angle) 别名:turtle.seth(angle) 改变行进方向,angle指行进方向的绝对角度,只改变方向但不行进
      turtle.goto(x,y): 空间坐标体系(绝对坐标)
      turtle.done(): 用来停止画笔绘制,但绘图窗体不关闭

      4.绘图举例

      绘制正方形:每输入一条指令,都可以看到海龟前进绘图和转向
      在这里插入图片描述
      绘制太阳花:
      在这里插入图片描述绘制分形树:
      在这里插入图片描述

      绘制趣图:
      在这里插入图片描述
      在这里插入图片描述
      绘制五角星:
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      绘制小蟒蛇:
      在这里插入图片描述
      在这里插入图片描述绘制科赫曲线及科赫雪花:
      在这里插入图片描述在这里插入图片描述

      #绘制科赫雪花
      import turtle
      def koch(size,n):
          if n == 0:
              turtle.fd(size)
          else:
              for angle in [0,60,-120,60]:
                  turtle.left(angle)
                  koch(size/3,n-1)
      def main():
          turtle.setup(600,600)
          turtle.penup()
          turtle.goto(-200,100)
          turtle.pendown()
          turtle.pensize(2)
          level = 3     #3阶科赫雪花,阶数
          koch(400,level)
          turtle.right(120)
          koch(400,level)
          turtle.right(120)
          koch(400,level)
          turtle.hideturtle()
          turtle.done()
      main()
      
       
       

      绘制七段数码管:
      在这里插入图片描述在这里插入图片描述
      绘制谢尔帕斯基三角形:
      在这里插入图片描述
      绘制玫瑰花:
      在这里插入图片描述
      绘制小猪佩奇:
      在这里插入图片描述

      • 0
        点赞
      • 4
        收藏
        觉得还不错? 一键收藏
      • 打赏
        打赏
      • 0
        评论

      “相关推荐”对你有帮助么?

      • 非常没帮助
      • 没帮助
      • 一般
      • 有帮助
      • 非常有帮助
      提交
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

      当前余额3.43前往充值 >
      需支付:10.00
      成就一亿技术人!
      领取后你会自动成为博主和红包主的粉丝 规则
      hope_wisdom
      发出的红包

      打赏作者

      星卯教育tony

      你的鼓励将是我创作的最大动力

      ¥1 ¥2 ¥4 ¥6 ¥10 ¥20
      扫码支付:¥1
      获取中
      扫码支付

      您的余额不足,请更换扫码支付或充值

      打赏作者

      实付
      使用余额支付
      点击重新获取
      扫码支付
      钱包余额 0

      抵扣说明:

      1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
      2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

      余额充值