一、初步认识turtle库
turtle 库是 Python 语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横 轴为 x、纵轴为 y 的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面 坐标系中移动,从而在它爬行的路径上绘制了图形。
使用 turtle 库的函数之前,需要通过以下代码引用这个函数库:
import turtle 或 from turtle import *
turtle 库中常用的绘图函数,参见表 1- 1 turtle 库常用函数用法描述。
表 1- 1 turtle 库常用函数用法描述
二、画布(canvas)
画布是turtle 库为我们展开用于绘图区域,我们可以设置画布的大小。
原型:
turtle.screensize(canvwidth=None,canvheight=None,bg=None)
- 功能:设置画布的大小和背景颜色
- 参数:canvwidth为正整型数,以像素为单位表示画布的宽度,canvheight 为正整型数,以像素为单位表示画布的高度,bg 为颜色字符串或颜色元组,用来设置背景颜色。
- 当画布设置中没有参数,即,turtle.screensize() 时,默认设置宽度为400,高度为300,背景颜色为白色的画布。
如果我们想要设置画布在屏幕中的初始位置,则需要使用下列代码:
turtle.setup(width,height,startx,starty)
- 功能:设置画布在屏幕中的初始位置,以及画面大小
- 参数:width,如为一个整型数值,表示大小为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 50%;height,如为一个整型数值,表示高度为多少像素,如为一个浮点数值,则表示屏幕的占比;默认为屏幕的 75%;startx ,如为正值,表示初始位置距离屏幕左边缘多少像素,负值表示距离右边缘,None 表示窗口水平居中 ;starty ,如为正值,表示初始位置距离屏幕上边缘多少像素,负值表示距离下边缘,None 表示窗口垂直居中
三、画笔 (pen)
空间坐标体系
默认状态下小小乌龟初始位置为画布的中心,也即原点,绝对坐标为(0,0)。
在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝 x 轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝 x 轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。
pencolor(colorstring)
- 功能:设置画笔颜色为 colorstring 指定的 Tk 颜色描述字符串。
- 参数:colorstring为描述颜色的字符串,如"green"、"red"或"#33cc8c"之类。
pencolor(r, g, b)
- 功能:利用红、蓝、黄,三原色自主调制想要的颜色。设置画笔颜色为以 r, g, b 元组表示的 RGB 颜色。
- 参数:r,g,b 表示,红、蓝、黄,三原色。r,g,b 中的每一个都必须在0…colormode范围内。其中colormode是1.0或255(参见参考资料colormode())。
颜色有三种表示方法:颜色的英语单词、十六进制颜色值、颜色的RGB值。
表 1- 2 turtle 库关于画笔的常用函数
turtle.circle(radius, extent=None, steps=None)
- 功能:画圆
- 参数:radius ,表示圆的半径;extent ,一个数值 (或 None):extent 为一个夹角,用来决定绘制圆的一部分。steps 为 整型数 (或 None):做半径为radius的圆的内切正多边形,多边形边数为steps
角度坐标体系
以海龟为中心,顺时针方向一周为 0 ~ -360°,逆时针方向一周为 0 ~ 360°。
turtle.seth(angle)
- 功能:表示小乌龟启动时运动的方向。
- 参数:angle 表示角度值,0°表示向 x 轴正方向,180°表示 x 轴的负方向,90°表示 y 轴正方向,270°表示 y 轴负方向,负值表示相反方向 。