数学家曼德布劳特(B. B. Mandelbrot)经历了不平凡的潜心研究,于1975年出版了他的关于分形几何的专著《分形、机遇和维数》,标志着分形理论的诞生。
人们谈论分形,常常有两种含义。其一,它的实际背景是什么?其二,它的确切定义是什么?数学家研究分形,是力图以数学方法,模拟自然界存在的、及科学研究中出现的那些看似无规律的各种现象。在过去的几十年里,分形在物理学、材料科学、地质勘探、乃至股价的预测等方面都得到了广泛的应用或密切的注意,并且由于分形的引入,使得一些学科焕发了新的活力。数学上所说的分形,是抽象的。而人们认为是分形的那些自然界的具体对象,并不是数学家所说的分形,而是不同层次近似。
1985年,曼德布劳特获得Barnard奖章。这项奖励专门颁发给那些在物理科学或者其它自然科学中有重大贡献、有重大影响的人物。在每五年一次的获奖者名单中,有爱因斯坦、费米这样一批享誉世界的科学家,可见曼德布劳特的分形研究在科学上的地位和影响。1995年应中国科学界的邀请,曼德布劳特访问中国并进行演讲。
分形图形同常见的工程图迥然不同,分形图形一般都有自相似性,这就是说如果将分形图形的局部不断放大并进行观察,将发现精细的结构,如果再放大,就会再度出现更精细的结构,可谓层出不穷,永无止境。艺术家在分形画面的不同区域涂上不同的色彩,展现在我们面前的,将会是非常美丽的画面。请看图1,这里显示的几幅画面,是在计算机上完成的(由研究生王方石提供),它们是典型的分形,称之为Mandelbrot集合和Julia集合,在后面的章节中我们将较详细地介绍这两个集合的数学结构。
图1 典型的分形
几乎在曼德布劳特获得Barnard奖章的同时,以德国布来梅大学的数学家和计算机专家H.Peotgen与P.Richter等为代表,在当时最先进的计算机图形工作站上制作了大量的分形图案;J. Hubbard等人还完成了一部名为《混沌》的计算机动画。接着,印刷着分形的画册、挂历、明信片、甚至T恤衫纷纷出笼。80年代中期开始,首先在西方发达国家,接着在中国,分形逐渐成为脍炙人口的词汇,甚至连十几岁的儿童也迷上了计算机上的分形游戏。我国北京的北方工业大学计算机图形学小组于1992年完成了一部计算机动画电影《相似》,这部电影集中介绍了分形图形的相似性,这也是我国采用计算机数字技术完成的第一部电影,获得当年电影电视部颁发的科技进步奖。
更多的人陶醉于分形,并非出自科学,而是倾心于分形之美。数学上的审美很难为一般人所理解:一大堆数字、公式、符号怎么体现出来呢?然而,计算机能让数学的某些内在的美直观呈现出来,给出其形式化的表达。分形作为一类例证,为数学理论与实践中所蕴涵的美,给出了一类精彩的注记。充分反映了数学科学中的简单、和谐、统一的内涵!
其实对分形的理解并没有那么神奇。可以说,虽然曼德布劳特硬是制造了分形(fractal)这个名词,是个新鲜的事情,但是,分形所反映的内容本身,其苗头确实古已有之。如前所叙述的那样,分形的重要来源,是数学上的思考,属于科学研究的产物,常常是某种离散动力系统参数分布的图示。因为表现这种参数分布须借助计算机的计算和处理;而作为处理的结果,这类图示观看起来是那么的漂亮、琢磨下去又是那么的含蓄,于是它的影响远远超出了数学的领域。分形不仅引起科学家们的注意,而且在艺术界造成了轰动。社会学家从人文的角度,分析与演绎分形的哲理;艺术大师们,以审美的观点,推崇与渲染分形的艺术特征…。
一方面,从来不以科学内容本身为主题的艺术创作,现在也大量引用“动力系统”、“迭代逼近”、“混沌吸引子”等科学术语,进而极力采用计算机绘图手段,创造出无比神奇的作品。由这一点出发,可以说,艺术家已经开始漫步于科学领地!
另一方面,一向以严肃表情面向读者的科学著作一反常态,书名也竟然浪漫起来:《The Beauty of Fractals》(分形之美)(1986),《Fractals Everywhere》(分形处处可见),《The Algorithmic Beauty of Plants》(植物算法中的美)(1990), ….大量精美的、显示分形的科学挂图,乔装打扮,在美术馆展厅登场,接受艺术鉴赏家的评头论足,科学家也从此跨入了神圣的艺术殿堂!
分形之美,往往须经计算机的处理才能表现出来的。今天,人们可以在网络上,浏览与欣赏各种不同风格的分形作品,有的针对科学研究中要表达的一些特别的对象,有的则完全是艺术。网络天地会给你提供许多、美妙惊奇的分形图画,令你心犷神怡,也有时令你眼花缭乱。现在就让我们步入分形的艺术世界,欣赏分形之美:
![]() |
![]() |
5.2 曼德布劳特其人
分形这个名词是从曼德布劳特制造的英文新词Fractal翻译过来的。制造一个新词来炒作一个新颖的学术观点在数学界实属罕见。而曼德布劳特全然不顾传统习俗,硬是制造了Fractal这个新的词汇,意思是破碎、细分之类。在分形的题目下,乍看起来讨论的问题似乎都是来自一百年前就有的事情。可是,动人之处也恰恰在此。
不错,像分形的典型例子:雪花曲线、处处连续处处无切线的曲线、填满空间的曲线等等早已经出现在大学的教科书中。但是,在大学的微积分课程里,传统上对于这些事实,都说这是“反例”。顾名思义,反例的意思是反常的、病态的、非正宗的、违背传统观念的。
那么,什么是正统的内容呢?在微积分里,人们过多研究的是那些连续的、光滑的、乃至具有无穷阶导数的函数。微积分研究这样的“好”函数本来不错,今后也还要这样做;然而问题在于把那些“坏”函数有意排除在外,现在看起来倒是有些偏颇。我们看看曼德布劳特本人是怎样说的呢?
曼德布劳特的贡献在于把前人的许多优秀、然而是凌乱的成果联成一个系列,发现这里有一种内在的数学结构,不能不说他做了一件非常有意义的事情。虽然,在评价曼德布劳特的分形时,有人仅仅以分形的大量典型例子皆出自早年数学家之手为理由,不太愿意承受曼德布劳特的功绩。但是,曼德布劳特本人似乎一贯我素我行,好象从来不管别人怎么说。他总是积极而投入地干他自己想干的事情。他生在波兰、长在法兰西、移居美利坚;他教过经济学、管理学、几何学。他被称赞为多个领域的专家,只是数学领域流行一个并不公道的说法:“曼德布劳特可以是这个家、那个家,但他惟独不能算个数学家”。
下面列写的,是曼德布劳特的简历:
1924.11.20年出生在波兰华沙的立陶宛犹太人家庭,
父亲是生意人,母亲是商人;
1936年全家搬迁到巴黎;
1937年开始上中学;
1944年在巴黎理工学院开始上大学;
1947年毕业于巴黎理工学院大学毕业获学士学位;
1948年在美国加州理工大学获得硕士学位;
1952年12月在巴黎大学获得哲学博士(数学)学位;
1953年开始在普林斯顿高级研究院工作;
1955年在法国结婚,然后到日内瓦工作;
1958年在IBM的Watson研究中心任学术顾问; Voss给曼氏作的分形画像
1962年在哈佛大学任教;
1967年在科学杂志上发表了《英国的海岸线有多长?》一文;
1973年在法兰西学院讲课期间提出了分形几何的思想;
1982年出版了《大自然的分形》一书;
1985年荣获Banard奖;
1986年荣获Franklin奖;
![]() |
![]() | ||
曼德布劳特的童年和青年时期的照片
5.3 英国的海岸线有多长
曼德布劳特于1967年在科学杂志上发表了一篇具有启发性的文章:“英国的海岸线有多长?”。这篇文章提醒人们,如果认真说起海岸线这种曲线的长度,那是不能得到一个确定答数的。
海岸线是陆地与海洋的交界线。由于海水的冲击和陆地本身的运动,海岸线变得弯弯曲曲,形成大大小小的海湾,呈现不规则的形状。从飞机上看,在不同高度上俯瞰海岸,人们不难发现在不同高度上观察到的海岸线,整体上说自相似的。换句话说,海岸线具有相似结构。
测定海岸线的长度,取决于测量的尺度。如果测量的单位比较大,如同远距离观察的结果,较小的海湾不能被看见,因而在测量中得不到反映。当你接近海岸线的时候,相当以小的单位作出测量,一些比较小的海湾变得清晰。如果再缩小尺度,那么海湾的细节被纳入观测。一再地缩小尺度,则更精细的凸凹隆起的波动也可以逐渐清晰的显现出来。因此,曼德布劳特断言海岸线的长度是不确定的。
1961年,著名科学家L. F. Richardson曾经发现了下面的计算公式:
(1)
当这一公式被看成进行海岸线度量的数学模型时,
为常数,
为进行测量时尺度的大小,
为指数。Richardson没有明确的指出
所包含的深入含义。从(1)式可见
未必是整数。曼德布劳特则将其解释为一类维数。这样一来,海岸线被看作为一个经典分形的例子。当然,在曼德布劳特之前,早就有豪斯道夫关于测度的深入研究,从这里可以自然地发展出一类分形维数。
实际上,由海岸线的这一数学模型,不但可以应用于对海岸线进行度量,也可以应用于各向异性的湍流及扩散过程、城市和乡村的边界、云和雾的形状、一定条件下雪花的形状、气体中悬浮体的凝聚、气态金属在固体表面上的沉集等。据医学家说,癌细胞的外表、以及在血的悬浮物中,红血球凝聚形成的凝聚体也具有类似分形的结构。
5.4 H—分形
关于从海岸线的模型引出分形的概念,可以认为是有实际背景的。此外,也可以人为地定义点集,使其成为某种分形。
让我们看怎样用图形表示二进小数。
我们的任务是将0.0, 0.1, 0.01, 0.11, 0.001, 0.011, 0.101, 0.111 … 在平面上标定出来。熟知,画一条直线,其上规定好单位长,就可以画图了。然而,我们采取另外的规定。选定一点,设想你站在此处,而且是面向正北方向。规定:当你“向左转、一步走、连直线”之后,所在的位置定为0.0 , 而“向右转、一步走、连直线”之后,所在的位置定为0.1,如图3第一排第一个图所示。往下进行,步长改为前一次步长的一半,于是,为了画出小数点后两位的小数,你要记住你在前一次0.0处脸面朝向是“向西”、在0.1处脸面朝向是“向东”。这样一来,当你再“向左转、一步走、连直线”、及“向右转、一步走、连直线”之后,按规定画出的图形为图3第一排第二个H形的图所示。接着,记下你的面向、步长再缩成前次的一半,再执行“向左转、一步走、连直线”(落脚处对应的数,是前次的小数之尾巴添个0)、“向右转、一步走、连直线”(落脚处对应的数,是前次的小数之尾巴添个1)。按着这个规律,继续下去,下一次,画出的就是图3第一排第三个H形的图所示,依此类推,进行若干次之后,画出图3第二排第一个图形。
请注意,按照我们的画图规定,建立了‘数’与‘点’之间的一一对应关系,于是给出了数的一种图示法。
下面,是做图形学上的演绎:不顾传统数学画图中“直线没有宽度”的限制,这里,我们认为直线段是可以规定其宽度的,于是,你可以画出图3第二排第二个图。这时,可以看出这是一棵“树”。
在下面,再做画图规则上的修改:注意,前面的规定中,“左转”、“右转”并没有指定旋转的角度,那时我们默认为90度(直角)。事实上,我们完全有选择角度的自由。思想一旦得到解放,我们就可以画出各种各样的“树”。
其实,再进一步思考所有前面的讨论,又都可以认为:噢!原来不过是简单的二叉树的推广而已!
是的,就是简单的二叉树的推广。也就是说,简单的二叉树的图形示意中,已经蕴涵有分形的思想。上面图3所示,称之为H分形。
图3 H分形及其变形
5.4.1 何谓IFS
IFS是迭代函数系统的简称,这是分形图形绘制的一种重要方法,本方法最早由Hutchinson于1981年给出。IFS的基本思想是选定若干仿射变换,将整体形态变换到局部,这一过程可以一直进行下去直到得到满意的结果。
度量空间
与定义在其上的一有限个压缩映射族
,
组成一(双曲)迭代函数系,用IFS表示它,如果
的压缩比为
,
则称
为此IFS的压缩比。
如果
由下式定义
则
为压缩映象并且存在
,
称为这个IFS的吸引子,吸引子都是确定的分形。
一个二维IFS变换由两部分组成:一个仿射变换集合
其中
,
压缩变换
的李普西斯常数为
,及一个概率的集合
,通常记IFS为
,如果它满足条件
,则称其为一个IFS码。
是压缩仿射变换的IFS码,令
表示这些变换的最大的李普希斯常数,
为任意的正数。又设T为
上的一个给定的闭的有界的子集,假定选择变换
满足
(2)
那么就有
(3)
其中
表示距离,
为IFS的吸引子。这一定理称为拼贴定理。拼贴定理告诉我们,只要变换选择的恰当,迭代的结果可以使得目标图象与吸引子任意接近。
图4 利用迭代函数系产生的图形
5.5 分形与分形的维数
一般认为,满足下列条件的图形称为分形集:
1)分形集具有任意尺度下的比例细节,或者说具有精细结构;
2)分形集不能用传统的几何语言来描述,它既不是满足某些条件点的轨迹,也不是满足某些简单方程的点集;
3)分形集具有某些自相似性,可能是近似的自相似或者统计的自相似;
4)分形维数一般大于它的拓扑维数;
5)分形集的定义简单,可能由迭代产生;
第4)条中所说的分形维数,是针对集合而言的。如果在对集合的描述中需要若干个坐标,这些坐标的个数就是该集合的维数;分形相似维数是指如果一个图形是将原图形缩
小为
相似的
个图形,则分形的相似维数为
;分形的容量维数是指几何体
,若用直径为
的小球去覆盖,所需的小球最小数目为
,则
的容量维数为
。
5.6 L系统
大自然中,多姿多彩的植物世界深深地吸引着科学家们。他们对其显著的几何特性作了深入而广泛的研究。美国生物学家A. Lindenmayer于1986年提出了一种研究植物形态与生长的描述方法。这种方法称为L系统。L系统不仅研究植物的拓扑结构,而且研究植物形态的几何解释。1984年A. R. Smith将L系统和计算机图形学结合起来,向人们展示出了L系统在计算机模拟植物方面的能力,为计算机模拟真实感图形提供了一个有用的工具。L系统是一种形式语言,它需要通过对符号串的意义进行解释并执行相应的操作。L系统用于植物生长过程的模拟是非常成功的,它不仅局限于植物生长的模拟,它的思想还可以应用到电子线路的设计、自然景物、建筑群体结构等方面。
利用L系统进行计算机图形绘制的过程是设计L系统的逆过程,从信息学的角度讲,绘制L系统图形的过程实际上是将L系统中压缩的图形信息释放出来。因此,L系统在计算机图形图象以及信息压缩的其它方面必将有着重要的实际意义。
图5 利用L系统绘制的树木图形
5.7 复迭代中的分形
为了说明复迭代中的分形,先说明一维离散的动力系统:
定义:设
为实函数,给定
,则下面的迭代公式
(4)
就是一个动力系统。
通过计算可以得到
序列,这个序列称为该动力系统的轨道。上面的(4)式也可以写成下面的形式:
(5)
如果函数
的逆函数存在,并且可以写成
的形式,则就有:
(6)
由于这个动力系统只存在一个未知数,故称为一维离散的动力系统。
Manderbrot集的迭代过程可以写成如下的形式:
(7)
当
时,法国数学家Julia注意到如果
总是产生按模有限的数,并且整个边界可以从其自身任意取定的小片上生成出来,这种局部暗含整体的“全息” 性质便是自相似。一般说来对于不同的μ可以有不同的边界,这类边界就是Julia集。Julia 集在采用计算机绘图之前只存在于数学家的脑海里,因为没有人能用手绘制出这样的图形,计算机的出现使得人们将想象变为可视(参见图5)。
在复平面上
确定的过程是有界的,那么μ以怎样的形式分布在复平面上。如此μ和
得到的集合称为Mandelbrot集(参见图6)。
G. Julia是(1893-1978)法国杰出的数学家,1918年发表了长达199页的数学论文而成为当时数学界的著名人物。作为法国战士,在第一次世界大战期间失去了鼻子,后来在巴黎的Ecole工业大学任教,成为现代动力系统的奠基人。二十世纪七十年代,随着计算机图形学的发展,Mandelbrot在计算机上绘制了Julia集合的图象。Julia集合非常漂亮并具有分形结构,是分形图形学中的代表图形。
集的图象
5.8 分形图象压缩
1988年M.F. Barnsley提出了利用分形理论和方法进行图象压缩的思想。这种方法在美国的迭代系统过程公司得到了广泛的应用,并申请了专利。这种方法发现后,不久就被应用于图象的压缩方面,1992年美国微软公司的每年出版的万花筒光盘就采用了这种数据压缩技术。
分形图象压缩重要的理论基础是照相机算法:
照相机算法:假设平面上的图象为
,由假设一组变换
于是可以有下述的迭代过程:
从而得到序列
。如果
是压缩的,则
按照Hausdorff度量收敛到该IFS的吸引子。在实际的应用中这一方法被称为照相机算法。
分形图象压缩技术对特定的图象具有很高的压缩比,例如对枫叶图象可以压缩到1365倍,而采用离散余弦变换为核心的压缩技术只能压缩到8~20倍左右,对于精心调整的小波压缩变换方法也只能压缩到100倍作用,可见分形压缩编码在高压缩比的图象压缩上具有很大的潜力。
分形图象压缩的一般方法是把原始的图象按照一定的方法分解为若干个分形子图,使得每一个子图都具有一定的分形结构(子图的整体与局部之间存在某种自仿射特征),分解可采用其它的图象处理手段,且由大量的这些子图组成了分形库,每一个子图可以在这些分形库中找到与它们的匹配的子图分形编码。这样对图象的分形编码可以化为图象分割,到库中去寻找相匹配的分形编码,最后仍掉原始图象,保存子图象编码,进行存储和传输。
编码过程:
1)将图象G以方块
覆盖,一方面G被这些区域完全覆盖,另一方面这些区域又不要彼此重叠。
2)引入一组方块,这些方块与R的交非空。这些方块的边长取作上述方块区域
边长的2倍。待定的方块R的左下顶点坐标
限定在有限集L内。这样一来可以给出一组R到
的局部压缩仿射变换。记为
:
其中
为局部IFS拼贴变换,
指矩阵的编号。
3)对于每一个
选择相应的
,使得
内图象被变换的部分尽量的相似于
内的图象部分。集合
就是
的拼贴。
4)给出局部IFS所必须的各种参数。对给定的图象G选定适当的坐标系。根据前面给出的
和
的关系,得到所需要的参数。
5)根据以上得到的压缩数据,采用照相机算法生成图象序列
.
Barnsley的分形图象压缩方法目前还存在着很多的问题。因为对于图象的子图分割,一直没有统一的计算机方法;其次,分形库的规模比较大,没有统一的建库方法;高压缩比的编码搜索过程是以费时为代价的,很难实现自动压缩。对图象压缩而言,虽然可以达到很高的压缩比,但是编码过程在很大程度上让人难以忍受。目前流行的图象压缩方法是Fisher(费什尔)提出的改进方法,这些方法在图象的压缩中具有一定的作用。
附录:用于绘制分形图形的程序
以下是采用Visual Basic 编写的有关分形图象的程序,可以在计算机上实现.
1)SIERPINSKI分形图形:
Private Sub sierpinski()
Dim s(100, 100), t(100, 100), x(12), y(12)
Dim a(3), b(3), c(3), d(3), e(3), f(3)
a(1) = 0.5
a(2) = 0.5
a(3) = 0.5
b(1) = 0
b(2) = 0
b(3) = 0
c(1) = 0
c(2) = 0
c(3) = 0
d(1) = 0.5
d(2) = 0.5
d(3) = 0.5
e(1) = 1
e(2) = 1
e(3) = 50
f(1) = 1
f(2) = 50
f(3) = 1
For i = 1 To 100
t(1, i) = 1
t(i, 1) = 1
t(100, i) = 1
t(i, 100) = 1
Next i
For n = 2 To 8
For i = 1 To 100
For j = 1 To 100
If (t(i, j) = 1) Then
For k = 1 To 3
s(a(k) * i + b(k) * j + e(k), c(k) * i + d(k) * j + f(k)) = 1
Next k
End If
Next j
Next i
For i = 1 To 100
For j = 1 To 100
t(i, j) = s(i, j)
s(i, j) = 0
If (t(i, j) = 1) Then
ScaleMode = 3
PSet (150 + i, 100 + j), RGB(0, 255, 0)
End If
Next j
Next i
Next n
End Sub
2)分形插值曲线:
Private Sub Fractal_interpolating()
Dim x(3), f(3), d(3) As Double, a(10), e(10), c(10), ff(10)
Dim xx, yy As Double
x(0) = 0
x(1) = 40
x(2) = 55
x(3) = 100
f(0) = 0
f(1) = 20
f(2) = 40
f(3) = 15
d(1) = 0.4
d(2) = -0.3
d(3) = 0.6
For n = 1 To 3
b = x(3) - x(0)
a(n) = (x(n) - x(n - 1)) / b
e(n) = (x(3) * x(n - 1) - x(0) * x(n)) / b
c(n) = (f(n) - f(n - 1) - d(n) * (f(3) - f(0))) / b
ff(n) = (x(3) * f(n - 1) - x(0) * f(n) - d(n) * (x(3) * f(0) - x(0) * f(3))) / b
Next
xx = 0
yy = 0
i = 0
Do While i < 5000
k = Int(3 * Rnd - 0.0001) + 1
newx = a(k) * xx + e(k)
newy = c(k) * xx + d(k) * yy + ff(k)
xx = newx
yy = newy
ScaleMode = 3
PSet (150 + xx * 3, 100 + yy * 2), RGB(0, 255, 0)
i = i + 1
Loop
End Sub
3)分形树曲线:
Private Sub Fractal_tree()
x = 0
y = 0
i = 0
Do
v = Rnd
Select Case v
Case 0 To 0.05
x = 0
y = 0.5 * y
Case 0.05 To 0.45
u = 0.42 * x - 0.42 * y
y = 0.2 + 0.42 * x + 0.42 * y
x = u
Case 0.45 To 0.85
u = 0.42 * x + 0.42 * y
y = 0.2 - 0.42 * x + 0.42 * y
x = u
Case Else
x = 0.1 * x
y = 0.1 * y + 0.2
End Select
ScaleMode = 3
PSet (200 + x * 400, 250 - y * 400), RGB(0, 250, 0)
i = i + 1
Loop Until i > 8000
End Sub
4)混沌图形一例:
Private Sub Chaos ()
x = 0
y = 0
xa = 200
ya = 100
xb = 100
yb = 200
xc = 400
yc = 400
Form1.ScaleMode = 3
i = 0
Do While i < 10000
k = Rnd()
If (k < 0.9) And (k > 0.6) Then
x = (x + xc) / 2
y = (y + yc) / 2
PSet (x, y), RGB(0, 255, 0)
End If
If (k > 0.3) And (k < 0.6) Then
x = (x + xa) / 2
y = (y + ya) / 2
PSet (x, y), RGB(0, 255, 0)
End If
If (k > 0.1) And (k < 0.3) Then
x = (x + xb) / 2
y = (y + yb) / 2
PSet (x, y), RGB(0, 255, 0)
End If
i = i + 1
Loop
End Sub
参 考 文 献
[1] 齐东旭. 分形及其计算机生成. 北京: 科学出版社, 1994.
[2] 齐东旭等. 图形及其计算机探索. 长春: 吉林大学出版社, 1889.
[3] 胡瑞安等. 分形的计算机图形及其应用. 北京: 中国铁道出版社, 1995.
[4] 李后强等. 分形与分维. 四川:四川教育出版社, 1990.
[5] 曾文曲等. 分形理论与分形的计算机模拟. 沈阳: 东北大学出版社, 1993.
[6] 陈守吉等. 分形与图象压缩. 上海: 上海科技出版社, 1992.
[7] 曾文曲等译. 分形几何—数学基础及其应用. 沈阳: 东北大学出版社, 1991.
[8] 陈衍仪等. 图象压缩的分形理论与方法. 北京: 国防工业出版社, 1997.
[9] Yuval Fisher. Fractal Image Compression (theory and application). New York: Springer- Verlag. 1994.
[10] Barnsley, M, F. Fractal Image Compression. Massachusetts: A K Peters, Ltd. Wellesley, 1992.
| 热门资讯 |
| 最新资讯 |
| 还没有任何评论。 |