

分析上图,忽略小圆就能发现太极图就是由四个半圆组成,大圆是左边白色半圆和右边黑色半圆,接下来的两个较小的半圆,黑色在左上,白色在右下方。最后补上刚才忽略的两个小圆,用两对半圆组成中间的黑白小圆。因为为了程序的复用性更好,我们只自定义了画半圆的积木。
以下就是绘制太极图的分解画法步骤图,绘制太极图的基本步骤被我们分解成重复绘制出八个半径不同的黑白半圆。
由于Scratch没有填充积木,给绘制实心图案带来不少麻烦,我们可以通过技巧利用现有规则绘制实心图案。比如绘制实心长方形、实心圆或半圆、实心五角星、实心正多边形等。我们现在只需要绘制实心半圆,其他图形可以参考这种画法执行。

参考圆的定义,即到圆心的距离等于半径的方法来绘制。首先将画笔移到圆心,抬笔移动“半径”步,落笔画一个点,马上抬笔,再回到圆心(后退“半径”步)后旋转1度。如果想绘制一整个圆就循环旋转360次;如果想绘制半个圆就是循环旋转180次。
当然让画面效果更好,我们可以增加画线密度,把旋转的角度缩小一点,比如每次旋转0.2度,那么对应的循环次数便要增加到:整个圓需循环1800次,半圆要循环900次。

由于太极图有黑白两个颜色,并且圆心位置、半径的长度都不相同,普通的绘制速度比较慢,可以选择自定义积木来提升速度,并且在自定义积木中勾选运行时不刷新屏幕。绘制太极图需要注意圆心的位置和半径的大小,大圆的圆心我设定为(0,0);半径为150;半圆的圆心为上下(0,75)和(0,-75),半径为75;小圆的圆心为上下(0,75)和(0,-75),半径为20。在绘制太极图的过程中需要进行颜色的变化,当变量color的颜色为1时,落笔的颜色为黑色。当变量color的颜色为0时,落笔的颜色为白色,并且增加黑色的描边。

太极图生动形象地揭示了宇宙构成的奥秘:阴阳对立而又统一,相应而又合抱。我们要特别注意,太极图中心阴阳鱼的S曲线,是一分为二的阴阳双方彼此依存、制约、消长、转化的动态展现。通过编程我们不仅学会了如何绘制太极图,还学到了很多关于太极的哲学知识。