Python海龟绘图——常用方法指令

海龟绘图很适合用来引导孩子学习编程,通过编写简短的、简单的程序来创建漂亮的、复杂的视觉效果。而且还可以通过跟随海龟观察到每行代码是如何影响到它的移动,可以很好的帮助我们理解代码的逻辑,也是非常适合孩子学习的。

在绘图区有一只海龟,起始位置原点(0,0),先执行import turtle,在执行turtle.forward(15)可以控制海龟朝向x轴正方向前进15像素,即画出一条线段。

通过组合使用一些指令程序,可以绘制出精美的形状和图案。
一、画布
画布就是海龟的绘图区域范围,可以通过指令修改画布的大小和初始位置

turtle.screensize(canvwidth=None,canvheight=None,bg=None)参数:canvwidth:画布的宽度,canvheight:画布的高度,bg:画布的背景
turtle.setup(width=0.5,height=0.75,startx=None,starty=None)width和height:宽和高,整数表示像素,小数表示占据屏幕的比例;startx和starty:表示矩形窗口左上角顶点的位置,为空,则位于屏幕中心。

二、画笔
画笔默认位于画布中心原点x-y(0,0)位置。

import turtle as t
t.forward(150)

默认形状是一个黑色箭头
在这里插入图片描述改变海龟外观:

turtle.shape(name=None)name:一个有效名字的字符串
“arrow”“turtle”
“circle”“square”
“triangle”“classic”
import turtle as t
t.shape("turtle")

在这里插入图片描述海龟是否可见:

turtle.hideturtle()
turtle.showturtle()
turtle.isvisible()
turtle.hideturtle(),turtle.ht()使海龟不可见。当你绘制复杂图形时这是个好主意,因为隐藏海龟可显著加快绘制速度。
turtle.showturtle(),turtle.st(),使海龟可见。
turtle.isvisible(),如果海龟显示返回 True,如果海龟隐藏返回 False。
import turtle as t
t.shape("turtle")
t.circle(100)
t.ht()

在这里插入图片描述海龟移动指令

turtle.forward(distance)turtle.right(angle)
turtle.goto(x,y)turtle.backward(distance)
turtle.left(angle)turtle.setpos(x,y)
turtle.setposition(x,y)turtle.speed(speed)
turtle.forward(distance),turtle.fd(distance)海龟前进 distance 指定的距离,方向为海龟的朝向。
turtle.bk(distance),turtle.backward(distance)海龟后退 distance 指定的距离,方向与海龟的朝向相反。不改变海龟的朝向。
turtle.right(angle),turtle.rt(angle)海龟右转 angle 个单位。
turtle.left(angle),turtle.lt(angle)海龟左转 angle 个单位。
turtle.goto(x, y=None),turtle.setpos(x, y=None),turtle.setposition(x, y=None)海龟移动到一个绝对坐标。如果画笔已落下将会画线。不改变海龟的朝向。
turtle.speed(speed=None)"fastest":  0 最快,"fast":  10 快,"normal":  6 正常,"slow":  3 慢,"slowest":  1 最慢

画笔控制——绘图状态

turtle.pendown()
turtle.penup()
turtle.pensize(width=None)
turtle.pendown()、turtle.pd()、turtle.down()画笔落下 -- 移动时将画线
turtle.penup()、turtle.pu()、turtle.up()画笔抬起 -- 移动时不画线
turtle.pensize(width=None)设置线条的粗细为 width 或返回该值
import turtle as t
# 设置海龟形状和速度
t.shape("turtle")
t.speed()

t.pu() #抬笔
t.setpos(-100,100) #将画笔移动到(-100,100)的位置
t.pd()  #落笔,开始绘制半径为50的圆
t.circle(50)

t.pu()  #抬笔
t.goto(100,100) #将画笔移动到(100,100)的位置
t.pendown()  #落笔,开始绘制半径为50的圆
t.circle(50)

t.penup()  #抬笔
t.setposition(100,-100) #将画笔移动到(100,-100)的位置
t.pendown()  #落笔,开始绘制半径为50的圆
t.circle(50)

t.pu()  #抬笔
t.setpos(-100,-100) #将画笔移动到(-100,-100)的位置
t.pd()  #落笔,开始绘制半径为50的圆
t.circle(50)
t.ht()  #隐藏海龟

在这里插入图片描述在画布的四个不同位置,绘制了4个半径为50的圆
颜色控制和填充

