前端开发入门到精通的在线学习网站

网站首页 > 资源文章 正文

如何用Python画太极图?(turtle画太极)

qiguaw 2024-10-17 12:27:50 资源文章 25 ℃ 0 评论

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,如果大家有其他想法可以随时给出建议,今天先讲解到这里,希望这篇文章能给大家带来帮助。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表