分享

分形——雪花与上帝的指纹1 :现实不似你所见

 宇宙文明带路党 2021-12-29

女士们,先生们,老少爷们儿们!在下张大少。

无边的奇迹源于简单规则的无限重复。

——本华·曼德博(Benoit Mandelbrot)

图6.1.1是两张取自自然界的照片,你能看出照片中是什么东西吗?

a

b

图6.1.1 a-b 两张来自自然界的图片

相信大多数人都会不屑一顾:"So easy!图a是一株蕨类植物,图b是一处峭壁。"

但实际上,现实不似你所见。图a并不是一株蕨类植物,只是蕨类植物的一片叶子;图b也不是峭壁,只是公园里的一块石头,只有不到1米高。

大多数人之所以会被欺骗,是因为许多物体在不同尺度下看起来是一样的。蕨类植物的每个分支都和主造型一致;小石头看起来像大石头,而大石头同一座山似乎也没太大区别;小块的云朵和一大团云的形状和结构是一样的;餐盘中切好的一小片菜花依然酷似完整的菜花……

在20世纪70年代,数学家本华·曼德博(Benoit Mandelbrot)创造了"分形"这个词来描述这种自相似的物体,这个名字来源于拉丁语词根"fractus",意思是"断裂"或"破碎"。也就是说,如果你折断一个分形的一小部分,它看起来仍然像整体。分形这种特性令人望而生敬,因为造物主似乎只需要一遍遍地重复一个简单的过程就能创造出世间万物;分形还令人望而生畏,因为我们不知道分形何时是尽头,一个小小的原子里是不是又隐藏着浩瀚的宇宙;当然,分形还令人望而迷惘,因为自相似的特性可以轻松地欺骗我们的眼睛,让我们无从分辨眼前看到的是事物的整体还是部分。

敬畏与迷惘之中,我们隐隐感到,分形似乎集简单和复杂于一身,而且往往带有无限重复的规律。但是,分形究竟颠覆了我们的哪些传统认知?

理一理凌乱的思路,我认为有两点:一是尺度,二是维度。下面,我们就以"科赫雪花曲线"这个经典的分形图案为例子来分别谈一谈。

冯·科赫(Von Koch,1870-1924),瑞典数学家,贵族出身,家世显赫。研究数学和哲学是当时瑞典贵族圈的流行风尚。如今举世闻名的诺贝尔奖,就是诞生在那个时候的瑞典。科赫自然也跟他身边的公子阔少一样赶时髦,毅然投身数学,成了数学家。说来也怪,科赫的主要研究领域是数论,一生发表了很多篇关于数论的论文,但都没什么影响。他留给世界的最广为人知的成果,就是这个以他的名字命名的"科赫曲线",因为形状酷似雪花,所以又称为"科赫雪花曲线"。

科赫雪花曲线的构造方法很简单。如下图6.1.2,任意画一个正三角形,把每一条边三等分;然后取三等分后的中间一段为边向外作正三角形,并把这中间一段擦掉;一直重复这个步骤,画出更小的三角形,直到无穷,由此画出的曲线就是科赫雪花曲线。

图6.1.2 科赫雪花曲线

粗粗一看,这条曲线不足为奇,它无疑是由基本的几何方法构造出来的,构造过程也很简单。但细看后你会发现,它始于正三角形,正三角形由3条线组成,最后得到的雪花形状依然由3部分组成,每一部分都是完全自相似的,也就是说,把每个局部放大看,你都会看到和原来一模一样的形状。如果你对高等数学稍有了解的话,就会发现更古怪的事情,正如科赫自己所言,它的古怪之处在于"无切线"。可见,分形是对微积分的强烈反对。微积分的核心假设是,物体只要无限放大,看起来就很光滑。但是科赫曲线无论怎么放大都跟原来完全一样,永远曲曲折折,有棱有角,不是平滑曲线,它上面处处是尖点,处处不可导,处处不可微。那么,由牛顿和莱布尼茨一手打造、后世无数数学天才们发展完善、被认为是现代科学基础的宏伟的微积分大厦岂不是遭遇了前所未有的冲击?

不过,对于我们芸芸大众而言,高等数学毕竟距离我们的生活太过遥远,也无需我们冥思苦想。正如前文所言,分形真正值得我们苦思冥想的主要在两个方面:一是尺度,二是维度。

1 尺度之辩——雪花的周长超过地球半径?

如果有人跟你说,雪花的周长超过地球半径,那么你肯定认为他胡说八道。但观察科赫雪花的构造过程,你会发现,每一次迭代变换都让曲线的总长度变成原来的4/3倍。假设,最初的正三角形周长为1,那么迭代一次之后就变成4/3,迭代n次之后就变成(4/3)^n。当n趋近无穷时,雪花曲线的周长必然趋近无穷,也就是无限长。而且,雪花曲线上任意两点之间沿边界的路程也是无限长。

而地球直径却是有限长的,假设你有一把巨大的游标卡尺,就能用两个夹子把地球夹住,从而测出一个长度值。如此说来,雪花的周长显然超过地球半径!惊不惊喜?意不意外?

