分形图形与分形的产生
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分形图形
分形理论是非线性科学的主要分支之一,它在计算机科学、化学、生物学、天文学、地理学等众多自然科学和经济学等社会科学中都有广泛的应用。分形的基本特征是具有标度不变性。其研究的图形是非常不规则和不光滑的已失去了通常的几何对称性;但是,在不同的尺度下进行观测时,分形几何学却具有尺度上的对称性,或称标度不变性。研究图形在标度变换群作用下不变性质和不变量对计算机图形技术的发展有重大的意义。
说到分形(fractal),先来看看分形的定义。分形这个词最早是分形的创始人曼德尔布诺特提来的,他给分形下的定义就是:一个集合形状,可以细分为若干部分,而每一部分都是整体的精确或不精确的相似形。分形这个词也是他创造的,含有“不规则”和“支离破碎”的意思。分形的概念出现很早,从十九世纪末维尔斯特拉斯构造的处处连续但处处不可微的函数,到上个世纪初的康托三分集,科赫曲线和谢尔宾斯基海绵。但是分形作为一个独立的学科被人开始研究,是一直到七十年代曼德尔布诺特提出分形的概念开始。而一直到八十年代,对于分形的研究才真正被大家所关注。
分形通常跟分数维,自相似,自组织,非线性系统,混沌等联系起来出现。它是数学的一个分支。我之前说过很多次,数学就是美。而分形的美,更能够被大众所接受,因为它可以通过图形化的方式表达出来。而更由于它美的直观性,被很多艺术家索青睐。分形在自然界里面也经常可以看到,最多被举出来当作分形的例子,就是海岸线,源自于曼德尔布诺特的著名论文《英国的海岸线有多长》。而在生物界,分形的例子也比比皆是。
近20年来,分形的研究受到非常广泛的重视,其原因在于分形既有深刻的理论意义,又有巨大的实用价值。分形向人们展示了一类具有标度不变对称性的新世界,吸引着人们寻求其中可能存在着的新规律和新特征;分形提供了描述自然形态的几何学方法,使得在计算机上可以从少量数据出发,对复杂的自然景物进行逼真的模拟,并启发人们利用分形技术对信息作大幅度的数据压缩。它以其独特的手段来解决整体与部分的关系问题,利用空间结构的对称性和自相似性,采用各种模拟真实图形的模型,使整个生成的景物呈现出细节的无穷回归的性质,丰富多彩,具有奇妙的艺术魅力。分形对像没有放大极限,无论如何放大,总会看到更详细的结构。借助于分形的计算机生成,从少量的数据生成复杂的自然景物图形,使我们在仿真模拟方面前进了一大步。在分形的诸多研究课题中,分形的计算机生成问题具有明显的挑战性,它使传统数学中无法表达的形态(如山脉、花草等)得以表达,还能生成一个根本“不存在”的图形世界。分形在制造以假乱真的景物方面的进展和潜在的前途,使得无论怎样估计它的影响也不过分。可以肯定,分形图案在自然界真实物体模拟、仿真形体生成、计算机动画、艺术装饰纹理、图案设计和创意制作等具有广泛的应用价值。
分形图形简介一、关于分形与混沌
关于分形的起源,要非常准确的找出来是非常困难的。研究动态系统、非线形数学、函数分析的科学家,已数不胜数。尽管分形的早期线索已非常古老,但这一学科却还很年轻。比如关于动态系统和细胞自动机的大部分工作可以追溯到冯-诺依曼;但是,直到Mandelbrot 才如此清楚地将自然现象和人工现象中的混沌及分形同自相似性联系在一起。大家如果对此感兴趣,可进一步查阅有关资料。下面我们看一看分形的概念。
什么是分形呢?考虑到此文的意图,我们无意给出它严格的定义,就我们的目的而言,一个分形就是一个图象,但这个图象有一个特性,就是无穷自相似性。什么又是自相似呢?在自然和人工现象中,自相似性指的是整体的结构被反映在其中的每一部分中。比如海岸线,常举的例子,你看它10公里的图象(曲线),和一寸的景象(曲线)是相似的,这就是自相似性。
与分形有着千差万屡的关系的,就是混沌。混沌一词来源与希腊词汇,原意即“张开咀”,但是在社会意义上,它又老爱和无序联系在一起。解释分形和混沌的联系,要注意到分形是
分离吸引子和排斥吸引子产生的,因此某种意义上说,分形是混沌行为的视觉表现。
看这些东东是不是比较枯燥?呵呵,我也没办法给大家弄些美丽的图片看看---不过你可以到外面走走了,看看天上武汉的云是不是很漂亮?然后再回来,下一篇我将给大家说一点数学知识,并把我写的程序拿出来,谈谈分形的产生。
二,一点数学知识
首先要说明的是,这里介绍的数学知识,只是为了介绍分形概念的方便。如果你想详细了解这方面的知识,复变函数、概率、混沌系统等等一系列的东西,你最好去专门看一看。
1,吸引点和逃离点
这是描述分形产生的基本词汇。我们考虑这样一个函数f:
f: R -> R
x -> f(x)
函数和它自身的复合,比如f,记作f(f(x))。如果你将f再一次作用于结果,则记为f(f(f(x))),这样你就完成了一个函数f的复合迭代。很显然,在定义域的某一点上的函数迭代,有可能是发散的或收敛的。使迭代发散的点称为斥点;然而,如果迭代结果趋于某一个孤立的点,则该点称为吸引点。在迭代中,两者都不是的点,就称为中性点。
下面考察某些迭代函数或迭代几何过程的所有吸引点的集合。当迭代函数或迭代几何过程的吸引集是一个无限自相似集(也就是分形,understand?),那么这个吸引集就称为一个奇异吸引子。
2,分叉图
某些实函数的吸引子集合,比如一个简单的例子:
f(x)=x**2 +c //2是幂:)
对于某些实常数c进行函数迭代。假设从c=-1.1,x=0开始,你不妨拿个计数器:),进行迭代。重复作下去,你会发现一个有趣的现象:迭代结果在-1.0左右和0.1左右跳来跳去。如果迭代次数很多,比如200次,并且对一定范围内不同的c值都这样做,将会有一个非常美妙的令人惊讶的结果。
到底如何呢?呵呵,关键时候,偏要感冒---我可以把每次迭代的结果画成图,可惜没办法给你分享。---我只能干吧吧的说,对很多c的取值都这样做,将会得到一幅图形,即分叉图。
了感欣慰的是,后面我将给大家介绍程序的实现。你回去一试,不就ok了?
很显然,分叉图是一类简单而又有趣的分形。应用很多。
3,Sierpinski三角形
从上面的介绍中,你也许已发现分形产生的一个途径。另一条途径就是通过重复进行某个特殊的几何过程。这类分形叫做迭代函数系统(IFS)。
Sierpinski三角形是一个比较经典的例子。
我只能把它形成的过程说一说了,也不管那百闻不如一见的话。
(1)三角形,取三边的中点并相互连接---产生四个全等的小三角形;
(2)根据(1)对每一个小三角形如此迭代。
重复一定次数,就会产生一个奇异吸引子,也就是一个分形。
程序实现的技巧后面详细叙述。
分形是可递推产生的,我不在详细说了,比如Cantor集的例子,大家在一般书中应能找的到.我最后想说说IFS变换规则。它在分形算法的描述和程序的实现中非常重要。
4,迭代函数系统变换
产生Sierpinski三角形和其它一些分形的几何规则可以用一套包括滑动、伸展和旋转在内的运算来进行描述。这类数学运算称为仿射变换,通常用矩阵运算实现其编程。