颜色控制填充
color()filling()
pencolor()begin_fill()
fillcolor()end_fill()
turtle.pencolor(colorstring)设置画笔颜色为 colorstring 指定的 Tk 颜色描述字符串,例如 "red"、"yellow" 或 "#33cc8c"
turtle.fillcolor(colorstring)设置填充颜色为 colorstring 指定的 Tk 颜色描述字符串,例如 "red"、"yellow" 或 "#33cc8c"。
turtle.color(colorstring1, colorstring2)设置画笔颜色和填充颜色,相当于 pencolor(colorstring1) 加 fillcolor(colorstring2)
turtle.filling()返回填充状态 (填充为 True,否则为 False)
turtle.begin_fill()在绘制要填充的形状之前调用
turtle.end_fill()填充上次调用 begin_fill() 之后绘制的形状
from turtle import *
# 设置海龟形状和速度
shape("turtle")
speed()
color('red','light blue')  # 设置画笔颜色为red,填充颜色为light blue

begin_fill() # 开始填充
pu() #抬笔
setpos(-100,100) #将画笔移动到(-100,100)的位置
pd()  #落笔,开始绘制半径为50的圆
circle(50)
end_fill() # 结束填充

pu()  #抬笔
goto(100,100) #将画笔移动到(100,100)的位置
pendown()  #落笔,开始绘制半径为50的圆
circle(50)

penup()  #抬笔
setposition(100,-100) #将画笔移动到(100,-100)的位置
pendown()  #落笔,开始绘制半径为50的圆
circle(50)

#修改画笔颜色为blue,填充颜色为orange
pencolor('blue')
fillcolor('orange')

begin_fill() # 开始填充
pu()  #抬笔
setpos(-100,-100) #将画笔移动到(-100,-100)的位置
pd()  #落笔,开始绘制半径为50的圆
circle(50)
end_fill() # 结束填充
ht()  #隐藏海龟

在这里插入图片描述一开始使用color('red','light blue'),设置画笔和填充颜色分别为red和light blue,绘制完第一个圆之后,开始填充。
第二个和第三个圆并没有设置填充颜色,在绘制第四个圆之前,利用

pencolor('blue')
fillcolor('orange')

修改了画笔和填充的颜色。
更改背景颜色

turtle.bgcolor(*args)一个颜色字符串或三个取值范围 0..colormode 内的数值或一个取值范围相同的数值3元组
  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
当然可以!使用Python海龟绘图库可以让我们绘制出皮卡丘的图像。下面是一个简单的示例代码: ```python import turtle as t # 设置画布大小和背景色 t.setup(800, 600) t.bgcolor('yellow') # 绘制皮卡丘的头部 t.penup() t.goto(-100, 100) t.pendown() t.fillcolor('yellow') t.begin_fill() t.circle(100) t.end_fill() # 绘制皮卡丘的眼睛 t.penup() t.goto(-60, 120) t.pendown() t.fillcolor('white') t.begin_fill() t.circle(20) t.end_fill() t.penup() t.goto(-40, 120) t.pendown() t.fillcolor('black') t.begin_fill() t.circle(10) t.end_fill() t.penup() t.goto(-140, 120) t.pendown() t.fillcolor('white') t.begin_fill() t.circle(20) t.end_fill() t.penup() t.goto(-120, 120) t.pendown() t.fillcolor('black') t.begin_fill() t.circle(10) t.end_fill() # 绘制皮卡丘的嘴巴 t.penup() t.goto(-80, 30) t.pendown() t.setheading(-60) t.circle(80, 120) t.fillcolor('black') t.begin_fill() t.circle(80, 120) t.setheading(0) t.circle(80, 120) t.end_fill() # 绘制皮卡丘的脚 t.penup() t.goto(-70, -70) t.pendown() t.setheading(-30) t.forward(80) t.setheading(0) t.forward(40) t.setheading(90) t.fillcolor('black') t.begin_fill() t.circle(40, 180) t.end_fill() t.setheading(180) t.forward(40) t.setheading(-90) t.circle(40, 180) t.setheading(-60) t.forward(80) # 绘制皮卡丘的手臂 t.penup() t.goto(30, -70) t.pendown() t.setheading(-30) t.forward(80) t.setheading(0) t.forward(40) t.setheading(90) t.fillcolor('black') t.begin_fill() t.circle(40, 180) t.end_fill() t.setheading(180) t.forward(40) t.setheading(-90) t.circle(40, 180) t.setheading(-60) t.forward(80) # 隐藏画笔 t.hideturtle() # 完成绘制 t.done() ``` 运行以上代码,即可在窗口看到绘制出的皮卡丘图像。你也可以根据需要调整代码的坐标和尺寸来绘制更精确的图像。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值