基础介绍
turtle(海龟)库是turtle绘图体系的Python实现
- turtle绘图体系:1969年诞生,主要用于程序设计入门
- Python语言的标准库之一
- 入门级的图形绘制函数库
标准库
Python计算生态 = 标准库 + 第三方库
- 标准库:随解释器直接安装到操作系统中的功能模块
- 第三方库:需要经过安装才能使用的功能模块
- 库Library、包Package、模块Module,统称模块
turtle 的原理
turtle(海龟)是一种真实的存在
- 有一只海龟,其实在窗体正中心,在画布上游走
- 走过的轨迹形成了绘制的图形
- 海龟由程序控制,可以变换颜色、改变宽度等 ```python import turtle
turtle.setup(1080, 350, 200, 200) turtle.shape(‘turtle’) turtle.penup() turtle.forward(-400) turtle.pendown() turtle.pensize(25) turtle.setheading(-40) for color in [‘red’, ‘yellow’, ‘orange’, ‘purple’, ‘brown’, ‘navy’, ‘olive’]: turtle.pencolor(color) turtle.circle(40, 80) turtle.circle(-40, 80) turtle.circle(40, 80/2) turtle.forward(40) turtle.circle(16, 180) turtle.forward(40 * 2/3) turtle.pencolor(‘black’) turtle.hideturtle() turtle.dot(5) turtle.done()
<a name="DOGhP"></a># 绘图窗体布局<a name="qZ9vw"></a>## 绘图窗体```python'''- setup()设置窗体大小及位置- 4个参数中后两个可选- setup()不是必须的'''turtle.setup(width, height, startx, starty)turtle.setup(800, 400, 0, 0)turtle.setup(800, 400)turtle.setup(0.8, 0.8)
import turtleturtle.setup(0.8, 0.8, 0, 0)turtle.done()

空间坐标体系
四个象限
goto()
绝对坐标,四个象限中 (x, y) 的绝对位置。
import turtleturtle.goto(100, 100)turtle.dot(10)turtle.goto(100,-100)turtle.dot(10)turtle.goto(-100,-100)turtle.dot(10)turtle.goto(-100, 100)turtle.dot(10)turtle.goto(0,0)turtle.setheading(-45)turtle.done()

四个方向
forward() backward()
相对距离,相对于上一次停留点的移动距离。
import turtleturtle.shape('turtle')turtle.speed(1)turtle.left(90)turtle.forward(90)turtle.stamp()turtle.home()turtle.right(90)turtle.forward(90)turtle.stamp()turtle.home()turtle.forward(90)turtle.stamp()turtle.home()turtle.backward(90)turtle.stamp()turtle.done()

思考:如何把最后一步的箭头指向西方?有几种方案?
角度坐标体系
逆时针,依次为 0, 90, 180 270 360 度。顺时针,依次为 0, -90, -180, -270 -360 度。
setheading()
绝对角度,从原点出发,沿x轴逆时针方向的绝对角度。
'''- seth()改变海龟行进方向- angle为绝对度数- seth()只改变方向但不行进'''turtle.setheading(angle)turtle.setheading(45)turtle.setheading(-135)
left() right()
相对角度,在上一步停留时,自身的角度基础上,叠加一个角度。
import turtleturtle.left(45)turtle.forward(150)turtle.right(135)turtle.forward(300)turtle.left(135)turtle.forward(150)turtle.done()

色彩体系
RGB 色彩模式
由三种颜色构成的万物色
- RGB指红蓝绿三个通道的颜色组合
- 覆盖视力所能感知的所有颜色
- RGB每色取值范围
0-255整数或0-1小数 - 默认采用小数值,可切换为整数值 ```python ‘’’
- 1.0: RGB小数值模式
- 255: RGB整数值模式 ‘’’ turtle.colormode(mode) ```
常用RGB色彩
| 英文名称 | RGB整数值 | RGB小数值 | 中文名称 |
|---|---|---|---|
| black | 0, 0, 0 | 0, 0, 0 | 黑色 |
| red | 255, 0, 0 | 1, 0, 0 | 红色 |
| green | 0, 255, 0 | 0, 1, 0 | 绿色 |
| blue | 0, 0, 255 | 0, 0, 1 | 蓝色 |
| yellow | 255, 255, 0 | 1, 1, 0 | 黄色 |
| cyan | 0, 255, 255 | 0, 1, 1 | 青色 |
| magenta | 255, 0, 255 | 1, 0, 1 | 洋红 |
| white | 255, 255, 255 | 1, 1, 1 | 白色 |
| 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 | 番茄色 |
课后作业
- 修改程序,使得图1中,箭头方向和运动方向保持一致。

图1
