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

可能是到了一定的年岁,对中国传统文化以及老祖宗的智慧越发感兴趣,今晚和一个老友聊天的时候,突然觉得每个家庭都是阴阳平衡的过程,对方让你越看不上的点,可能也是你越需要的点。
所以,突然想用海龟库做一个太极图。
太极图是中国传统文化中最具代表性的符号之一,黑白两条鱼首尾相衔,你中有我,我中有你。
观察太极图由以下几个部分组成:
左边黑色部分
右边白色部分
上侧白色小圆点
下侧黑色小圆点
分析怎么画:
白色小圆点和黑色小圆点比较好画,先定位,然后用turtle.circle(r)画圆
难点是左边黑色部分和右边白色部分,因为有曲线,有弧度,不好画
我用不同的颜色标注,看出了没有,左边黑色部分的轮廓其实是由三个半圆组成:
先是红色半圆,顺时针画
然后是绿色半圆,顺时针画
最后是蓝色半圆,逆时针画
三个半圆首尾相连,画出一个封闭区域,填充成黑色,就是左边黑色部分了。
左边的黑色部分画出来后,右边的白色部分就好画了,也是一个半圆(红线所示),补全整个外框。
分析到现在,是不是重点就是画半圆?画不同方向(顺时针、逆时针)的半圆?
一、先来看怎么画圆。
格式:turtle.circle(r)
作用:以当前位置为起点,逆时针画出一个半径为r的圆。
这段代码可以在海龟当前位置,逆时针画出一个半径为50像素的圆。
如果半径为负数,则可以顺时针画圆
这段代码可以在海龟当前位置,顺时针画出一个半径为50像素的圆。
二、怎么画半圆
格式:turtle.circle(r,extent)
作用:以当前位置为起点,逆时针画出一个半径为r,圆心角为extent的圆。如果省略angle,就是画整圆了。
所以,关键点就是:
现在再来看左下图的三个半圆,是不是能用这三个语句来实现了?
但如果你运行后,其实会出现右下图的结果。
为什么呢?
问题所在:小海龟的初始方向不对
小海龟的默认位置是在窗口正中心,默认方向是水平向右
如下图所示
小海龟在绘制图形之前需要:
程序代码如下
程序运行效果如下:
本篇文章的完整代码比较长,提供下载。
可以关注公众号,在后台回复关键词:太极图,即可获取下载链接。
本公众号内容均为原创。如需转载或引用,请先联系我。谢谢你的尊重。
觉得不错的话,伙伴们记得关注、转发和点赞哈!