海龟绘图(turtle)是python的一个有趣的内置模块,是python语言的标准库之一,是入门级的图形绘制函数库。
turtle通过一组函数控制画笔的行进动作,进而绘制形状,这些函数命令分别是:画笔控制方法、方向控制方法和全局控制方法。
一、画笔控制方法
抬笔 | penup()、pu()、up() | 画笔抬起,移动时不绘制图形 |
落笔 | pendown()、pd()、down() | 画笔落下,移动时绘制图形,缺省时也为画笔落下 |
定位 | goto(x,y)、setpos(x,y)、setposition(x,y) | 将画笔移动到坐标为x,y的位置由当前坐标前往指定坐标,这里使用绝对坐标,但画笔方向不会改变 |
二、方向控制方法
前进 | forward(s)、 fd(s) | 海龟前进s指定的距离,方向为海龟的朝向。 |
后退 | backward(s)、bk(s)、back(s) | 海龟后退s指定的距离,方向与海龟的朝向相反。不改变海龟的朝向。 |
改变 方向 | setheading (angle)、 seth(angle) | 以绝对角度改变方向 |
左转 | left(angle)、 lt(angle) | 海龟左转 angle 个单位。(单位默认为角度,但可通过 degrees() 和 radians() 函数改变设置。) |
右转 | right(angle)、 rt(angle) | 海龟右转 angle 个单位。(单位默认为角度,但可通过 degrees() 和 radians() 函数改变设置。) |
画圆 | circle(r,angle) | 以画笔(海龟)左侧为圆心,半径为r像素,画angle度的圆形。注意:海龟方向同时发生angle度变化 |
画圆 画弧 | circle(radius, extent=None, steps=None) | 绘制一个 radius 指定半径的圆。圆心在海龟左边 radius 个单位;extent 为一个夹角,用来决定绘制圆的一部分。如未指定 extent则绘制整个圆。如果extent 不是完整圆周,则以当前画笔位置为一个端点绘制圆弧。如果 radius 为正值则朝逆时针方向绘制圆弧,否则朝顺时针方向。最终海龟的朝向会依据 extent 的值而改变。 |
三、 全局控制方法
清空 | clear() | 清空窗口,但是turtle的位置和状态不会改变 |
重置 | reset() | 清空窗口,重置turtle状态为起始状态 |
撤消 | undo() | 撤消 (或连续撤消) 最近的一个 (或多个) 海龟动作。可撤消的次数由撤消缓冲区的大小决定。 |
印章 | stamp() | 在海龟当前位置印制一个海龟形状。返回该印章的 stamp_id,印章可以通过调用 clearstamp(stamp_id) 来删除。 |
文本 | write(arg, move, align="left", font=("fonnt-ame",font-size,"font-type")) | 写文本,arg为文本内容,moveo 可选参数,用于指定是否移动画笔到文本的右下角,默认为False (不移动)。 align:可选参数,用于指定文字的对齐方式,其参数值为left(居左)、center(居中)或者right(居右)中的任意一个,默认为left。 font:可选参数,用于指定字体、字号和字形,通过一个三元组(字体,字号,字形)指定 |
停止 | done() | 暂停程序,停止画笔绘制, 等待用户操作,窗口不自动关闭。是海龟绘图程序中的最后一个语句。 |
四、其他的一些特殊方法
更多函数可以通过官方文档查看:https://docs.python.org/3/library/turtle.html