分形:走进无限细节的数学世界
一条海岸线有多长?答案可能让你吃惊:它没有唯一答案。用长尺子量,它比较短;用短尺子量,它变长了;放到显微镜下,它还在不断变长。原来,世界上有些图形拥有无限多的细节——面积可以有限,周长却可以无限,维数还可以是 1.26 这样的分数。这就是分形。
1. 海岸线悖论:长度为什么不确定?
1967 年,数学家伯努瓦·曼德博在一篇论文里问了一个看似简单的问题:英国的海岸线有多长?
你可能会说:拿地图量一下不就行了?但问题来了——用不同精细程度的地图、不同长度的尺子,会得到完全不同的答案。
用长尺子量,许多小海湾被“跳过去”了;用短尺子量,小海湾、小礁石都被算进去,长度就变大了。更“麻烦”的是:继续放大海岸线,每一段弯曲里还有更小的弯曲。无论放多大,细节都不会消失。
所以海岸线的长度没有唯一答案,它随测量尺度的变化而变化。曼德博把这种“破碎、无限精细”的图形称为分形(fractal)。
把图形的一部分放大,看起来又像原来的整体。海岸线、树叶脉络、闪电都有这个特点。分形的故事就从这里开始。
2. 什么是分形?从一棵规则树说起
观察一棵“规则树”:树干分成两根树枝,每根树枝又按同样的方式分成两根更小的树枝……把任意一根树枝单独放大,你会发现它和整棵树长得几乎一样。这就是自相似性(self-similarity)。
自然界里到处是自相似结构:
- 罗马花椰菜:每个小突起都是整颗花椰菜的缩小版;
- 蕨类植物:每片小叶子的形状都像整片叶子;
- 闪电:主闪电分叉后,每个分叉又继续分叉;
- 血管和支气管:从主动脉到毛细血管,不断分叉,用有限空间装下巨大的表面积。
这些结构的共同配方是:一个简单规则,反复使用。每一次使用规则,称为一次迭代(iteration)。
下面这个互动工具会生成一棵分形树。调整分叉角度和迭代层数,观察树枝如何一层层长出来,以及局部和整体多么相像。
分形(fractal) 一词来自拉丁语 fractus,意为“破碎的、不规则的”。分形通常由简单规则反复迭代产生,并具有自相似性。
3. 科赫雪花:周长可以无限长?
科赫雪花来自一个非常简单的规则:
- 从一个等边三角形开始;
- 把每条边分成三等份;
- 把中间那一份去掉,换成两段同样长的线段,让它们组成一个向外凸起的“∧”形;
- 对每一条新线段重复第 2、3 步。
每迭代一次,边就变得更“毛糙”。无限重复下去,就得到科赫雪花。
设最初每条边长为 ,边数为 。每迭代一次,每条边变成 条,每条长度变成原来的 。于是第 次迭代后:
因为 ,当 越来越大, 也越来越大,最终趋于无穷大。也就是说,科赫雪花的周长是无限长的。
可是它的面积始终被一个有限的外接圆包住。于是我们得到一个奇妙结论:有限的面积里,可以容纳无限长的边界。
观察上面的雪花:每增加一次迭代,周长都乘以 。迭代 6 次后,它已经非常精细——但真正的科赫雪花还在无限迭代下去。
每条边被 4 条长度为原来 1/3 的边替换,所以总周长乘以 4 × (1/3) = 4/3。因为 4/3 > 1,无限迭代后周长趋于无穷大。
4. 谢尔宾斯基三角形:往里挖洞挖出的分形
科赫雪花是“往外长”,谢尔宾斯基三角形则是“往里挖”。
- 从一个实心等边三角形开始;
- 连接三条边的中点,把中间的倒三角形挖掉;
- 对剩下的 3 个小三角形重复第 2 步。
每挖一次,剩下的三角形数量变成原来的 3 倍,但总周长却变长了。
第 次迭代后,三角形数量、总面积、总周长分别是:
当 越来越大,面积 趋于 ,而周长 趋于无穷大。无限迭代后,它几乎“只剩下一张网”:面积为零,却由无穷多个三角形组成。
每迭代一次,面积乘以 3/4(越来越少),总周长乘以 3/2(越来越多)。无限次后面积趋于 0,周长趋于无穷大。
彩蛋:杨辉三角里藏着谢尔宾斯基三角形
把杨辉三角(帕斯卡三角形)里的奇数涂黑、偶数涂白,你会看到——正是谢尔宾斯基三角形!这说明组合数、二项式展开和分形之间有着深刻的联系。
5. 分数维数:1.26 维到底是什么?
平时我们说:线段是 1 维,平面图形是 2 维。这个“维数”是怎么来的?
一个实用的方法是放大法:把图形的每条边都放大 倍。如果放大后的图形能由 个原来的小图形拼成,那么维数 满足:
检验一下:
- 线段放大 3 倍,由 3 个原来的小线段组成:,是 1 维。
- 正方形每条边放大 3 倍,由 个小正方形组成:,是 2 维。
- 科赫曲线放大 3 倍,由 4 个原来的小段组成:
科赫曲线的维数竟然是 1.26!它比线“更满”,又没达到面,是一个分数维数。
- 谢尔宾斯基三角形放大 2 倍,由 3 个小三角形组成:。
- 康托尔集放大 3 倍,由 2 个小份组成:(比线还“稀疏”)。
- 门格尔海绵放大 3 倍,由 20 个小份组成:(比面还“更满”,但不到 3 维)。
于是我们有了新“尺子”:维数不一定是整数,它衡量图形填充空间的程度。
科赫曲线放大 3 倍由 4 个小份组成,D = log 4 / log 3 ≈ 1.26。1.58 是谢尔宾斯基三角形的维数。
6. 分形有什么用?从游戏到手机天线
分形不只是数学玩具,它在现实世界中有大用处:
- 计算机图形学:电影和游戏里的山脉、云朵、森林,很多都用分形算法生成,因为真实地形本来就是自相似的。
- 医学:健康血管的分支结构具有分形特征;肿瘤周围的血管网络分形维数会改变,医生可以据此辅助诊断。
- 天线设计:手机里的分形天线把长导线弯折成自相似形状,在很小的空间里接收多个频率的信号。
- 自然测量:海岸线管理、估算叶面积、研究河网结构,都会用到分形维数。
想一想:为什么手机天线不做成直直的,而要做成弯弯曲曲的分形样子?
直天线要接收某个频率,通常需要接近波长的长度,会很长。分形天线把长导线反复折叠成自相似图案,在很小的体积内获得很长的有效路径,并且可以在多个频率下工作。
7. 小结:抓住分形的三个核心
今天我们认识了分形:
- 分形的核心是自相似:局部放大后像整体。
- 分形由简单规则反复迭代生成。
- 科赫雪花面积有限、周长无限;谢尔宾斯基三角形面积趋于 0、周长趋于无穷大。
- 分形可以用分数维数描述,例如科赫曲线约为 1.26 维。
- 分形广泛存在于海岸线、植物、血管、闪电中,也用于图形学、医学和天线设计。
- 什么是分形? 由简单规则反复迭代、具有自相似性的图形。
- 为什么海岸线长度不确定? 因为细节无限多,尺子越短,量出的长度越大。
- 什么是分数维数? 用 衡量图形填充空间的程度。