用Delphi实现分形图形的绘制.doc_第1页
用Delphi实现分形图形的绘制.doc_第2页
用Delphi实现分形图形的绘制.doc_第3页
用Delphi实现分形图形的绘制.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用Delphi实现分形图形的绘制日期:2006-05-27来源: 作者:字体:大 中 小 公学成摘 要 分形理论(fractal theory)是一门新兴边缘学科在油田开发中也得到了广泛的应用。本文对分形几何学进行了初步的探索和研究,并用Delphi语言实现了常用分形图形的IFS绘制算法。关键词 分形 仿射变换 迭代 IFS 1 关于分形在二十世纪七十年代,数学家曼德尔勃罗特(B.B.Mandelbrot)在他的著作中探讨了英国的海岸线有多长的问题。这个问题的解决依赖于测量时所使用的尺度,如果用公里作测量单位,从几米到几十米的一些曲折会被忽略;改用米来做单位,测得的总长度会增加,但是一些厘米量级以下的就不能反映出来。由于涨潮落潮使海岸线的水陆分界线具有各种层次的不规则性。海岸线在大小两个方向都有自然的限制,取不列颠岛外缘上几个突出的点,用直线把它们连起来,得到海岸线长度的一种下界。使用比这更长的尺度是没有意义的。还有海沙石的最小尺度是原子和分子,使用更小的尺度也是没有意义的。在这两个自然限度之间,存在着可以变化许多个数量级的“无标度”区。由于长度不是海岸线的定量特征,就要用分维的方法,于是尔勃罗特创立了分形几何学。其实自然界中许多事物,具有自相似的“层次”结构,在硐肭榭鱿拢踔辆哂形耷畈愦巍实钡姆糯蠡蛩跣负纬叽纾鼋峁共桓谋洹簧俑丛拥奈锢硐窒螅澈缶褪欠从匙耪饫嗖愦谓峁沟姆中渭负窝缥锢硌械耐牧鳌断叩男巫础黄稚踔涟嗨欺飞朴吞镎庵址蔷实夭愕母飨畹厍蛭锢聿问饩摺杉弁嫉取哉庑窒蟮拿枋龊脱芯烤捅匦胗梅中渭负蔚姆椒?lt;/DIV 1.1 分数维的概念我们知道0维是点,一维是线,二维是面,三维是空间。一条直线段是一维的,由四条这样的直线段组成的正方形是二维的。六个这样的正方形组成的正方体是三维的。直线的长度数值,正方形的面积数值和立方体的体积数值都和我们测量的单位有关。测量的单位也往往是我们所能分辨的最小单位。假设我们的分辨能力增加了一倍,因此我们把直线段长度单位减小到原单位的一半,直线段长度的计量值就变为原来的两倍,正方形面积就变为原来的四倍,体积则变为原来的八倍。我们有下式: log4/log2=2 log8/log2=3 如下图1图1这里的2和3不是巧合,这是另一种维数的定义:测度维的概念。为了定量地描述客观事物的“非规则”程度,1919年,数学家从测度的角度引入了维数概念,将维数从整数扩大到分数,从而突破了一般拓扑集维数为整数的界限。即如果某图形是由把原图缩小为1/a的相似的b个图形所组成,有:aD=b,D就是维数,即D=logb/loga。回到海岸线长度的问题,当用直线段来近似曲线时,长度单位减为原来的一半往往意味着我们可以用长度为原来的二分之一的直线段来近似曲线。这时,海岸线长度增加程度近似于一个固定的倍数。对于英国海岸线来说,其值约为2.7,而log2.7/log2=1.41,1.41就是英国海岸线的维数。 1.41由于是一个分式所得出的比值,因此人们称之为分数维。还有其他一些分数维的定义方法,但得出的结果都比较近似。分数维是衡量分形的基本参数之一。1.2 分形的特点 一般来说分形集满足以下条件(1)、具有任意尺度下的比例细节(2)、不能用传统的几何语言来描述,它既不是满足某些点的轨迹,也不是满足某些简单方程的点集合。(3)、分形具有自相似性,可能是近似的自相似或统计的自相似。(4)、分形维数一般大于它的拓扑维数。(5)、由于具有自相似,分形集合都可以由迭代产生。图21.3 常见的分形图形(如下图2)2 分形的迭代函数系统方法函数系统(IFS,简称迭代函数系)方法是美国佐治亚理工学院的巴斯利教授首创的,是分形图形绘制的一种重要方法。IFS的基本思想是选定若干仿射变化,将整体形态变换到局部,随着迭代次数N的增加,就可以得到满意的结果。度量空间(X,)与定义在其上的有限个压缩映射族j:XX,j=1,2,,n组成一(双曲)迭代函数系,用IFS表示它,如果n的压缩比Cj 其中h(T,G)表示距离,G为IFS的吸引子。根据此公式,只要仿射变换选择得当,迭代的结果可以使得目标图像与吸引子任意接近。仿射变换是一种线形变换,在二纬平面上进行讨论,二维仿射变换的形式为:R:X=a*x+b*y+eY=c*x+d*y+f上式中未知数有两个:x和y;系数有四个:a,b,c和d:常数有两个:e和f。设平面上有一面积区域D,经过仿射变换R变换后变成D,则D和D面积关系为:S(D)=|det(A)|*S(D)这里|det(A)|为矩阵A的行列式的绝对值,它是小于1的正数,其中A为系数矩阵。对于不同的R_i(I=1,2,N),有相应的A_I(a_i,b_i,c_i,d_i组成),相应的常数e_i和f_i.通常N取2,3,4,有时高达16。接着要解决的问题是怎样实现随机迭代的问题,由于在计算机中很容易实现用随机数发生器不断生产随机数。假设N=4,每次用计算机生成一个随机数E(0,100),设0123100,做如下规定: 若0E1,则选择迭代规则R_1若1E2则选择迭代规则R_2若2E3则选择迭代规则R_3若3E100,则选择迭代规则R_4指定i的过程,就相当于为每种迭代指定一个概率P_i。虽然说每次用哪个规则不确定,但随着迭代次数的增加每种规则使用的频率是一定的。3 算法实现运用仿射变换和IFS的方法,用DELPHI语言实现了分形树曲线的绘制。首先要确定四种不同的仿射变换R1,R2,R3,R4即A_1(a_1,b_1,c_1,d_1)A_2(a_2,b_2,c_2,d_2)A_3(a_3,b_3,c_3,d_3)A_4(a_4,b_4,c_4,d_4)以及对应的e_i,f_i和概率p_i,根据分形树的特点,结合IFS的规则做以下的假设:R1:A_1(0,0,0,0.5),e=0,f=0,0p0.05R2:A_2(0.42,-0.42,0.5,0.42),e=0,f=0.2,0=0.05p0.45R3:A_3(-0.42,0.42,0.5,0.42),e=0,f=-0.2,0=0.45p0.85R4:A_4(0,0.1,0,0.2),e=0,f=0,0=0.85p1当然可以根据需要变换系数,在实际的编程中,变换不同的行列式可以得到不同的分形树的形状如下图。按照这种迭代方法迭代10000次得到的分形树图如下图3,如果改变相应的系数则得到如下图4的分形树。图3图4实现这种算法的流程图如下图5所示:图54 分形技术的前景目前分形技术在油田勘探与开发、测井、地理信息系统、石油地质、产量预测等方面都得到了广泛的应用。由于鄯善油田地层平面、剖面的非均质性,使分形技术在鄯善油田动态分析中的应用成为可能,例如可以根据IFS算法求得任何一段测井

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论