当前位置:首页>python>Python教程(23)turtle库综合案例:绘制太极图

Python教程(23)turtle库综合案例:绘制太极图

  • 2026-10-11 05:38:20
Python教程(23)turtle库综合案例:绘制太极图

你好,我是雨霖八珞,同名B站UP主。关注合集不迷路。以下内容为个人教学,真诚分享,欢迎交流。

可能是到了一定的年岁,对中国传统文化以及老祖宗的智慧越发感兴趣,今晚和一个老友聊天的时候,突然觉得每个家庭都是阴阳平衡的过程,对方让你越看不上的点,可能也是你越需要的点。

所以,突然想用海龟库做一个太极图。


太极图长什么样子

太极图是中国传统文化中最具代表性的符号之一,黑白两条鱼首尾相衔,你中有我,我中有你。

观察太极图由以下几个部分组成:

  • 左边黑色部分

  • 右边白色部分

  • 上侧白色小圆点

  • 下侧黑色小圆点

分析怎么画:

白色小圆点和黑色小圆点比较好画,先定位,然后用turtle.circle(r)画圆

难点是左边黑色部分和右边白色部分,因为有曲线,有弧度,不好画

我用不同的颜色标注,看出了没有,左边黑色部分的轮廓其实是由三个半圆组成:

  • 先是红色半圆,顺时针画

  • 然后是绿色半圆,顺时针画

  • 最后是蓝色半圆,逆时针画

三个半圆首尾相连,画出一个封闭区域,填充成黑色,就是左边黑色部分了。

左边的黑色部分画出来后,右边的白色部分就好画了,也是一个半圆(红线所示),补全整个外框。

分析到现在,是不是重点就是画半圆?画不同方向(顺时针、逆时针)的半圆?

怎么画半圆

一、先来看怎么画圆。

格式:turtle.circle(r)

作用:以当前位置为起点,逆时针画出一个半径为r的圆。

这段代码可以在海龟当前位置,逆时针画出一个半径为50像素的圆。

如果半径为负数,则可以顺时针画圆

这段代码可以在海龟当前位置,顺时针画出一个半径为50像素的圆。

二、怎么画半圆

格式:turtle.circle(r,extent)

作用:以当前位置为起点,逆时针画出一个半径为r,圆心角为extent的圆。如果省略angle,就是画整圆了。

所以,关键点就是:

  • 半径控制圆的大小

  • 半径的正负号控制画圆(弧)的方向。(正数逆时针,负数顺时针)

  • 圆心角控制着画圆的多少

现在再来看左下图的三个半圆,是不是能用这三个语句来实现了?

但如果你运行后,其实会出现右下图的结果。

为什么呢?

问题所在:小海龟的初始方向不对

小海龟的默认位置是在窗口正中心,默认方向是水平向右

如下图所示

小海龟在绘制图形之前需要:

  • 移动到坐标位置(0,-200)

  • 方向转到水平向右

开始绘制太极图

程序代码如下

程序运行效果如下:

本篇文章的完整代码比较长,提供下载。

可以关注公众号,在后台回复关键词:太极图,即可获取下载链接。

本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。

觉得不错的话,伙伴们记得关注、转发和点赞哈!

最新文章

随机文章