数数数数数数数 数数( 2 ) --- 数数 数数数数数数数数数 数 数 传 :
数学实验之十二迭代( 2) --- 分形数学与计算机科学系:曾传华
实验内容 :
•什么是分形?•图形迭代•函数迭代• IFS迭代•分形的应用
1 、什么是分形
使用直线、多边形、平滑曲线及边界整齐的高阶平滑曲面的集合,可以描述物体和图形,如房屋、汽车、飞机等等。但是对于一些自然景物就显得力不从心了,如山脉、树林、草、云、浪等等。如果用一些小多边形来表现崎岖的海岸、山脉,不仅制作费时费力,而且由于规则性太强,显得十分不自然。因为这些自然景物若从欧几里德几何学的观点来看,它们是极端无规则的。为了解决这些无规则图形的生成问题,经过许多人的探索,产生了分数维造型的方法-即分形技术。
目前,从天文学到生物界,各个领域中都有科学家利用分形技术探索一些以前无法表达,无法研究的复杂情况。这些错综复杂的无限形状,正是可以从自然界的各个角落中发现。
Helge Von Koch 雪花曲线
用这种方法生成的雪花,理论上可以证明:它的周长趋于无穷,但它的面积却是无限的。这是和正统的数学观点不相符合的,传统的周长和面积的概念是无法描绘出这种雪花的特点的。
分形学的创始人 B. Mandelbrot 研究了这种雪花模型,并把 它和自然界的海岸、山脉、云、树等其它自然景象联系起来,分析综合了它们的共性,从而创造了分形学-分数维 (Fractal) 的概念。
1 、具有无限精细的结构
2 、局部与整体的相似性
3 、具有非拓扑维数,并且它大于对应的
拓扑维数
4 、在大多数情况下,分形可以用非常
简单的方法确定,可能由迭代产生。
分形的特性
1 、相似维数:设分形 F 是自相似的,即 F 由 m 个子集构成,每个子集放大 c 倍后同 F 一样,则定义 F 的维数为
例如,对于 Cantor 集,
对于 Van Koch 雪花曲线,
)log(/)log()( cmFd
3log/2log)( Fd
3log/4log)( Fd
• 分形的维数
•对于一条直线段,将它等分,每段长度为原来的 1/N ,共分为 N 段。
• 将一个正方形每边等分成 N 段,共有N^2 个小正方形。
• 将一个立方体每边等分成 N 段,共有N^3 个小立方体。
• 一般地,设一图形可分解为 m 个与之相似的子图形,每个子图形是原来的 1/c. 则图形的维数 D 满足: c^D=m.
)/1ln(
)(lnlim)(
0
NFd
2 、盒子维数:设 是有界集合,其中 R 是正方形。将 R 分成边长为 的子正方形。记 为子正方形中包含 F 中点的子正方形的个数。定义 F 的盒子维数为
RF
)(N
1 、数学:动力系统
2 、物理:布朗运动,流体力学中的湍流
3 、化学:酶的构造,
4 、生物:细胞的生长
5 、地质:地质构造
6 、天文:土星上的光环
其他:计算机,经济,社会,艺术等等
• 分形的应用领域
2 、图形迭代生成分形
•给定初始图形 F0,依照某一规则 R ,对图形反复作用
Fk+1=RFk, k=1,2,3,…
得到图形序列 F1,F2,… 其极限图形是分形,作用规则 R 称为生成元。
例如, Van Koch 雪花曲线的生成元是
其它实例
2 、 Minkowski “ 香肠”
3 、 Sierpinski地毯
4 、龙曲线
5 、花草树木 (L系统)
•生物学家 Lindenmayer提出。一个 L系统可表示为一个有序的三元素集合:
其中: V 是一些运动过程集合, w 是初始形状, P 是生成式。
PwVG ,,
•例如, F表示向前距离 d, +表示左转弯 a, - 表示右转弯, [表示压栈, ]表示出栈。
FFFFFFP
FwFV
][][:
,]},[,,,,{
5 、花草树木 (L 系统)
3 、函数迭代产生的分形
用 Z 表示复数,定义在复平面上的函数
f(Z)称为复变函数。任意给定初始复数值 Z0,定义复数序列 Zn+1=f(Zn),n=0,1,2,… (1)对于什么样的初始值 Z0,复数序列 {Zn}
收敛或有界?
考虑复变函数迭代
固定复参数 c,使得迭代序列 有界的初值 在复平面上的分布图形称为 Julia集,亦即
迭代序列 有界 }
)2(,1,0,21 ncZZ nn
}{ nZ
0Z
}{ nZ|{ 0ZJ c
• Julia集
固定初值 ,使得迭代序列( 2)有界的参数 c 在复平面上的分布图形称为 Mandelbrot集。即 迭代序列 有界 } 记 则( 2)变为
0Z
qipcyixZ ,
)3(21
221
qyxy
pyxx
nnn
nnn
}{ nZ|{0
cJ Z
• Mandelbrot集
1 、设定初值 p,q, 最大的迭代次数 N, 图形的大小 a,b, 及使用的颜色数 K.
2 、设定区域的界值
3 、将区域 分成 的网格,分别以每个网格点为初值 利用( 3 )做迭代。如果对所有的 都有 ,则将象素 (i, j) 置为黑色。如果从某一步 n 开始, ,则将象素 (i,j)置为颜色 n mod K 。
),2max( 22 qpM
],[],[ MMMMR ba),( 00 yx
Nn 222 Myx nn
222 Myx nn
Julia 集的绘制方法:
4、 IFS 迭代产生分形
• 混沌游戏 给定平面上三点 A, B, C 。再任意给定初始点 Z0, 做下列迭代
,2/)(
,2/)(
,2/)(
1
CZ
BZ
AZ
Z
n
n
n
n
当掷出的硬币呈正面当掷出的硬币呈反面当掷出的硬币呈侧面
按上述方式迭代数百次,呈现极不规则的图形。故称为混沌游戏。
IFS--Iterated Function System 取定 n 个仿射变换
以及 n 个概率 任给初值 ,以概率 选取变换 进行迭代 则点集 的聚点集合称为一个 IFS吸引子。
nibZaZw iii ,...,2,1,)(
)1...(,..., 12,1 nn ppppp
0Z ip iw
}{ kZ
1 ( ), 0,1,...k i kZ w z k
• IFS迭代
1、设图形可视区域为
假设采用 L 级灰度的图像绘制,总迭代次数为 N 。
2、将 V 分成 的网格,格点为 用 表示矩形区域。用 表示在 N次迭代中落入 中点的个数。记 则象素 (i,j) 的灰度为
ba
],[],[ maxminmaxmin yyxxV
),( ji yx
],[],[ 11 jjiiij yyxxVij
ijV
ij maxLjiG ij /),(
• 用 IFS绘制分形的方法
Cantor 树 3,2,1,3/)2()( jZZZw jj
3/1321 ppp
• 一些实例
龙曲线
1)(,1)( 21 sZZwsZZw
ispp 5.05.0,2/121
• 利用 IFS 迭代可以得到图象压缩的有效方法。对给定的图像,利用 IFS 迭代原理,确定一系列仿射变换 ,使得对任给的概率 ,由
确定的 IFS 的吸引子就是给定的图像。图像解压的古城即要解 IFS 迭代的逆问题。
Niwi ,,2,1, Nipi ,,2,1,
},{ ii pw
5 、分形欣赏
分形时装
分形音乐
•相关主页:• www.geocities.com
/SiliconValley/Haven/4386
• http://www.fractal.com.cn/fxiy/index.htm