一、绘图命令
操纵海龟绘图有很多命令,可以划分为三种:画笔运动命令、画笔控制命令、全局控制命令
画笔运动命令
命令 说明 turtle.forward(distance) 向当前画笔方向移动distance像素长度 turtle.backward(distance) 向当前画笔相反方向移动distance像素长度 turtle.right(degree) 顺时针移动degree° turtle.left(degree) 逆时针移动degree° turtle.pendown() 移动时绘制图形,缺少参数时也为绘制 turtle.goto(x,y) 将画笔移动到坐标为(x,y)的位置 turtle.penup() 提起画笔,不绘制图形,用于另起一个地方绘制 turtle.circle() 画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 setx() 将当前x轴移动到指定位置 sety() 将当前y轴移动到指定位置 setheading(angle) 设置当前朝向为angle的角度 home() 设置当前画笔位置为原点,朝向向东 °
画笔控制命令
命令 说明 turtle.fillcolor(colorstring) 绘制图形填充颜色 turtle.color(color1, color2) 同时设置 pencolor = color1,fillcolor = color2 turtle.filling() 返回当前是否在填充状态 turtle.begin_fill() 准备开始填充图形 turtle.end_fill() 填充完成 turtle.hideturtle() 隐藏画笔的turtle形状 turtle.showturtle() 显示画笔的turtle形状
全局控制命令
命令 说明 turtle.clear() 清空turtle窗口,但是turtle的位置和状态不会发生变化 turtle.reset() 清空窗口,重置turtle状态为起始状态 turtle.undo() 撤销上一个turtle动作 turtle.isvisible() 返回当前turtle是否可见 stamp() 复制当前图形 turtle.write(s[,font = ("font_name",font_size,"font_type")]) 写文本,s为文本内容,font是字体参数,分别是字体名称,字体大小和类型,font和font的参数都是可选选项
案例
案例一
- 熟悉turtle坐标体系
# 导入 turtle 模块
import turtle as t
t.goto(100,100)
t.goto(100,-100)
t.goto(-100,-100)
t.goto(-100,100)
t.goto(0,0)
t.done()
案例二
- 画笔自动绘图
# 用for循环初步实现画笔自动绘图
import turtle as t
for i in range(20):
# 画笔向前移动
t.forward(100 + 10 * i)
# 顺时针旋转120°
t.right(120)
t.done()
案例三
- 显示画笔运动印记
# 用for循环初步实现画笔自动绘图并显示其印记
import turtle as t
for i in range(20):
# 画笔向前移动
t.forward(100 + 10 * i)
#t.shape("turtle") # 海龟
#t.shape("circle") # 圆
t.shape("square") # 正方形
# 打印turtle印记
t.stamp()
# 顺时针旋转60°
t.right(60)
t.done()
案例四
- 画笔及填充控制
# 绘制金光闪闪的太阳
import turtle as t
# 为小数时表示占据电脑屏幕的比例
t.setup(width = 0.6, height = 0.6)
# t.pencolor("red")
t.color("red", "yellow")
t.begin_fill()
# 控制绘图时间
t.speed(20)
while True:
t.forward(200)
t.left(170)
# print(t.pos())
if abs(t.pos()) < 1:
break
t.end_fill()
t.write("一颗金光闪闪的太阳", align = "right", font = ("Arial", 20, "normal"))
t.done()
案例五
- 画圆形类的图
# 粉色的爱心
import turtle as t
t.setup(800,800)
t.speed(8)
# 设置画笔大小
t.pensize(10)
t.hideturtle()
t.pencolor("pink")
t.left(45)
t.forward(80)
t.circle(35,210)
t.right(150)
t.circle(35,210)
t.forward(80)
t.done()
Original: https://www.cnblogs.com/L-hua/p/15412536.html
Author: L-L
Title: python-turtle绘图