1、turtle的绘图窗体
turtle.setup(width,height,startx,starty)
-setup()设置窗体大小和位置
-4个参数中后两个可选
一二两个参数是指窗口的长度与宽度
startx指窗体的左上角的位置的坐标。
turtle.setup(800, 800, 0, 0)
如果没有后面两个参数,系统会默认在程序的正中心。
2、turtle的空间坐标体系
-绝对坐标
窗口的正中心(0,0)
turtle.goto(x, y)
让在任何位置的海龟,无论它在哪里,去到达某一个坐标位置。
turtle.fk(d)
往海龟的正前方向运行。
turtle.bk(d)
往海龟的反方向运行。
turtle.circle(r, angle)
以海龟当前位置左侧的某一个点为圆心进行曲线运行。
3.turtle角度坐标体系
- seth()改变海龟行进方向
- seth()只改变方向但不行进
- angle为绝对度数
left()和right()是让海龟向左或向右改变运行方向
实例(一)
import turtle
turtle.left(45)
turtle.fd(150)
turtle.right(135)
turtle.fd(300)
turtle.left(135)
turtle.fd(150)
4、RGB色彩体系
- RGB指红蓝绿三个通道的颜色组合
- 覆盖视力所能感知的所有颜色
- RGB每色取值范围0-255整数或0-1小数
turtle.colormode(mode)
- 1.0: RGB小数值模式
- 255:RGB整数值模式
使用import保留字对turtle库的引用有如下三种方式
from<库名>import<函数名>
from<库名>import *
调用函数不需要<库名>,直接使用<函数名>
import turtle as t,则对turtle库中函数调用采用更简洁的t.<函数名>()形式,保留字as的作用是将turtle库给予别名t。
函数 |
描述 |
pendown() |
放下画笔 |
penup() |
提起画笔,与pendown()配对使用 |
pensize(width) |
设置画笔线条的粗细为指定大小 |
color() |
设置画笔的颜色 |
begin_fill() |
填充图形前,调用该方法 |
end_fill() |
填充图形结束 |
filling() |
返回填充的状态,True为填充,False为未填充 |
clear() |
清空当前窗口,但不改变当前画笔的位置 |
reset() |
清空当前窗口,并重置位置等状态为默认值 |
screensize() |
设置画布的长和宽 |
hideturtle() |
隐藏画笔的turtle形状 |
showturtle() |
显示画笔的turtle形状 |
isvisible() |
如果turtle可见,则返回True |
write(str,font=None) |
输出font字体的字符串 |
作用:抬起画笔,之后,移动画笔不绘制形状
参数:无
作用:落下画笔,之后,移动画笔将绘制形状
参数:无
作用:设置画笔宽度,当无参数输入时返回当前画笔宽度
参数:
width :设置的画笔线条宽度,如果为None或者为空,函数则返回当前画笔宽度。
作用:设置画笔颜色,当无参数输入时返回当前画笔颜色
参数:
colorstring :表示颜色的字符串,例如:"purple"、"red"、"blue"等
(r,g,b): 颜色对应RGB的01数值,例如:1, 0.65, 0
函数 |
描述 |
forward() |
沿着当前方向前进指定距离 |
backward() |
沿着当前相反方向后退指定距离 |
right(angle) |
向右旋转angle角度 |
left(angle) |
向左旋转angle角度 |
goto(x,y) |
移动到绝对坐标(x,y)处 |
setx( ) |
将当前x轴移动到指定位置 |
sety( ) |
将当前y轴移动到指定位置 |
setheading(angle) |
设置当前朝向为angle角度 |
home() |
设置当前画笔位置为原点,朝向东。 |
circle(radius,e) |
绘制一个指定半径r和角度e的圆或弧形 |
dot(r,color) |
绘制一个指定半径r和颜色color的圆点 |
undo() |
撤销画笔最后一步动作 |
speed() |
设置画笔的绘制速度,参数为0-10之间 |
作用:向小海龟当前行进方向前进distance距离
参数:
distance :行进距离的像素值,当值为负数时,表示向相反方向前进。
作用:设置小海龟当前行进方向为to_angle,该角度是绝对方向角度值。
参数:
to_angle :角度的整数值。
作用:根据半径radius绘制extent角度的弧形。
参数:
radius :弧形半径,当值为正数时,半径在小海龟左侧,当值为负数时,半径在小海龟右侧;
extent : 绘制弧形的角度,当不给该参数或参数为None时,绘制整个圆形。
(1)正方形
import turtle
d = 0
for i in range(1, 5):
turtle.fd(200)
d += 90
turtle.seth(d)
(2)同心圆
import turtle as t
def DrawCctCircle(n):
t.penup()
t.goto(0, -n)
t.pendown()
t.circle(n)
for i in range(20,80,20):
DrawCctCircle(i)
t.done()
(3)菱形四边形
import turtle as t
t.right(-30)
for i in range(2):
t.fd(200)
t.right(60 * (1+i))
for i in range(2):
t.fd(200)
t.right(60 * (1+i))
(4)六边形
import turtle as t
for i in range(6):
t.fd(100)
t.left(60)
(5)python
import turtle
turtle.setup(650, 350, 200, 200)
turtle.penup() # 将笔抬起
turtle.fd(-250) # 向左移动250像素
turtle.pendown() # 放下笔开始画
turtle.pensize(25) # 笔宽为25像素
turtle.pencolor('purple')
turtle.seth(-40) # 朝向-40度
# .left(angle) 海龟向左转 angle:在海龟当前行进方向上旋转的角度
# .left(angle) 海龟向右转
for i in range(4):
turtle.circle(40, 80) # 根据半径40,绘制80度的弧形
turtle.circle(-40, 80) # 半径为负,是向下画
turtle.circle(40, 80/2)
turtle.fd(40)
turtle.circle(16, 180)
turtle.fd(40 * 2/3)
turtle.done() # 画完不退出
(6)菱形四边形
import turtle as t
t.right(-30)
for i in range(2):
t.fd(200)
t.right(60 * (i+1))
for i in range(2):
t.fd(200)
t.right(60 * (i+1))
t.done()
(7)四瓣花图形
import turtle as t
for i in range(4):
t.seth(90 * (i + 1))
#90,180,270,360
t.circle(200,90)
#-90,0,90,180
t.seth(-90 + i * 90)
t.circle(200,90)
(8)四叶草
import turtle
turtle.color("green")
turtle.begin_fill()
for i in range(4):
turtle.right(90)
turtle.circle(50, 180)
turtle.done()
(9)星星图形
import turtle
turtle.pensize("10")
turtle.color("yellow")
turtle.begin_fill()
for i in range(4):
turtle.circle(-90,90)
turtle.right(180)
turtle.done()