文章目录
课程简介
计算机是运算工具,更是创新平台,高效有趣地利用计算机需要更简洁实用的编程语言。Python简洁却强大、简单却专业,它是当今世界最受欢迎的编程语言,学好它终身受用。请跟随我们,学习并掌握Python语言,一起动起来,站在风口、享受创新!
—— 课程团队
MOOC课程:
Python语言程序设计(嵩天 、黄天羽 、礼欣)
北京理工大学
课程视频地址:
授课目标:
本课程适合如下教学目标:
- 程序设计入门课:面向各层次各专业大学在校生、部分优秀高中生,作为程序设计入门课程
- 体系化编程基础:面向拟构建坚实编程能力的自学者,作为不断奋斗的参考在线课程
- Python科目备考:面向全国计算机等级考试二级Python科目的备考考生,作为在线备考资源
- 再试一次的尝试:面向拟放弃计算机或编程学习的学习者,作为再试一次的课程资源,学不会这门课学再放弃不迟…
第二章 Python基本图形绘制
2.3 turtle 库的使用(海龟绘图法)
概要
- turtle库基本介绍
- turtle绘图窗体布局
- turtle空间坐标体系
- turtle角度坐标体系
- RGB色彩体系
turtle库基本介绍
turtle(海龟)库是turtle绘图体系的Python实现
Turtle库是Python语言中的一个绘图函数库,想象一只小乌龟,它会随着代码的控制在屏幕上移动,并在它爬行的路径上绘制出图形。
- turtle绘图体系:1969年诞生,主要用于程序设计入门的绘图方式
- Python语言的标准库之一
- 入门级的图形绘制函数库
Python计算生态 = 标准库 + 第三方库
Python语言的计算生态包含标准库和第三方库
- 标准库:随解释器直接安装到操作系统中的功能模块
- 第三方库:需要经过安装才能使用的功能模块
- 注意:库Library、包Package、模块Module,在本套课程中都统称为模块。
turtle绘图窗体布局
turtle绘图窗体布局:turtle的画布空间,最小单位是像素。
屏幕坐标系:屏幕左上角坐标为(0, 0)
画布是用于绘图的区域窗体,可使用函数 turtle.setup()
调整绘图窗体在电脑屏幕中的大小和窗体左上角与屏幕左上角的相对位置。
turtle.setup(width, height, startx, starty)
turtle.setup(宽度,高度,窗口起始横坐标,窗口起始纵坐标)
-
参数:
width, height
: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例, -
可选参数:
startx, starty
: 起始点坐标。指窗体左上角顶点位置的坐标(相对位置坐标),即左上角位置相对于屏幕的左上角的坐标。若这两个可选的参数不填,则默认窗口在屏幕中间。
turtle.setup()
为非必要函数,仅用来控制窗体大小,以及窗体在屏幕中的位置。
# 窗体位于屏幕左上角,宽800 高400
turtle.setup(800, 400, 0, 0)
# (默认位置)窗体位于屏幕正中间,宽800 高400
turtle.setup(800, 400)
代码效果:
turtle空间坐标体系
绝对坐标 & 海龟坐标
画布上以中心为原点的空间坐标系
绝对坐标
- 海龟最开始在屏幕的正中央,即坐标
(0, 0)
的位置。 - 海龟的行进方向默认是向着画布的右侧,即整个窗体的右方向是 x x x 轴,上方向是 y y y 轴。
- 选取4个点,根据坐标和位置的不同,有不同的坐标值:
(-100, 100)
(100, 100)
(-100, -100)
(100, -100)
这个坐标值,指海龟绘制过程中,画布(窗体)中间的空间坐标体系(常用),区别于窗体在屏幕中间的位置坐标。 - 使用函数 turtle.goto(x,y) 利用空间坐标改变小海龟的行进位置:
让无论处于什么位置的小海龟,直接去到坐标为(x, y)的位置。
例如:
import turtle
turtle.goto(100,100)
turtle.goto(100,-100)
turtle.goto(-100,-100)
turtle.goto(-100,100)
turtle.goto(0,0)
运行结果:
海龟坐标
- 海龟的当前行进方向无论是朝向哪个角度,都叫前进方向,反方向则为后退方向
注意,海龟起始的行进方向默认是向右。 - 海龟的当前行进方向左侧叫左侧方向,右侧叫右侧方向
turtle.fd(d) 或 turtle.forward(d)
向海龟的正前方行进长度为d像素的距离
turtle.bk(d)或 turtle.backward
向海龟的反方向行进长度为d像素的距离
turtle.circle(r, angle)
曲线运行,默认以海龟当前位置左侧距离为r像素的点为圆心,行进angle角度的弧线
turtle角度坐标体系
turtle角度坐标体系:绝对角度 & 海龟角度
画布上以空间
x
x
x 轴为 0 度的角度坐标体系
绝对角度
在空间坐标中,海龟运行的方向也有一个绝对角度。
x
x
x 轴表示 0 度或 360 度,
y
y
y 轴表示 90 度或 -270 度。
turtle.seth(angle) 或 turtle.sethead(angle)
改变当前海龟前进方向为angle角度,只转动方向,不行进
海龟角度
使用左、右的方式来改变海龟的运行角度。
turtle.left(angle)
让当前海龟左转angle角度,改变前进方向
turtle.right(angle)
让当前海龟右转angle角度,改变前进方向
例:绘制一个Z形曲线
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
运行结果:
RGB色彩体系
RGB
计算机最常用的色彩体系
由三种颜色构成的万物色:Red, Green, Blue.
- RGB指由红、绿、蓝三种颜色通道构成的色彩组合
- RGB几乎覆盖了视力所能感知的所有颜色
- RGB每个颜色通道的取值范围为 0-255 的整数,或 0-1 之间的小数
常用的RGB色彩( 整数值&小数值)
英文名称 | RGB整数值 | RGB小数值 | 中文名称 |
---|---|---|---|
white | 255, 255, 255 | 1, 1, 1 | 白色 |
yellow | 255, 255, 0 | 1, 1, 0 | 黄色 |
magenta | 255, 0, 255 | 1, 0, 1 | 洋红 |
cyan | 0, 255, 255 | 0, 1, 1 | 青色 |
blue | 0, 0, 255 | 0, 0, 1 | 蓝色 |
black | 0, 0, 0 | 0, 0, 0 | 黑色 |
seashell | 255, 245, 238 | 1, 0.96,0.93 | 海贝色 |
gold | 255, 215, 0 | 1, 0.84, 0 | 金色 |
pink | 255, 192, 203 | 1, 0.75, 0.80 | 粉红色 |
brown | 165, 42, 42 | 0.65, 0.16, 0.16 | 棕色 |
purple | 160, 32, 240 | 0.63, 0.13, 0.94 | 紫色 |
tomato | 255, 99, 71 | 1, 0.39, 0.28 | 番茄色 |
模式切换
turtle库默认采用RGB的小数值来表示颜色,可用以下函数切换为整数值或小数值:
turtle.colormode(mode)
参数 mode
的取值为:
-
1.0
RGB小数模式
如:turtle.colormode(1.0) -
255
RGB整数模式
如:turtle.colormode(255)
内容小结
- turtle库的海龟绘图法
- turtle.setup()调整绘图窗体在电脑屏幕中的布局
- 画布上以中心为原点的空间坐标系:绝对坐标&海龟坐标
- 画布上以空间x轴为0度的角度坐标系:绝对角度&海龟角度
- RGB色彩体系,整数值&小数值,色彩模式切换