Python海龟绘图(Turtle Graphics)核心函数和关键要点

以下是Python海龟绘图(Turtle Graphics)的核心函数和关键要点整理:


一、画布设置

函数/方法 说明 参数说明 备注
turtle.setup(width, height, x, y) 设置画布尺寸和位置 width=宽度,height=高度,x/y=窗口左上角坐标 默认尺寸800x600,默认居中(x=0, y=0)
turtle.clear() 清除画布内容 - 仅清除图像,保留画笔属性
turtle.reset() 重置画布和画笔 - 恢复默认属性(位置、颜色、方向等)
turtle.home() 返回原点(0,0) - 方向恢复为向右(东方向)

二、画笔设置

函数/方法 说明 参数说明 备注
turtle.pensize(n)turtle.width(n) 设置画笔粗细 n=像素值 默认1
turtle.pencolor(color) 设置画笔颜色 color=颜色名或RGB元组 "red"(255,0,0)(需colormode(255)
turtle.color(p_color, f_color) 同时设置画笔和填充颜色 p_color=画笔颜色,f_color=填充颜色 单参数时统一设置
turtle.fillcolor(color) 设置填充颜色 color=颜色名或RGB值 需配合begin_fill()/end_fill()
turtle.begin_fill() 开始填充 - 在图形绘制前调用
turtle.end_fill() 结束填充 - 闭合图形自动填充
turtle.speed(n) 设置画笔速度 n=0(最快) 或 1(最慢)~10(最快) 0表示无动画

三、画笔运动

函数/方法 说明 参数说明 备注
turtle.forward(d)turtle.fd(d) 向前移动 d=像素距离 方向由当前角度决定
turtle.backward(d)turtle.bk(d) 向后移动 d=像素距离 -
turtle.left(angle)turtle.lt(angle) 左转角度 angle=角度值(度数) 逆时针旋转
turtle.right(angle)turtle.rt(angle) 右转角度 angle=角度值 顺时针旋转
turtle.goto(x, y) 移动到绝对坐标 x=横坐标,y=纵坐标 画线除非penup()
turtle.setheading(angle)turtle.seth(angle) 设置绝对方向 angle=角度(0=东,90=北,180=西,270=南) -
turtle.hideturtle()turtle.ht() 隐藏海龟图标 - 提升绘制速度
turtle.showturtle()turtle.st() 显示海龟图标 - -
turtle.pendown()turtle.down() 落笔(绘制轨迹) - 默认状态
turtle.penup()turtle.up() 抬笔(移动无轨迹) - -

关键注意事项

  1. 坐标系 :画布中心为(0,0),向右为X轴正方向,向上为Y轴正方向。
  2. 颜色模式 :使用RGB值时需先调用 turtle.colormode(255)
  3. 填充规则begin_fill()end_fill()之间的图形需为闭合路径。
  4. 方向系统:角度按标准数学坐标系(0度指向右侧,逆时针增加)。

示例代码(绘制红色五角星)

python 复制代码
import turtle as t

t.setup(600, 400)  # 设置画布大小
t.color("red")      # 画笔和填充色设为红色
t.begin_fill()      # 开始填充
for _ in range(5):  # 绘制五角星
    t.fd(100)
    t.rt(144)
t.end_fill()        # 结束填充
t.hideturtle()      # 隐藏海龟
t.done()            # 结束绘制

掌握这些函数即可实现基础图形绘制!

相关推荐
seasonsyy6 分钟前
1.安装anaconda详细步骤(含安装截图)
python·深度学习·环境配置
Edingbrugh.南空23 分钟前
Aerospike与Redis深度对比:从架构到性能的全方位解析
java·开发语言·spring
半新半旧25 分钟前
python 整合使用 Redis
redis·python·bootstrap
Blossom.1181 小时前
基于深度学习的图像分类:使用Capsule Networks实现高效分类
人工智能·python·深度学习·神经网络·机器学习·分类·数据挖掘
CodeCraft Studio1 小时前
借助Aspose.HTML控件,在 Python 中将 HTML 转换为 Markdown
开发语言·python·html·markdown·aspose·html转markdown·asposel.html
QQ_4376643141 小时前
C++11 右值引用 Lambda 表达式
java·开发语言·c++
aramae1 小时前
大话数据结构之<队列>
c语言·开发语言·数据结构·算法
悠哉悠哉愿意1 小时前
【电赛学习笔记】MaxiCAM 项目实践——与单片机的串口通信
笔记·python·单片机·嵌入式硬件·学习·视觉检测
封奚泽优1 小时前
使用Python实现单词记忆软件
开发语言·python·random·qpushbutton·qtwidgets·qtcore·qtgui
Goona_2 小时前
拒绝SQL恐惧:用Python+pyqt打造任意Excel数据库查询系统
数据库·python·sql·excel·pyqt