zoukankan      html  css  js  c++  java
  • Python绘图工具turtle库的使用

    #PythonDraw.py
    import turtle   #引入了一个绘图库(海归库)
    turtle.setup(650,350,200,200)       #设置一个窗体
    turtle.penup()      #将画笔抬起
    turtle.fd(-250)     #让海龟倒退行进250个像素点,由于海龟处于飞起状态画布不留效果
    turtle.pendown()    #将画笔放下
    turtle.pensize(25)      #设置画笔的宽度为25个像素
    turtle.pencolor("purple")       #画笔颜色设为purple
    turtle.seth(-40)        #将海龟方向改为绝对的-40度方向
    for i in range(4):      #循环4次绘制蟒蛇半径为40个像素角度分别为80度和-80度
        turtle.circle(40,80)
        turtle.circle(-40,80)
    turtle.circle(40,80/2)
    turtle.fd(40)
    turtle.circle(16,180)
    turtle.fd(40*2/3)
    turtle.done()       #程序运行后不会自动退出需要手动关闭窗口,去掉这条语句程序运行结束会自动退出

    一、turtle基本情况

      turtle(海归)库是turtle绘图体系的Python实现

      -turtle绘图体系:1969年诞生,主要用于程序设计入门

      -Python语言的标准库之一

        Python计算生态 = 标准库 + 第三方库

        标准库:随解释器直接安装到操作系统中的功能模块

        第三方库:需要经过安装才能使用的功能模块

      -入门级的图形绘制函数库

    二、turtle绘图窗体布局

      turtle.setup(width,heigth,startx,starty)

        startx、starty不给值默认在正中心

      -setup()设置窗体大小及位置

      -4个参数中后两个可选

      -setup()不是必须的

    三、turtle空间坐标体系

      1、绝对坐标

        海龟刚开始位于画布的正中间坐标为(0,0)

        

        turtle.goto(x,y)  #海龟从当前位置位移到(x,y)

      2、海龟坐标体系

        从海龟自身运动来讲它看到的是什么样的,对于海龟来讲它的当前行进方向无论是朝向哪个角度都叫前进方向,反方向是后退方向。

        turtle.fd(d)  #向海龟的正前方向运行

        turtle.bk(d)  #向海龟的反方向运行

          参数d为移动像素数

        turtle.circle(r,angle)  #以海龟当前位置左侧的某一个点为圆心进行曲线运行

    四、turtle的角度坐标体系

      1、绝对角度

      turtle.seth(angle)

        -seth()改变海龟进行方向

        -seth()只改变方向但不行进不绘制任何信息

        -angle 为绝对度数

      2、海龟角度

        turtle.left(angle)  #向左改变angle角度

        turtle.right(angle)  #向右改变angle角度

    五、RGB色彩体系

      由三种颜色构成的万物色

      -RGB指红蓝绿三个通道的颜色组合

      -覆盖视力所能感知的颜色组合

      -RGB每色取值范围0-255或0-1小数

      常见RGB色彩

      1、默认采用小数值,可切换为整数值

        turtle.colormode(mode)

        -1.0:RGB小数值模式

        -255:RGB整数值模式

    六、库引用

      扩充Python程序功能的方式

      1、-使用import保留字完成,采用<a>.<b>()编码风格

        import <库名>

        <库名>.<函数名>(<函数参数>)

       2、-使用from和import保留字共同完成

        from <库名>import<函数名>

        from <库名> import*   #使用这两种方式在调用函数时就不需要加库名了,直接用函数名加参数调用。

        <函数名>(<函数参数  >)

      使用第一种方法不会出现函数重名的问题,第二种方法可能会出现函数名与程序员自定义的函数重名的问题。

      3、-使用import和as保留字共同完成(这种方法代码量较少也防止了函数重名的情况)

        import<库名>as<库别名>

        <库别名>.<函数名>(<函数参数>)

        -给调用的外部库关联一个更短、更适合自己的名字对编写程序来讲会带来很多的便利。

    七、turtle画笔控制函数

      画笔操作后一直有效,一般成对出现

      -turtle.penup()    别名  turtle.pu()  #抬起画笔,不在画布上形成图案

      -turtle.pendown()   别名  turtle.pd()  #放下画笔,在画布上形成图案

      -turtle.pensize(width)  别名  tutle.width(width)  #画笔宽度 

      -turtle.pencolor(color)   #画笔颜色  color为颜色字符串或r,g,b值

        -颜色字符串:  turtle.pencolor("purple")  #函数参数为字符串类型且为小写

        -RGB的小数值:  turtle.pencolor(0.63,0.13,0.94)

        -RGB的元组值: turtle.pencolor((0.63,0.16,0.94))

    八、turtle运动控制函数

      控制海龟行进方向:走直线或者走曲线

      -turtle.forward(d)      别名   turtle.fd(d)

        向前行进,海龟走直线

      -d:行进距离,可以为负数

      -turtle.circle(r,extent=None)

        根据半径r绘制extend角度的弧形

      -r:半径,默认圆心在海龟左侧r距离的位置

      -extend:绘制角度,默认是360度整圆

    九、turtle方向控制函数

      控制海龟面对方向:绝对角度和海龟角度  

      1、绝对角度

        -turtlr.sethending(angle)  别名  turtle.seth(angle)

          改变行进方向,海龟前进的角度

        -angle:将海龟当前方向改变为某一个绝对角度 

      2、海龟角度

        -turtle.left(angle)  #海龟向左转

        -turtle.right(angle)  #海龟向右转

        -angle:在海龟当前方向上向左或者向右旋转的角度

      注意:方向控制函数只改变海龟行进方向并不在画布上留下痕迹,如果需要海龟行动需要调用运动控制函数。

    十、循环语句与range()函数

      循环语句指按一定次数循环执行的一组语句

      常用的方式

        for <变量> in range(<参数>)    #range的参数就是循环的次数

          <被循环执行的语句>

      -<变量>表示每次循环的计数,0到<次数>-1

        for i in range(5)

          print("Hello:",i)     #print输出语句加,可以输出空格

      '''输出

        Hello: 0

        Hello: 1

        Hello: 2

        Hello: 3

        Hello: 4  '''

      range( ) 函数

      产生循环计数序列的函数

      -range(N)

      产生0到N-1的整数序列,共N个

      -range (M,N)

      产生从M到N-1的整数序列,共N-M个

  • 相关阅读:
    zabbix系列(七)zabbix3.0添加对tcp连接数及状态的监控
    zabbix系列(六)zabbix添加对ubuntu系统的监控
    zabbix系列(六)zabbix添加对ubuntu系统的监控
    centos命令行变成了-bash-4.1$的解决办法
    zabbix常见报错问题处理
    sqlyog通过跳板机ssh连接mysql数据库
    centos系统初始化脚本
    修改centos和ubuntu ssh远程连接端口提升系统安全性
    listener failed: zbx_tcp_listen() fatal error: unable to serve on any address [[-]:20050]
    zabbix系列(五)zabbix3.0.4 探索主机Discovery自动发现主机详细图文教程
  • 原文地址:https://www.cnblogs.com/yy-yang/p/11189641.html
Copyright © 2011-2022 走看看