探索科赫雪花
科赫雪花:一片永远不会结束的数学雪花
你见过雪花吗?真正的雪花,每一片都可能有完全不同的形状。
但如果我们让数学家来设计一片雪花,也许不需要复杂的规则。只需要 一个三角形。然后,在它的每一条边上,加上一个小小的三角形。再对新出现的每一条边,重复同样的操作,再重复,再重复,……
最终,一个普通的三角形,会慢慢变成一片越来越复杂的“雪花”。这就是 科赫雪花。
一切从一个三角形开始
科赫雪花 的起点非常简单。画一个 等边三角形,就这样。这就是 第 0 阶。没有复杂的边缘,没有细小的结构,只有一个普通的三角形。
第一步:给每条边加一个小三角形。
现在,我们对三角形的一条边做一件简单的事情。先把这条边分成三段,然后把中间那一段拿掉,换成两条斜线,形成一个向外凸起的小三角形。于是,原本的一条直线 ──────── 变成 ──╱╲──,边缘突然多了一个小小的尖角。
把同样的事情做三次。刚才我们只处理了一条边,但是三角形有三条边。所以,每一条边,都做同样的操作。于是,一个简单的三角形,变成了一个边缘带有三个小尖角的图形。看起来已经开始像雪花了。
第二次,我们更加“疯狂”一点
现在,不要停下来。刚才产生了很多新的线段,我们对每一条新线段,再次执行完全相同的规则。还是三等分,去掉中间一段,加上一个小三角形。没有新的规则,没有更复杂的公式,只是 重复刚才做过的事情。
雪花开始变得越来越复杂。
第一次,只有几个尖角。第二次,尖角更多。第三次,每个尖角上又长出新的尖角。第四次,更多。第五次,更多。……
你会发现,每一个细节,都可以继续产生新的细节。这就是分形最迷人的地方。
一个规则,从头到尾都没有改变。
仔细观察一下,我们其实从来没有改变规则。始终只有把线段分成三份,拿掉中间的一份,在那里加一个小三角形。然后,对所有新的线段重复。就这么简单。但是重复几十次以后,最终得到的图形已经和最开始的三角形完全不同。这就是 简单规则创造复杂结构。
为什么它叫“雪花”?
经过几次迭代以后,三角形的轮廓开始出现:大量向外突出的尖角。整个图形看起来越来越像一片雪花。所以它被称为 科赫雪花,而组成雪花边界的那条曲线,叫做 科赫曲线。换句话说,科赫曲线 是生成规则,科赫雪花 是把这种曲线放到三角形三条边上以后得到的整体图形。
现在你可能已经发现,科赫雪花 的边缘非常特别。你放大它,会看到更多的小尖角。再放大,又会看到更多的小尖角。继续放大,仍然可以发现新的结构。
理论上,这个过程可以一直继续下去。所以它具有典型的 无限递归结构。这就是它成为经典分形的原因。
你可以把科赫雪花想象成一台永不停歇的“造雪机器”,它的工作规则只有一句话:“每一条线段,都长出一个小三角形。
机器启动。第一轮,长出一些。第二轮,新产生的线段继续长。第三轮,继续长。第四轮,继续长。……
机器永远不会停止。于是,雪花也永远不会真正完成。我们在屏幕上看到的,只是它某一个阶段的结果。
无限长的边界和有限大的面积
最神奇的问题来了。
现在想象一下,我们不断给雪花增加新的细节,那么,它的边界会越来越长。这很好理解。因为每次我们都在边缘增加新的折线。
但接下来会发生一件非常奇怪的事情:边界可以无限增长,可是,雪花本身占据的面积,却不会无限增长。这听起来是不是很奇怪?
先看看一条边。假设最开始,一条边长为 1。第一次操作以后,原来的一条线变成了 4 段长度为 1/3 的线,所以新的总长度:4 × 1/3 = 4/3,也就是 1.333……。第二次,每一段又变成四段,所以长度再次乘以 4/3,于是,1 → 4/3 → 16/9 → 64/27 → ……每一轮都比上一轮更长。不断进行下去,周长会无限增加。
可是它并没有无限变大,这就是科赫雪花最漂亮的数学悖论之一。
虽然边界越来越长,但这些新增的三角形越来越小。第一次,增加一个比较大的三角形,第二次,增加很多更小的三角形。第三次,增加更多更小的三角形。每一次新增的面积都越来越小。所以,所有这些越来越小的三角形加起来,面积最终会趋向一个有限的值。换句话说:边界无限长,但是 内部面积有限。
可以把它想象成一条越来越曲折的围墙。如果围墙越来越曲折,它的长度可以不断增加。但只要这些曲折全部发生在一个有限大小的区域里,它围起来的土地仍然可以保持有限。科赫雪花就是一个非常极端的数学例子:围墙可以无限长,而围起来的土地却是有限的。这也是为什么它经常被用来展示:数学直觉并不总是可靠。
它和普通雪花有什么关系?
科赫雪花当然不是自然界真正形成的雪花。它是一种数学构造。
真正的雪花形成过程涉及水分子、温度、湿度、晶体生长、空气环境等等复杂因素。
科赫雪花只是因为它的尖角结构和六角形雪花的视觉印象,被称为 雪花。
所以不要把它理解成:“数学家发现了真正的雪花生长公式。”,更准确的说法是:数学家创造了一个具有雪花般视觉特征的分形图形。
科赫雪花 和 分形龙 有什么区别?
如果你已经看过 分形龙,那么这两个作品其实非常适合放在一起比较。
分形龙 从一条线开始,通过折叠与递归,不断产生复杂结构,最终形成复杂的曲线。
科赫雪花 从一个三角形开始,通过给每条边增加小三角形,不断产生复杂结构,最终形成雪花状图形。
所以,分形龙 更像是在“折叠一条线,而 科赫雪花 更像是在“让一条边不断长出新的尖角”。
它们都在告诉我们:重复一个非常简单的规则,复杂性就会自己出现。
科赫雪花 和 希尔伯特曲线 又有什么区别?
这两个也很容易被放在一起,因为它们都是递归曲线,但它们想回答的问题完全不同。
科赫雪花重点是:边界可以变得多么复杂?不断增加细节,让雪花的边缘越来越曲折。
希尔伯特曲线 重点是:一条连续的线可以怎样填充空间?不断弯折,让曲线越来越密,最终覆盖整个二维区域。
所以,科赫雪花是 无限复杂的边界,而 希尔伯特曲线 是 无限细密的路径。
一个三角形,为什么会这么复杂?
这就是 科赫雪花 最值得思考的地方。我们没有给它复杂的人工智能,没有让它学习雪花,也没有给它一张真正的雪花照片。我们只给了它一个规则:把一条边分成三份,中间长出一个小三角形。然后,重复。一次,两次,三次,一百次。理论上:无限次。结果却从 三角形 变成了 雪花。
这就是分形的魅力
分形并不一定意味着复杂的公式。很多时候,分形恰恰来自 非常简单的规则。真正神奇的是,规则很简单,但是重复的次数可以无限。于是,简单 × 无限重复 = 惊人的复杂性。科赫雪花就是这个思想最漂亮的例子之一。
现在再回头看最开始的三角形。它非常普通。但我们只做了一件事情:让每一条边长出一个小三角形,然后,重复。于是,三角形有了尖角,尖角又有尖角,尖角继续产生尖角。……最终,一个普通的三角形,变成了一片没有尽头的数学雪花。而它还告诉我们一个更加反直觉的事实:它的边界可以无限长,但它所占据的面积却是有限的。
这就是 科赫雪花 最迷人的地方。
继续探索无限微观
科赫雪花 是分形世界中非常经典的一种作品。
如果你喜欢这种 简单规则不断重复,最终产生复杂结构 的数学图形,还可以继续探索 曼德博集合,看看一个简单的复数迭代,如何产生无限复杂的边界。或者 朱利亚集合,看看改变一个参数,如何创造出完全不同的分形世界。或者分形龙,看看一条简单的线,如何通过不断折叠,最终变成复杂的分形结构。以及 阿波罗尼奥斯圆填充,看看圆与圆之间的空隙,如何不断产生更小的圆。
它们的规则各不相同,但都在讲述同一个令人着迷的故事:复杂,并不一定来自复杂,有时候,只需要一个简单的规则,然后让它重复足够多次,一个三角形,也可以最终长成一片永远不会结束的雪花。
你还可以继续欣赏更多奇妙的数学图形,或者查看维基百科上更多关于科赫曲线的介绍。