学会如何绘制科赫雪花后,来看看另一个有趣的分形——谢尔平斯基三角形,它是以波兰数学家瓦茨瓦夫·谢尔平斯基(Wacław Sierpiński)的名字命名的,其形状如图1.7所示。
图1.7 谢尔平斯基三角形
请尝试使用海龟绘图法绘制谢尔平斯基三角形。可像绘制科赫雪花时那样使用一种递归算法。如果仔细观察图1.7,将发现大三角形可被分成3个小三角形,并在中央形成一个倒三角形孔洞;而每个小三角形本身又能被分成3个更小的三角形,同样在中央形成一个倒三角形孔洞,以此类推。这提供了该如何拆分要使用的递归算法的线索。
这个问题的解决方案可见本书配套源代码中的“/koch/koch.py”。