前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用Python画太极图?

如何用Python画太极图?

原创
作者头像
用户8639654
修改2021-07-15 18:01:18
1.7K0
修改2021-07-15 18:01:18
举报
文章被收录于专栏:云计算运维云计算运维

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模块绘制一个太极图,代码如下:

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
灰盒安全测试
腾讯知识图谱(Tencent Knowledge Graph,TKG)是一个集成图数据库、图计算引擎和图可视化分析的一站式平台。支持抽取和融合异构数据,支持千亿级节点关系的存储和计算,支持规则匹配、机器学习、图嵌入等图数据挖掘算法,拥有丰富的图数据渲染和展现的可视化方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档