第四天 python基本图形绘制

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

    周末两天花时间看了李开复老师的《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了)。不给自己压力了,要不然其他事情做不好又拿这个作借口安慰自己。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345

推荐阅读更多精彩内容