Python中的绘图模块——turtle库!!(介绍+使用举例)
turtle库
turtle(海龟)是Python内置的一个标准模块,它提供了绘制线、圆以及其它形状的函数,使用该模块可以创建图形窗口,在图形窗口中通过简单重复动作直观地绘制界面与图形。
主要使用方面为:创建窗口、设置画布、绘制图形
创建窗口
图形窗口也称为画布(canas),控制台无法绘制图形,使用turtle模块绘制图形化界面,需要先使用setup()函数创建图形窗口。
turtle.setup(width, height, startx=None, starty=None)
- width是窗口宽度,值为整数时,表示以像素为单位的尺寸
- heigth是窗口高度,值为小数时,表示图形窗口的宽或高与屏幕的比例
- startx是窗口在计算机屏幕上的横坐标
- starty是窗口在计算机屏幕上的纵坐标
startx、starty的取值可以为整数或None; 当取值为整数时,分别表示图形窗口左侧、顶部与屏幕左侧、顶部的距离(单位为像素); 当取值为None时,窗口位于屏幕中心。
设置画笔
画笔(pen)的设置包括画笔属性,如尺寸、颜色的设置,和画笔状态的设置。
1.画笔属性函数
turtle.pensize(<width>) # 设置画笔尺寸
turtle.speed(speed) # 设置画笔移动速度
turtle.color(color) # 设置画笔颜色
- pensize()函数的参数width可以设置画笔绘制出的线条的宽度
- speed()函数的参数speed用于设置画笔移动的速度
- color()函数的参数color用于设置画笔的颜色
2.画笔状态函数
turtle.penup() # 提起画笔
turtle.pendown() # 放下画笔
- turtle模块中为penup()和pendown()函数定义了别名
- penup()函数的别名为pu()
- pendown()函数的别名为pd()。
绘制图形
1.移动控制函数
turtle.forward(distance) # 向前移动
turtle.backward(distance) # 向后移动
turtle.goto(x,y=None) # 移动到指定位置
- 函数forward()和backward()的参数distance用于指定画笔移动的距离,单位为像素
- 函数goto()用于将画笔移动到画布上指定的位置,该函数可以使用x、y分别接收表示目标位置的横坐标和纵坐标,也可以仅接收一个表示坐标向量的参数。
2.角度控制函数
turtle.right(degree) # 向右转动
turtle.left(degree) # 向左转动
turtle.seth(angle) # 转动到某个方向
- 函数right()和left()的参数degree用于指定画笔向右与向左的角度
- 函数seth()的参数angle用于设置画笔在坐标系中的角度
3.绘制函数
turtle.circle(radius, extent=None, steps=None)
- 参数radius用于设置半径
- 参数extent用于设置弧的角度
- radius为正时,画笔以原点为起点向上绘制弧线
- radius为负时,画笔以原点为起点向下绘制弧线
- extent为正时,画笔以原点为起点向右绘制弧线
- extent为负时,画笔以原点为起点向左绘制弧线
4.图形填充
turtle.begin_fill() # 开始填充
turtle.end_fill() # 结束填充
举例:绘制多个起点相同但大小不同的五角星
import turtle as t
def draw_fiveStars(leng):
count = 1
while count <= 5:
t.forward(leng)
t.right(144)
count += 1
leng += 10
if leng <= 100:
draw_fiveStars(leng)
def main():
t.penup()
t.backward(100)
t.pendown()
t.pensize(2)
t.pencolor('red')
segment = 50
draw_fiveStars(segment)
t.exitonclick()
if __name__ == '__main__':
main()
效果图如下: