Turtle模块(后续统称海龟绘图)是Python中除了GUI编程中绘图组件之外的另一绘图模块,适合用来引导孩子学习编程。其它编程语言中的画图程序及Python的GUI编程中的绘图组件中的绘图大部分是在程序运行的一瞬间就把完整图形绘制出来,而海龟绘图的绘图程序运行时,图形是逐步画出来的,像极了一个人拿着画笔在屏幕中一笔一划地画画。海龟绘图的程序运行效果如下图所示(程序来自参考文献1中的示例程序):
Python3中默认自带了turtle模块,不需要单独安装。Python3安装完成后还附带有一组turtle示例程序,在命令行中运行python -m turtledemo命令即可弹出示例演示程序,既显示源码,又可以查看程序运行效果,如下图所示:
turtle模块支持面向对象和面向过程两种形式的海龟绘图基本组件。面向对象的海龟绘图主要使用
TurtleScreen 类、RawTurtle等,而面向过程的海龟绘图提供与 Screen 和 Turtle 类的方法相对应的函数。如果是串行绘图,则使用面向过程的海龟绘图即可,而要是并行绘图,则必须使用面向对象的海龟绘图。
海龟绘图中的模式不同,默认海龟的绘图朝向不同,模式包括standard、logo或world三种,默认模式为standard。world模式的详细介绍在参考文献1中没有看到,其它两种方式下的主要不同见下面的截图。
turtle模块的默认坐标系为空间坐标系(调用seth可以切换为角度坐标系),绘图原点在绘图窗口中间,关于坐标系的详细介绍可见参考文献3。本文编写了简单的绘制及显示原点到特定坐标点的程序,程序及运行效果如下所示。从图中可以直观地看出turtle绘图时的坐标系位置。
from turtle import *
hideturtle()
print(mode())
goto(0,0)
forward(100)
write('100,0')
print(position())
goto(0,0)
backward(100)
write('-100,0',align='right')
print(position())
goto(0,0)
left(90)
forward(100)
write('0,100')
print(position())
goto(0,0)
right(180)
forward(100)
write('0,-100')
print(position())
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
本文介绍turtle模块的基本概念,后续继续学习turtle模块的函数及用法,同时csdn的python版块有很多用turtle绘图的文章,也能参照学习turtle模块的用法。
参考文献:
[1]https://docs.python.org/zh-cn/3/library/turtle.html
[2]https://baike.baidu.com/item/turtle/50354923?fr=aladdin
[3]https://blog.csdn.net/m0_64605311/article/details/125343315