如此说来,曼德博当年创立分形时提出的"英国的海岸线无限长"还是太保守了。其实,海岸边的一块礁石、一颗砂砾、一片树叶……无论什么东西,只要它是粗糙的,周长就全都无限长。

然而,另一件咄咄怪事是,科赫雪花虽然周长无限长,但它的面积却是有限大的。因为整个雪花图形被限制在了一个有限的范围内,我们随手画一个圆圈就能把它围住。

2 维度之辩——为什么维度可以不是整数?

常识告诉我们,直线是1维,平面是2维,立体是3维。那么科赫雪花曲线是几维?

相信多数人的思维比较经典:科赫曲线就是一条直线反复折叠形成的,折叠再多次,它也是由一条条小小的线段组成的嘛,到头来还是线,那就应该是1维图形。

但有些人会思考的更细致些:既然迭代次数趋近无穷,那就不是光凭放大图形就能看到的,只能凭想象来理解。迭代无穷次之后,小线段的长度趋近于0,也就是变成了一个点。这些点会覆盖一部分的平面,所以你瞧,随着迭代次数增加,雪花边缘的颜色有些变深了不是?也就是说,它或许已经不是一维的线了。如果你认为上图不够明显,那请看下图6.1.3,这同样是按照科赫雪花曲线的构造方式绘制的图案,只是线段的夹角不再是60°。图a是夹角为120°的结果,最后形成的曲线比较平缓;图b的夹角为20°,形成的雪花轮廓更加尖锐、曲折;图c比较极端,直接把夹角设为0°,最后的结果是曲线完全填满了一个等腰直角三角形。如此说来,科赫雪花曲线岂不是变成了二维的平面图形?

图6.1.3a-c 科赫雪花曲线的变例

此时,对维度概念的扩展就显得刻不容缓。维度或许可以不局限于1、2、3这些整数,上面这些既不像一维,也不像二维的曲线大概就是介于1和2之间的某个非整数维度吧。但是非整数的维度有意义吗?非整数维的图形又该是什么样子?记得我年少时第一次从课外书中看到英国的海岸线是1.21维时,感到一脸茫然。这就好比登台阶,你可以一步登一级,也可以步子迈大些一步登两级;但如果有个人说他一步登1.5级台阶,那不是活见鬼?

的确,非整数维度的概念是数学家硬造出来的。毕竟,数学里的一切都是硬造的,关键在于它对描述世界是否有实际作用。硬造出非整数维度概念的数学家是德国犹太人费利克斯·豪斯多夫(Felix Hausdorff,1868-1942),和科赫一样,这位豪斯多夫也是富二代,此人多才多艺,除了数学研究成果卓著,还发表绘画作品和哲学论著。但是纳粹当权之后,他这个犹太人的好日子就过到了头,在得知自己和家人将被送往集中营后,他和妻子服毒自尽……

为了理解豪斯多夫提出的维度概念,我们先从普通的整数维图形讲起。如下图6.1.4,一条线段可以从中间分成两段,每一段都和原来一模一样,只不过变成了原来的一半长。正方形可以从各条边中点切开,分成4个小正方形,每一个的边长都是原来的一半。同理,正方体可以从各条棱中点切开,分成8个小正方体,每一个的棱长仍然是原来的一半。豪斯多夫维数的关键在于,要理解整体如何随着缩放而改变。线段缩小一半的话,整体也缩小到1/2,因为两段小的正好组成一条长线。正方形缩小一半的话,整体缩小到1/4,因为4个小的组成一个大正方形。正方形缩小一半的话,整体缩小到1/8,因为8个小的才能组成原来的大正方体。由此,维数的计算方法就是,当把一个图形缩小1/2之后,整体缩小到1/2的几次方倍。由此法可以计算出:线段是一维的,因为(1/2)^1=(1/2);正方形是二维的,因为(1/2)^2=(1/4);正方体是三维的,因为(1/2)^3=(1/8)。与我们的常识完全契合。

当然,缩小的比例未必是1/2,你也可以把线段、正方形、正方体缩小到1/3、1/5试试,计算之后仍然会得出相同的维数。

图6.1.4 线段、正方形、正方体的维数

现在,再看豪斯多夫的维数计算公式就很容易理解了,他提出的公式是:

其中,a是相似比,即将图形缩小的倍数;b是指原来的图形可以由多少个缩小后的图形拼成,n就是维数。

所以

现在,我们可以用这个公式计算科赫雪花曲线的维数了。如下图6.1.5,科赫雪花曲线包含了4条一模一样的缩小版曲线,每一条的尺寸都是原来曲线的1/3。所以,这个问题就是在问3的几次方等于4。用计算器可以算出,科赫雪花曲线的维数是:

图6.1.5 科赫雪花曲线的分形维数计算

因此,我们可以说科赫雪花曲线是1.26维的图形。

