第四天 python基本图形绘制

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

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

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


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

第四天 python基本图形绘制_第1张图片

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

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

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

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

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

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

第四天 python基本图形绘制_第2张图片
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(海龟)是一种真是的存在

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

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

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

第四天 python基本图形绘制_第3张图片
海龟爬行足迹

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

1.2 turtle绘图窗体

第四天 python基本图形绘制_第4张图片
turtle绘图窗体(图片来自网络)

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

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

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

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

1.3 turtle 空间坐标体系

第四天 python基本图形绘制_第5张图片
窗体坐标系图(图片来自网络)

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


第四天 python基本图形绘制_第6张图片
海龟相对坐标(图片来自网络)

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

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

1.4 turtle 角度坐标体系   

第四天 python基本图形绘制_第7张图片
绝对角度(图片来自网络)

turtle.seth(angle)

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

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

    -angle 为绝对度数


第四天 python基本图形绘制_第8张图片
海龟相对角度(图片来自网络)

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

      例如以下案例:

第四天 python基本图形绘制_第9张图片
(图片来自网络)

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

1.5 RGB色彩模式

由三种颜色构成的万物色

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

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

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


第四天 python基本图形绘制_第10张图片
常用RGB色彩(图片来自网络)

turtle.colormode(mode)

    -1.0:RGB 小数值模式

    -255:RGB 整数值模式

2. turtle 库语法元素分析

2.1 turtle 程序语法元素分析

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

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

        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度整圆

第四天 python基本图形绘制_第12张图片
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基本图形绘制)