第四天 python基本图形绘制

作者: 十木_03 | 来源:发表于2019-07-29 02:27 被阅读2次

        已经开始了正式的课程,是不是觉得一下就一点儿枯燥了,没有了前两天那种轻松的心情,不过这就是学习嘛。因为自己还在学习这方面的内容,所以不好在此基础上发挥过多,当然会尽量的加一些轻松的内容来丰富一下气氛吧。

        周末两天花时间看了李开复老师的《AI未来》一书,因此这两天我也没有更内容。我觉得这本书讲的蛮好的,它是李老师对AI未来的一些分析预测,分析了AI带来了什么?将会改变什么?威胁和机会都会是什么……如果有时间,我会把我对这本书的理解和感悟写出来,到时候链接会po在此地。

        好了,还是回归继续我们的学习吧。


        Python语言应该大家都知道,它是目前现有包最多的语言,我们可以直接调取现有的包进行操作,这时候就是发挥我们最优势的地方了——懒。比如我们以下面这个实例作为我们调用包的实例来学习图形绘制。

    Python这个单词的英文意思为“蟒蛇”,那我们就以绘制python图形作为我们的实例吧。(讲道理,我是怕蛇的,也就是因为这个简单,大家可以试试其他的图形,比如花)

      -问题1    计算机绘图是什么原理?

           一段程序为何能够产生窗体?为何能在窗体上绘制图形?

    -问题2    Python蟒蛇绘制从哪里开始呢?

          如何绘制一条线?如何绘制一个弧形?如何绘制一个蟒蛇?

    话不多说,先放代码。代码如图:

    python蟒蛇绘制代码(图片来源中国大学mooc网 嵩天老师 侵权删)

    import 保留字,引入一个绘图库,名字叫:turtle 

    1. turtle 库的使用

        -turtle 库基本介绍

        -turtle 绘图窗体布局

        -turtle 空间坐标体系

        -turtle 角度坐标体系

        -RGB 色彩体系

    2.turtle 程序语法元素分析

        -库引用与 import

        -turtle 画笔控制函数

        -turtle 运动控制函数

        -turtle 方向控制函数

        -循环语句与 range() 函数 

    1. turtle 库的使用

    1.1 turtle 库概述

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

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

          -Python语言的标准库之一

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

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

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

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

          -库Library、包Package、 模块Module ,统称模块

        turtle的原理

        turtle(海龟)是一种真是的存在

        -可以想象有一只海龟,其实在窗体的正中心,在画布上游走

        -走过的轨迹形成了绘制的图形

        -海龟由程序控制,可以变换颜色、改变宽度等

    海龟爬行足迹

        由turtle库开始我们学习引入库,接下来我们就像图片的小海龟一样,一步步走出自己的足迹,走向python的海洋。记住,我们的征途是星辰大海……

    1.2 turtle绘图窗体

    turtle绘图窗体(图片来自网络)

        turtle.setup(宽度, 高度,起始点横坐标,起始点纵坐标)  

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

        -4个参数中后两个可选,若未设定窗体坐标,则默认窗体在屏幕中心(以屏幕左上角为原点的相对坐标)

        -setup() 不是必须的 (需要窗体时才有创建窗体的操作)

    1.3 turtle 空间坐标体系

    窗体坐标系图(图片来自网络)

    turtle 绝对坐标即窗体的坐标,turtle.goto(x, y) 表示海龟向(x,y)这一点前进

    海龟相对坐标(图片来自网络)

    turtle 相对坐标表示的是以海龟的角度出发的相对位置

        -turtle.fd(d) 向前,turtle.bk(d) 后退,turtle.circle(r, angle) 以海龟当前位置左侧某点为圆心进行曲线运行

    1.4 turtle 角度坐标体系   

    绝对角度(图片来自网络)

    turtle.seth(angle)

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

        -seth() 只改变方向但不行进

        -angle 为绝对度数

    海龟相对角度(图片来自网络)

    以海龟面朝方向的左右侧做相对角度选择

          例如以下案例:

    (图片来自网络)

        turtle 运行轨迹为:向左转45度,前进150,向右转135度,向前行进300,向左转135度,前进150。 图中的角度均为相对角度,即与海龟面向所形成的角度

    1.5 RGB色彩模式

    由三种颜色构成的万物色

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

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

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

    常用RGB色彩(图片来自网络)

    turtle.colormode(mode)

        -1.0:RGB 小数值模式

        -255:RGB 整数值模式

    2. turtle 库语法元素分析

    2.1 turtle 程序语法元素分析

     库引用:扩充python程序功能的方式

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

            import<库名>

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

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

            from <库名> import <函数名>

            from <库名> import *

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

    两种引用函数方法:

    两种引入库方法(图片来自网络)

    两种方法比较:

        -第一种方法不会出现函数重名问题

        -第二种方法会出现

    import 更多用法

       使用import 和as 保留字共同完成

         import <库名> as <库别名>

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

            -给调用的外部库关联一个更短、更适合自己的名字

    引入库别名(图片来自网络)

    2.2 turtle 画笔控制函数

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

        -turtle.penup()   别名turtle.pu()     抬起画笔,海龟在飞行(不在画布形成图案)

        -turtle.pendown()   别名turtle.pd()    落下画笔,海龟在爬行

        -turtle.pensize(width)   别名turtle.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.13, 0.94))  

    2.3 turtle 运动控制函数

    控制海龟行进:走直线&走曲线

        -turtle.forward(d)   别名turtle.fd(d)     向前行进,海龟走直线   d为行进距离,可为负

        -turtle.circle(r, extent = None)   根据半径r绘制extent角度的弧形

           r为默认圆心在海龟左侧r距离的位置, extent为绘制角度,默认是360度整圆

    turtle.circle()函数(图片来自网络)

    2.4 turtle 方向控制函数

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

        -turtle.setheading(angle)   别名turtle.seth(angle)   改变行进方向,海龟走角度(绝对角度)

        -turtle.left(angle) 和turtle.right(angle)   改变行进方向,海龟走角度(相对角度)

    2.5循环语句与range()函数

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

        for <变量> in range(<函数名>)

             <被循环执行的语句>

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

    range()函数  产生循环计数序列

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

        -range (M,N)  产生 M 到 N-1 的整数序列,共N-M个


        这一天课程写完到底还是花了一些时间,也不扯多的理由,其实就是懒劲又起来了,还有一些课程会尽快更完(不敢立flag了)。不给自己压力了,要不然其他事情做不好又拿这个作借口安慰自己。

    相关文章

      网友评论

        本文标题:第四天 python基本图形绘制

        本文链接:https://www.haomeiwen.com/subject/ijhakctx.html