探索谢尔宾斯基三角形

试试看自己调整参数: : : :

谢尔宾斯基三角形:一个三角形,如何变成无限的三角形世界?

如果给你一个普通的实心三角形:▲,然后问你:如果我们不断从它里面挖掉三角形,最后会得到什么?你可能会觉得:“最后不就是一个越来越小的三角形吗?”

但事实完全不是这样,如果我们按照一个非常简单的规则不断重复:把三角形分成四个相同的小三角形,然后去掉中间那个,你最终得到的并不是一个普通的三角形,而是一种充满孔洞、层层嵌套、无限延伸的奇妙几何图案:谢尔宾斯基三角形。

一切从一个三角形开始

第一步非常简单,我们只有一个实心三角形,这就是整个图案的起点。如果用分形构造的语言来说,它就是最初的 起始图形。现在,没有孔洞,没有复杂结构,没有分形,只有一个普通的三角形。

第一次:把它分成四个三角形

接下来,把这个大三角形的三条边分别取中点,连接这三个中点,原来的大三角形就被分成 4 个完全一样的小三角形,大概是下图这样。最重要的是:中间出现了一个倒置的小三角形。

谢尔宾斯基三角形第一阶

第二次:继续挖

现在问题来了:刚才的规则结束了吗?没有。因为现在我们还有3个小三角形,那么就对这三个三角形分别重复刚才的操作。每个三角形分成四个,再去掉中间那个,于是1个变成3个,再3个变成9个,再变成27个,……

谢尔宾斯基三角形第二阶
谢尔宾斯基三角形第三阶

这就是递归,它的意思非常简单:刚刚做完的事情,再对新的对象做一次。第一次,对大三角形操作。第二次,对剩下的三个小三角形操作。第三次,对剩下的九个更小三角形操作。规则从头到尾都没有改变,始终只有 分成四个,然后去掉中间那个。

一个简单规则,为什么会变得这么复杂?

看看三角形数量:1 → 3 → 9 → 27 → 81 → 243 → ……,每进行一次迭代,三角形的数量就变成原来的3倍,但每个三角形的边长同时变成原来的1/2。于是,图案中的结构越来越多,而每个结构越来越小。最终,你会看到一个大三角形,里面有小三角形,小三角形里面还有更小的三角形,再里面,还有更小的三角形。放大之后,还会继续出现三角形。这就是最有趣的地方。

如果你只看整个图案,你会看到一个巨大的三角形。但如果你放大其中一个角,你又会看到一个类似的三角形结构。继续放大,里面还有。再放大,还有。理论上,这个过程可以无限继续。所以它是一种典型的 自相似结构。

什么叫“自相似”?

听起来很复杂,其实可以简单理解成:整体和局部看起来很像。

谢尔宾斯基三角形就是一个非常经典的例子。整个图案是一个三角形,由三个更小的类似结构组成。每一个小结构又由三个更小的结构组成。继续下去,仍然是同样的基本形状。所以,无论你看到多大的尺度,都能发现类似的结构。这就是分形世界中非常重要的 自相似。

它和普通三角形有什么不同?

普通三角形内部是实心的。无论你放大哪里,最终都是一块连续的实心三角形区域。

而谢尔宾斯基三角形内部充满了空洞,而且这些空洞不是随机产生的,它们一层套一层,大空洞里面还有小空洞,小空洞里面还有更小的空洞。“挖洞”才是它最特别的地方。可以把整个过程想象成你拿着一把非常特殊的数学铲子,第一次,从大三角形中间挖掉一个三角形。第二次,从剩下的三个三角形中间分别挖掉一个。第三次,继续挖。第四次,继续挖。每一次,你使用的铲子都完全一样。唯一变化的是,你挖的地方越来越小。最终,留下的就是 谢尔宾斯基三角形。

无限地挖下去,会发生什么?

这是一个非常有趣的问题。如果我们真的无限次重复这个过程,那么剩下的图形会变得非常特别。

它不再像普通的三角形,而是变成无数个越来越小的点和结构组成的集合。从视觉上看,它仍然非常清晰。但如果从数学角度研究,它拥有一些非常反直觉的性质。

其中一个最著名的就是 分形维数。谢尔宾斯基三角形的分形维数是 log(3) / log(2) ≈ 1.585 ,这意味着,它既不像普通的线那么简单,也不像一个完整的平面区域那么“充满空间”,它处在一个非常有趣的中间状态。不过对于第一次接触分形的人来说,完全不需要理解这个数字,你只需要知道,它的结构介于“线”和“面”之间。

为什么不是 2 维?

