探索分形龙

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

分形龙:一条不断折叠,最终变成分形的线

如果给你一张纸,把它对折一次,再对折一次,再对折一次……最后把每次折叠都按照一定角度展开,你会看到什么?原本只是一条简单的直线,却留下了一连串方向不同的折痕。

现在想象一件更奇妙的事情:如果我们不真的折纸,而是把“折纸”变成一条数学规则,然后让这条规则不断重复,会发生什么?

答案是:一条非常简单的线,最终会变成一幅复杂得令人惊讶的几何图案。

这就是 分形龙,也叫龙曲线

一切从一条直线开始

分形龙 的起点非常简单。只有 一条直线。就这么简单。没有复杂的公式,没有数百个参数,也没有复杂的几何图形。只有 一条线

然后,我们执行一个非常简单的操作。

想象你正在折一张纸。将一条纸带从右向左对折一次,然后,将纸带展开,让折痕变成一个90度的直角,此时,原来的整条直线就变成了两条长度相等、互相垂直的连续线段(形状像一个字母 "L" 或倒 "V")。

如果继续按照同样的规则折叠,展开,再折叠,再展开,线段的数量会越来越多。

第一次:折一下。第二次:还是折一下。第三次:还是折一下。

神奇的地方在于:规则一直没变。我们没有增加新的规则。没有告诉它:“这里画一个角。”也没有告诉它:“那里画一个漂亮的形状。”始终只有一个简单的操作。可是,随着操作不断重复,线条开始越来越复杂。

当折叠次数比较少的时候,你可能只会看到一些简单的折线。但是继续增加次数,线越来越长,拐角越来越多,结构越来越复杂。最终,它会逐渐形成一种非常独特的形状。

很多人第一次看到它时,都会觉得:“它真的有点像一条龙。”,于是,它获得了 分形龙 这个名字。

当然,它并不是一条真正的龙,它只是一个由简单规则不断生成的数学曲线

为什么叫“分形龙”?

这里有一个非常有趣的地方。

分形龙 并不是传统意义上那种 “无限放大以后,每个局部都和整体一模一样” 的简单分形。它的美妙之处在于:同样的结构会在不同尺度和不同位置反复出现

你不断增加折叠次数,会得到越来越复杂的结构。因此,它属于我们通常所说的 分形几何世界。

我们可以把每一次操作称为一个 世代 或者 迭代

最开始,第 0 世代,一条直线。

然后,第 1 世代,出现简单的转折。

再然后,第 2 世代,线段更多。

第 3 世代,开始出现明显的“龙”形结构。

第 4 世代,结构越来越复杂。

……

第 10 世代,已经变得非常漂亮。

最神奇的事情:只有一个简单规则

假设你现在已经有一条很长的折线。你可能会觉得:“这么复杂的图案,一定需要非常复杂的公式吧?”

其实恰恰相反,分形龙 最迷人的地方就是:它的生成规则非常简单。你只需要不断按照规定的方式前进,转弯,前进,转弯……就可以得到越来越复杂的结构。

这和很多分形一样,它向我们展示了一个非常重要的思想:复杂的结果,并不一定需要复杂的规则

它真的和折纸有关吗?

有。

这也是 分形龙 最有趣的地方之一。经典的 分形龙 可以通过一种非常直观的方式理解:把一条纸带不断对折,然后把它展开

每一次折叠,都会决定下一段线应该向哪个方向转弯。如果折叠次数越来越多,展开后的折痕就会越来越复杂。最终得到的结构,就是 分形龙 的一种非常直观的来源。

所以你可以把它想象成:一张被无限次折叠的数学纸带

但我们其实没有真的折纸,在计算机里,我们不需要真的拿一张纸。我们只需要告诉程序:“按照这个规则生成下一条线。”程序就可以快速计算出:下一步往哪里走、什么时候转弯、新的线段在哪里。于是,几秒钟之内,我们就可以看到几十次甚至更高次数的迭代结果。

为什么越来越复杂?

可以把它想象成一条正在不断“复制自己”的道路。

最开始只有一条路。然后分成两个方向。接着新的路又带来新的转折。然后转折继续增加。

每增加一代,线段数量都会迅速增加。所以你会看到结构越来越密集。而这正是分形最令人着迷的地方。

如果世代一直增加,会发生什么?

这可能是 分形龙 最适合互动探索的地方。

你可以从 第 1 世代 一路增加到 第 5 世代、第 10 世代、第 15 世代 …… 每增加一次,都像是在让这条“龙”继续成长。

你会发现一个有趣的变化:低阶分形龙很像折纸,中阶分形龙开始像一条龙。高阶分形龙,变成密集的几何结构。再继续增加,线条开始形成复杂的区域。

也就是说,你看到的东西会随着迭代次数发生明显变化。但背后的规则,从头到尾都没有改变

分形龙 与 曼德博集合 有什么不同?

如果你已经探索过 曼德博集合,可能会觉得:“这不也是分形吗?”

没错。但它们产生复杂性的方式完全不同。

曼德博集合 通过 复数迭代 不断计算一个点的变化,最后判断它属于什么区域,它产生的是 一个复杂的二维集合

分形龙 通过 递归折叠规则 不断决定下一条线应该往哪里走。它产生的是 一条越来越复杂的曲线

所以可以简单地理解为:

曼德博集合计算出一个世界

分形龙折叠出一条路

两种方式不同,但最后都产生了令人惊讶的复杂结构。

分形龙 不只是“看起来像龙”

它还有一个非常有趣的数学特性:随着迭代次数增加,它会逐渐填满一个二维区域

当然,它本身仍然是一条线。但因为线段越来越多,越来越密集,最终会出现一种 “一条线正在占据一个平面区域” 的视觉效果。这也是它为什么会从简单的折线,逐渐变成非常复杂的几何图案。

分形龙的故事其实可以浓缩成四步:一条线 → 不断折叠 → 不断重复 → 出现复杂结构。就这么简单。

但正是这种简单,让它特别适合用来理解分形。因为你不需要学习复杂的数学,就能亲眼看到:一个简单规则如何一步一步创造复杂世界

继续探索无限微观

分形龙 是分形世界中非常独特的一种作品。它不像 曼德博集合 那样依靠复数迭代,也不像 朱利亚集合 那样通过改变参数探索不同的集合,而是从 折叠与递归 开始,一步一步创造出越来越复杂的几何结构。

如果你喜欢这种 从简单规则出发,逐渐生成复杂世界 的数学图形,还可以继续探索 曼德博集合朱利亚集合 以及 牛顿分形

它们使用完全不同的规则,却都在讲述一个非常相似的故事:简单,可以创造复杂

分形龙 给出的答案尤其有趣:有时候,一条线只需要不断折叠,就足以长成一条龙

你还可以继续欣赏更多奇妙的数学图形,或者查看维基百科上更多关于分形龙的介绍

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

了解详情