Hello,各位小伙伴们,本次为大家介绍一个Python中的绘图模块——turtle。turtle(海龟)是Python内置的一个标准模块,它提供了绘制线、圆以及其他形状的函数,使用该模块可以创建图形窗口,在图形窗口中通过简单重复动作直观地绘制界面与图形。
turtle模块的逻辑非常简单,利用该模块内置的函数,用户可以像使用笔在纸上绘图一样在turtle画布上绘制图形。turtle的使用主要分为创建窗口、设置画笔和移动画笔三个方面,例如创建800*600像素的窗口,turtle.setup(800*600)。
画笔(pen)的设置包括画笔属性(如尺寸、颜色)和画笔状态的设置。turtle模块中定义了设置画笔属性和状态的函数,width()函数用于设置画笔尺寸,它的参数width设置画笔绘制出的线条的宽度;speed()函数的参数speed用于设置画笔移动的速度,其取值范围为[0,10]内的整数,数字越大,速度越快;color()函数的参数color用于设置画笔的颜色。
正如在纸上绘制一样,turtle中的画笔分为提起(UP)和放下(DOWN)两种状态。只有画笔为放下状态时,移动画笔,画布上才会留下痕迹。turtle中的画笔默认为放下状态,使用penup()函数可以提起画笔,使用pendown()函数可以放下画笔。
在我们绘制图形的时候,还需要画笔在画布上移动。turtle模块中画笔控制函数主要分为移动控制、角度控制和图形绘制3种。
用于移动控制函数forward()和backward(),他们有相同的参数distance,用于指定画笔移动的距离,单位为像素;用于角度控制函数right()和left(),他们有共同的参数degree,用于指定画笔向右与向左的角度。
除此之外,我们还需要用于图形绘制的circle()函数,使用该函数可绘制以当前坐标为圆心,以指定像素值为半径的圆或弧,函数circle()的参数radius用于设置半径,extent用于设置弧的角度。
下面我们就使用turtle模块绘制一个太极图,代码如下:
from turtle import *
def yin(radius, color1, color2):
width(3) # 设置画笔的宽度
color("black", color1) # 设置画笔颜色
begin_fill() # 执行填充
circle(radius/2., 180) # 绘制半径为radius/2,弧度为180度的线
circle(radius, 180)
left(180) # 向左转动180度
circle(-radius/2., 180)
end_fill()
left(90)
up()
forward(radius*0.35) # 向前移动radius*0.35像素,移动距离根据原图计算得出
right(90)
down()
color(color1, color2)
begin_fill()
circle(radius*0.15)
end_fill() # 结束填充
left(90)
up()
backward(radius*0.35)
down()
left(90)
def main():
reset() # 重置turtle
yin(200, "black", "white")
yin(200, "white", "black")
ht() # 隐藏turtle
return "Done!"
if __name__ == '__main__':
main()
mainloop() # 执行主循环
运行程序,效果如下图所示。
好了,今天给大家介绍Python内置模块Turtle,如果大家有其他想法可以随时给出建议,今天先讲解到这里,希望这篇文章能给大家带来帮助。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。