当然,如果图形出现变化,维数也会随之变化,我们可以回过头看看图6.1.3a-c 科赫雪花曲线的变例的情况。它们依然包含了4条一模一样的缩小版曲线,但由于顶角的度数不同,相似比也随之发生变化。

图a的顶角是120°,每一条的尺寸与原来曲线的比例都是

,所以维数

图b的顶角是20°,每一条的尺寸与原来曲线的比例都是

,所以维数

图c的顶角是0°,每一条的尺寸与原来曲线的比例都是1:2,所以维数

角度越尖锐,分形维数就越大,当曲线可以完全填充平面的时候,它就变成了二维图形。

必须指出,这种算法只适用于严格自相似的情况。自然界中的万事万物显然并非全都如此,因而分数维数的计算往往是一事一议,没有统一的法则和公式,但是这种算法的思想却是有价值的。目前的研究已经算出了许多自然分形的维数:

海岸线的维数:1~1.5

山地表面的维数:2.1~2.9

河流水系的维数:1.1~1.85

云的维数:1.35

人的肺的维数:2.17

人脑褶皱的维数:2.73~2.79

所以,从分形学的角度看,科幻小说《三体》中的降维打击或许并不需要二向箔这种外星人的高端产品,在分形构造中做做手脚就能实现。

分形除了颠覆了我们的对于尺度和维度方面的传统认知之外,还改变了我们观察世界的方式。曼德博在《大自然的分形几何学》中不是说过么?"云不只是球体,山不只是圆锥,海岸线不是圆形,树皮不是那么光滑,闪电传播的路径更不是直线。它们是什么呢?它们都是简单而又复杂的分形。"所谓简单,是指分形的构造方法极其简单,就像科赫曲线一样,只要把一条线段中间的一段擦去,边向外作正三角形,然后机械地重复无限次即可。所谓复杂,是指构造出的图案极其复杂精致。如果说,欧氏几何是用抽象的数学模型对大自然作了一个最粗略的近似,那么分形几何就是对自然作了精细的描绘。对于万千像笔者这样在"996"魔咒中苦苦挣扎的程序员而言,分形似乎为我们指引了一条进军高逼格艺术界的康庄大道,因为我们只需要敲上短短几行代码,就能创造出手绘家永远无法匹敌的复杂图案。而且就像前文中图6.1.3一样,只要把分形的构造方法稍加改变,所得的图案就大不相同。或许,程序员无意中把迭代函数中的参数随手一改,得到的很可能就是完全不同的另一幅画。

我们仍然以科赫雪花曲线为例。如下图6.1.6,从正三角形开始,还是把每一条边的中间一段擦掉,不过这次改成向内作正三角形,最后就得到了"科赫反雪花曲线"。它的样子已经与雪花完全不同,而是由许多独立的形状组成,其分形维数仍然同科赫雪花曲线一样是1.26。

图6.1.6 科赫反雪花曲线

下图6.1.7是将中间一段擦去,向外做正方形的例子。我称之为"直角型科赫曲线",可以看到,迭代数次之后出现了很多像十字架一样的形状,酷似哥特式装饰。图6.1.8是把4条曲线拼接在一起形成的图案。

图6.1.7 直角型科赫曲线

图6.1.8 直角型科赫曲线的拼接

当然,中央擦去的线段比例,以及取而代之的多边形的边数也可以任意改变。图6.1.9展示了几种变例,它们或像雪花,或像饰带,或像花环……

图6.1.9 科赫曲线的各类变种

我们的思路还可以进一步拓展,如果把中间的部分擦去之后,同时向内外两个部分作多边形会如何。如图6.1.10,把一条线段平均分成4份,中间两段擦去,一段向外做正方形,另一段向内做正方形,如此,4段就变成了8段,将其4条拼接在一起,迭代数次之后,就形成了一个形似魔鬼的旋转对称图案。我称之为"八段曲线"。除了样子之外,这条曲线的另一个古怪之处在于它的分形维数,

,恰好是有理数。

图6.1.10 八段曲线

图6.1.11的构造依然延续了上面的思路,只不过复杂了很多。一条线段分了8份,然后用曲曲折折的32条线段取代它,最后形成了一个形似回旋镖的分形图案。巧合的是,这个图案的分形维数

,仍然是有理数。

图6.1.11 三十二段曲线

图6.1.12的构造更加放飞自我。一条线段分了10份,然后用50条线段取代它,最后形成的图案有点像二维码,不晓得扫一扫能不能赢大奖。你信不信它的分形维数还是有理数?才怪,它的分形维数

图6.1.12 五十段曲线

如果继续放宽规则,就会创作出更加千姿百态的图案。图6.1.13把一条线段分成6段,形成"VMV"的形状,迭代5次之后得到了类似皇冠的图案,我称之为"皇冠曲线"。图6.1.14把一条线段分成4段,中间出现了交叉点,迭代8次之后得到的图案酷似"花篮",我称之为"花篮曲线"。

图6.1.13皇冠曲线

图6.1.14花篮曲线

青山不改,绿水长流,在下告退。

转发随意,转载请联系张大少本尊,联系方式请见公众号底部菜单栏。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多