虽然谢尔宾斯基三角形看起来还是一个三角形,但它的内部已经被挖去了大量区域。而且,挖掉的部分越来越多。在无限迭代的极限下,它的面积甚至会趋近于 0,但是它的结构却仍然可以无限复杂。这是一件非常反直觉的事情:面积可以越来越接近零,结构却可以越来越复杂。

面积去哪儿了?

我们可以算一下。最开始,面积为100%。第一次挖掉中间的1/4,于是剩下3/4。第二次又从剩余部分中挖掉1/4,于是剩下 3/4 × 3/4。第三次,继续乘:3/4 × 3/4 × 3/4。所以经过 n 次迭代,剩余面积 = (3/4)ⁿ。当 n 越来越大,这个数字越来越接近0。也就是说,如果无限挖下去,最后剩余区域的面积趋近于零。但图案却并没有“消失”,相反,它变得越来越精细。

“大小”和“复杂程度”并不是一回事,这就是分形最迷人的悖论之一。一个东西可以越来越小,但同时可以越来越复杂。甚至,面积趋近于零,却拥有无限层次的结构。这就是分形数学非常迷人的地方。

它并不是随机生成的

第一次看到谢尔宾斯基三角形,有人可能会觉得:“这些黑色和白色的小三角形是不是随机排列的?”完全不是。

每一个空洞的位置,都是由同一个规则决定的。没有随机数,没有人工绘制,也没有复杂的设计图。只有一个规则:分成四个,去掉中间的一个,然后对剩下的继续重复。

只有一个规则。如果把整个过程压缩到最简单:第一步:从一个三角形开始。第二步:把它分成四个相同的小三角形。第三步:去掉中间的一个。第四步:对剩下的三个继续执行相同操作。第五步:重复。就这样。没有更多规则。但是,最终产生了一个无限复杂的图案。

甚至可以用硬币来生成它

谢尔宾斯基三角形还有一个非常有趣的秘密:它和 杨辉三角 有着非常漂亮的联系。如果把杨辉三角中的数字 奇数涂黑,偶数留白,你会发现,一个巨大的谢尔宾斯基三角形会逐渐出现。

sierpinski pascal triangle, Geometry guy at English Wikipedia, CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0>, via Wikimedia Commons

这意味着什么?一开始,杨辉三角看起来是 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ……,只是一些数字。但是,只关心这些数字是奇数还是偶数,竟然会产生 谢尔宾斯基三角形。也就是说,一个看起来完全不同的数学问题,竟然隐藏着同一个分形结构。这也是数学中非常美妙的一件事情:不同领域,看似毫无关系的规则,有时会产生完全相同的结构。

它和谢尔宾斯基地毯有什么不同?

如果你同时看过 谢尔宾斯基三角形 和 谢尔宾斯基地毯,你可能会觉得:“它们看起来不是非常像吗?”确实,它们有一个共同的核心思想:从一个简单的完整图形开始,不断去掉其中的一部分,然后对剩下的部分重复相同的规则,所以它们都属于非常典型的递归分形。

但它们选择的“起始图形”和“挖洞规则”不同,一个从三角形开始,一个从正方形开始,这是最直观的区别。

谢尔宾斯基三角形 从 一个三角形 开始,每一次把三角形分成4个相同的小三角形,然后去掉中间的那个,所以留下3个三角形,然后对这3个继续重复。

谢尔宾斯基地毯 则从 一个正方形 开始,把正方形分成 3 × 3 = 9 个相同的小正方形,然后去掉正中央的那个,于是留下8 个小正方形,再对这 8 个正方形继续重复。

一个在“挖三角形”,一个在“挖正方形”,谢尔宾斯基三角形是 三角形里挖三角形,而谢尔宾斯基地毯是 正方形里挖正方形。虽然听起来非常简单,但这个微小的区别经过不断递归之后,就会产生完全不同的最终图案。

它们的递归方式也不一样。把第一轮到第二轮写出来,就会更加明显。

谢尔宾斯基三角形:1个三角形 → 3个三角形 → 9个三角形 → 27个三角形 → 81个三角形。每一轮 ×3。△ → 三个更小的 △ △ △,所以最终始终保持明显的 三角形结构

谢尔宾斯基地毯:1个正方形 → 8个正方形 → 64个正方形 → 512个正方形 → 4096个正方形。每一轮 ×8。

所以虽然它们都在不断“挖洞”,但三角形每次保留 3 个子区域,而地毯每次保留 8 个子区域。□ → 八个更小的 □ □ □ □ □ □ □,所以最终看起来更像 一块被无数次打孔的数学地毯。

