turtle 库的使用
turtle 库基本介绍
turtle
是 Python 中的一个标准库,用于在图形界面中进行绘图操作,特别适用于初学者学习编程和图形概念。它使用一个虚拟的海龟进行绘图,允许你控制海龟在屏幕上移动并绘制各种图案。
turtle 绘图窗体布局
在使用 turtle
库进行绘图时,你可以通过一些命令来设置绘图窗体的布局和属性。例如:
import turtle
# 设置绘图窗体的大小和位置
turtle.setup(width=800, height=600, startx=100, starty=100)
# 设置绘图窗体的标题
turtle.title("My Turtle Drawing")
# 更多设置和属性...
turtle 空间坐标体系
turtle
库使用一个空间坐标体系,其中海龟在屏幕上移动,坐标系的原点通常位于屏幕中心。正的 x 轴向右延伸,正的 y 轴向上延伸。你可以使用 turtle.goto(x, y)
命令将海龟移动到特定的坐标位置。
在 turtle
库中,绘图使用的是一个空间坐标体系,它让你能够控制海龟在屏幕上的位置。这个坐标系以海龟的当前位置为原点(0, 0),x 轴正方向向右延伸,y 轴正方向向上延伸。下面是一些关于 turtle
空间坐标体系的基本概念:
-
坐标系原点: 海龟初始位置为原点 (0, 0),也就是屏幕中心。通过
turtle.penup()
命令抬起画笔,然后使用turtle.goto(x, y)
命令可以将海龟移动到特定的坐标位置。import turtle turtle.penup() # 抬起画笔 turtle.goto(100, -50) # 将海龟移动到坐标 (100, -50) turtle.pendown() # 放下画笔
-
x 轴和 y 轴: x 轴是水平方向,正方向为向右。y 轴是垂直方向,正方向为向上。通过调用
turtle.setx(x)
和turtle.sety(y)
可以将海龟移到指定的 x 或 y 坐标上。import turtle turtle.setx(50) # 将海龟的 x 坐标设置为 50 turtle.sety(-30) # 将海龟的 y 坐标设置为 -30
-
角度方向: 海龟的初始方向是朝右,对应角度为 0 度。逆时针方向是正方向,顺时针方向是负方向。你可以使用
turtle.setheading(angle)
来设置海龟的方向。import turtle turtle.setheading(90) # 设置海龟方向为向上 (90 度) turtle.setheading(-45) # 设置海龟方向为逆时针 45 度
通过理解这些概念,你可以在 turtle
绘图中控制海龟的位置和方向,从而创建出各种不同的图案和效果。
turtle 角度坐标体系
默认情况下,turtle
库使用角度坐标体系,其中海龟的方向被表示为角度。初始方向是朝右,逆时针为正方向。你可以使用 turtle.setheading(angle)
命令来设置海龟的方向。
-
设置海龟方向: 使用
turtle.setheading(angle)
函数可以设置海龟的方向,其中angle
是一个角度值,0度表示向右,90度表示向上,以此类推。例如:import turtle turtle.setheading(90) # 设置海龟方向为向上
-
转向: 使用
turtle.left(angle)
或turtle.right(angle)
函数可以让海龟向左或向右转动指定的角度。例如:import turtle turtle.left(45) # 海龟向左转45度
-
向前移动: 使用
turtle.forward(distance)
函数可以让海龟向当前方向前进指定的距离。例如:import turtle turtle.forward(100) # 海龟向前移动100个单位
-
向后移动: 使用
turtle.backward(distance)
函数可以让海龟向当前方向后退指定的距离。例如:import turtle turtle.backward(50) # 海龟向后移动50个单位
-
绘制圆弧: 使用
turtle.circle(radius, angle)
函数可以绘制一个指定半径和角度的圆弧。例如:import turtle turtle.circle(50, 180) # 绘制半径为50的半圆
通过使用这些函数和操作,你可以在 turtle
库中实现各种不同的图形和动画效果。理解角度坐标体系将有助于你更好地掌握如何控制海龟的方向和移动。
RGB 色彩体系
在 turtle
库中,你可以使用 RGB 色彩体系来设置线条和填充颜色。例如:
import turtle
turtle.pencolor(255, 0, 0) # 设置红色线条颜色
turtle.fillcolor(0, 0, 255) # 设置蓝色填充颜色
- RGB 指红蓝绿三个通道的颜色组合
- 覆盖视力所能感知的所有颜色
- RGB 每色取值范围 0 255 整数或 0 1 小数
英文名称 | RGB整数值 | RGB小数值 |
---|---|---|
white | 255,255,255 | 1,1,1 |
yellow | 255,255,0 | 1,1,0 |
mangenta | 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 |
默认采用小数值,可切换为整数值
- 1.0 RGB 小数值模式
- 255 RGB 整数值模式
turtle.colormode(mode)