基础介绍
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 turtle
turtle.setup(0.8, 0.8, 0, 0)
turtle.done()
空间坐标体系
四个象限
goto()
绝对坐标,四个象限中 (x, y) 的绝对位置。
import turtle
turtle.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 turtle
turtle.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 turtle
turtle.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