但是,不要把它们理解成两个完全没有关系的分形,它们其实非常接近。它们都遵循 简单图形 → 划分 → 去掉一部分 → 对剩下的部分重复 → 越来越复杂。所以,谢尔宾斯基地毯和谢尔宾斯基三角形,可以看成同一种“递归挖洞”思想在三角形和正方形上的两种实现。

它们为什么看起来如此相似?因为它们都有一个共同的视觉特征:无限的孔洞。谢尔宾斯基三角形是大三角形里有小三角形孔洞,小三角形里还有更小的孔洞。谢尔宾斯基地毯是大正方形里有小正方形孔洞,小正方形里还有更小的孔洞。所以当迭代次数增加之后,两者都会出现 一层套一层的“孔洞世界”。

还有一个有趣的区别,它们的“维度”也不同。

如果想稍微深入一点数学,还可以看看它们的分形维数。谢尔宾斯基三角形每次由1个变为3个,同时每个边长缩小为1/2,因此它的分形维数是:log(3) / log(2) ≈ 1.585。谢尔宾斯基地毯每次由1个变成4个,同时每个边长缩小为1/3,因此它的分形维数是:log(8) / log(3) ≈ 1.893。所以,两者都不是普通的“完整二维图形”,但它们又比一条普通的线更加复杂。

为什么这两个分形值得一起探索?把谢尔宾斯基三角形和谢尔宾斯基地毯对照着看,你会发现一个很有意思的事情:只改变最初的形状和递归规则,最终的世界就完全不同了。三角形,△ → △ → △ → ……,最终形成谢尔宾斯基三角形。正方形,□ → □ → □ → ……,最终形成谢尔宾斯基地毯。这其实也体现了分形非常重要的一个思想:决定最终形态的,不仅仅是“递归”,更是你选择了什么样的基本规则。

它和科赫雪花有什么不同?

如果你最近也探索过 科赫雪花,你会发现它们非常相似。它们都是从简单的图形开始,使用简单的规则,不断递归,最终产生复杂结构。但它们的变化方向完全不同。

谢尔宾斯基三角形 核心是 不断删除。从一个完整的三角形开始,不断把中间部分挖掉,过程是 实心 → 孔洞 → 更多孔洞 → 无限细分。

科赫雪花 核心则是 不断增加。从一个三角形的边开始,不断向边缘增加新的折线,过程是 简单边缘 → 更复杂边缘 → 无限细节

一个在 挖,一个在 长,但它们最后都产生了复杂的分形结构。

它和列维 C 曲线又有什么不同?

列维 C 曲线 不断替换线段。一条线 → 两条线 → 四条线 → 八条线 → ……

谢尔宾斯基三角形 不断删除三角形。一个三角形 → 三个 → 九个 → 二十七个 → ……

所以虽然它们都使用 递归,但生成方式完全不同。

一个三角形里的无限世界

现在回到最开始。

我们只有一个三角形。然后挖掉一个。再挖掉三个。再挖掉九个。再挖掉二十七个。……。

每一步都极其简单。但最终,一个普通的三角形,变成了一个拥有无限层次的几何世界。

你可以不断放大,看到三角形。再放大,三角形。再放大,还是三角形。但每一次,它都处于一个更小的尺度。

谢尔宾斯基三角形 的故事其实非常简单:从一个三角形开始,把它分成四个,去掉中间的一个,对剩下的继续做同样的事情。然后,重复,重复,再重复。最终,一个简单的三角形,变成了一个无限复杂的分形。

它没有复杂的公式,没有随机过程,甚至没有很多规则,只有 一个简单规则。

但当这个规则被重复足够多次,复杂性就出现了。

继续探索分形世界

谢尔宾斯基三角形 是分形世界中非常经典的一种结构。

如果你喜欢这种 简单规则 → 不断重复 → 产生复杂图案,还可以继续探索 科赫雪花,看看一条简单的边缘,如何不断向外增加细节,最终形成无限复杂的雪花。或者 列维 C 曲线,看看一条直线,如何通过一个简单的生成元和递归,逐渐“折叠”成复杂的曲线。或者分形龙,看看一条简单的线,如何经过不断折叠,最终形成神秘的龙形结构。以及 彭罗斯铺砖,看看两种简单的砖,如何按照严格的匹配规则,铺出一个有秩序却永不周期重复的世界。

它们的规则各不相同,但它们共同展示了数学世界中一个非常迷人的现象:简单,并不意味着无聊,一个简单的规则,只要不断重复,就足以创造一个无限复杂的世界。

你还可以继续欣赏更多奇妙的数学图形,或者查看维基百科上更多关于 谢尔宾斯基三角形 的介绍。

想要在每次打开新标签页时都能看到这些精美的数学视觉效果吗?立即安装 Chrome 插件,将“数学盲盒”设为您的新标签页。🚀

了解详情