手机版
您的当前位置: 钻爱网 > 发言致辞 > 开幕式 > 基于GumowskiMira公式的分形图实现算法的解决_分型公式

基于GumowskiMira公式的分形图实现算法的解决_分型公式

来源:开幕式 时间:2019-10-13 07:47:29 点击:

基于GumowskiMira公式的分形图实现算法的解决

基于GumowskiMira公式的分形图实现算法的解决 1 引言 分形是日常生活中常见的现象,本文只研究基于公式 Gumowski-Mira的分形。通过对公式中参数的多次改变,研 究图形的变化,从而研究各个参数的物理意义。对于程序代 码,本文会着重讲解其中的每个参数和变量对图形的影响, 从而把其中的物理意义进行总结归纳,让大家对分形以及在 这个公式基础上的分形有一个清楚、全新的认识! 2 分形概述 分形的起源 其实,分形的研究可以上溯到很久以前。

大约100年前,分形的思想已经开始出现在数学领域。但是, 就像其他的一些革命性的思想一样,分形的研究受到主流学 术的谴责,被人们认为只是研究一些数学中的怪异现象。那 时候著名的数学家Charles Hermit把分形称为“怪物”,这 代表了绝大多数人的观点。

IBM公司的数学家Benoit B. Mandelbrot认真地研究了 分形与自然的关系,他向人们展示了分形广泛地存在于身边, 一些现象都能够用分形来进行准确的描述,他和他的同事们 用分形来描述树和山等复杂事物。他还扩展了维数的概念, 开创性地提出了分数维的概念,并创造了“fractal”一词。

“fractal”就是人们所说的“分形”,也叫“分维”,台 湾的学者则称之为“碎形”。为了褒奖Mandelbrot的突出贡 献,人们把他称为“分形之父”[1]。分形的概念 Mandelbrot在解释“分形”一词时说:“我 由拉丁语形容词fractus创造了‘分形’(fractal)一词。

相应的拉丁语动词fragere意味着‘打破’和产生不规则的 碎块。从而可见,除了‘破碎的’(如像碎片或曲折),fractus 也应当具‘不规则’的含义,这两个含义都被保存在碎片 (fragment)中。”[2]有许多数学结构是分形,如谢尔宾 斯基三角形、科切雪花、皮亚诺曲线、曼德勃罗集、洛仑兹 吸引子等。分形同样可以描述许多真实世界的对象,如云彩、 山脉、湍流和海岸线等,当然它们不是单纯的分形形状。

Mandelbrot曾给出了一个分形的数学定义:一个几何对 象,它的豪斯道夫维数严格大于其拓扑维数。这不仅有些抽 象,而且也不是一个令人满意的定义,因为还有好多分形没 有被该定义涵盖。后来他又给出一个比较通俗的定义:部分 与整体以某种形式相似的图形。该定义仍然不能表达分形的 全部意思,但会使很多初学者开始理解分形了,虽然还不能 全部理解。

分形的几何特征 分形是破碎的、不规则的,其几何性 质十分丰富,可以说,到目前为止它的几何性质还没有完全 被挖掘出来。这里只将分形最常见的一些性质描述给大家:
1)分形是破碎的,局部不能可微的不规则图形;
2)分形一 般是自相似的,或是统计自相似的;
3)分形有时也是自仿 射的;
4)分形的维数一般是分数的,但也有整数维数的分 形;
5)分形图形具有精细结构,即无论局部放大多少倍数,仍然具有复杂的结构。

3 典型分形图形 图3.1是比较典型的分形图形,它们都具有自相似特性, 但并不严格自相似,所以用“具有自相似”特性来定义分形 已经有许多局限了,在人们的知识中应该继续扩展分形的含 义。

通过前面的介绍已经知道:分形最明显的特征是自相似 性,其他的特征包括无限复杂、无限细致等。分形图形图3.1, 它表现出自相似的特性。这里的自相似性体现在:每一个图 都是由它的更小版本组成,而整个图形并没有重复。也就是 说,这时自相似的实质应该是某一个部分在其他地方重复出 现。

图3.2是真实拍摄的一张蕨类植物的图片,它也具有自 相似特性。在这棵蕨类植物中,枝杈是整个植物的小版本, 而枝杈的枝杈则是更小的版本。这种特性可以无限地持续下 去。但是,它并不像计算机生成的分形图形那样严格地自相 似,这大概是因为在成长过程中受到许多外界因素的影响。

正是因为分形具有的自相似特性,才使分形如此重要并且具 有实际应用意义。自然界中许多植物具有自相似特性。

图3.3的风景图片是说明分形的另一很好的例子,这张 美丽的图片是利用分形技术生成的。在生成自然真实的景物 中,分形具有独特的优势,因为分形可以很好地构建自然景 物的模型。其实,分形应用的领域很广,周围到处有分形应用的实例。如微生物中,菌落均呈现共同的形态特征:以母 细胞为中心的环状层次结构。为了抽取隆起部分,科学家已 经采用分形理论模型实现对菌落图像的纹理分割[3]。只要 注意观察,就会注意到分形的应用非常广泛。

4 分形与Gumowski-Mira公式 Newton分形 一个连续函数f(x),如果取其Taylor展 开前两项作为它的近似,则有:
f(x)≈f(x0)+f′(x0)(x-x0) 令f(x)=0,则函数f(x)的零点x可表示为:
X≈x0-f(x0)/f′(x0) 于是有了求f(x)=0方程根的Newton迭代法:
X(n+1)=X(n)-f(X(n)/f′(X(n))(n=0,1, 2…)(4.1) 当n趋向于无穷大,极限x(n)存在,则序列{X(n)} 平方收敛到f(x)的零点。

把复数Z运用到(4.1)式上,得到如下公式:
Zn+1=Zn-f(Zn)/f′(Zn)(n=0,1,2…) 并运用逃逸时间法就画得一幅Newton分形图。

Gumowski-Mira公式 Gumowski-Mira公式作为下面的迭 代法出现:
X(n+1)=b*Y(n)+f(x(n)) Y(n+1)=f(X(n+1))-X(n) (4.2) 式中b用于控制轨道是膨胀还是收缩,如果b稍大于1,比如1.004,则轨道就会膨胀;
反之若稍小于1,比如0.998, 轨道就会收缩。在对下面这些函数作图时,大多数用的是 1.005,一个经典的函数是:
f(x)=aX+2(1-a)X2/(1+X2) 下面这些函数是常用的:
f(x)=aX+2signx(1-a)x2/(1+x2) f(x)=sign(x*a*X)+(1-a)x2/(1+x2)+sinx f(x)=-0.05aX+a(∏-ax)x2/(1+x2) 式中sign= Mira公式算法 Mira公式算法[4](w代表函数,random 是随机数,0 初值:
a=random-0.5 b=1.005 w=1 x=0.0004 y=0.0004 计算轨道,在迭代100到20000次间,每次都画(x,y) 点,当然也可加进颜色:
z=x x=(b*y)+w w=f(x)(如上所列的某一个。) y=w-z Plot(x,y)5 基于Gumowski-Mira公式的分形图生成 下面是根据Gumowski-Mira公式在VC环境下编写的部分 程序代码 [5-8]:
void CMyView::OnDraw(CDC* pDC) { CMyDoc* pDoc = GetDocument();

ASSERT_VALID(pDoc);

int n;
a=0.001,b=0.99,f;

//设置a、b的初始值 float mx,my;

//程序 x=-15;

y=-15;

for(n=1;
n<=1000000;
n++) //设置循环的次数,即 点 的个数 { mx = b*y + a*x + (1-a)*2*x*x/(1+x*x);

my = -x + a*mx + (1-a)*2*mx*mx/(1+mx*mx);

x=mx;

//根据公式重新赋予x值 y=my;

// 根据公式重新赋予y值 pDC->SetPixel(x*30+280,300-y*30,RGB(255,0, 0));

//画点函数 } }6 Gumowski-Mira公式参数的意义 主要通过对不同参数值的设置所对应的图形的不同来 研究各个参数(即参数n,b,a)的物理意义。

通过图6.1、图6.2的对比可以看到参数n决定着图像的 清晰程度,因为参数n代表着循环的次数,即点的个数,所 以n的值越大图像越清晰。

通过图6.3、图6.4和图6.5的对比可以看出,参数b是一 个非常敏感的常数,通常非常接近于1.0。如果b有一个轻微 增长,比如由0.99增大到0.999,轨迹会膨胀,或者螺旋向 外至无限。如果b有一个轻微的减小,比如0.985,那么轨迹 会收缩至奇异吸引子。

通过图6.6、图6.7、图6.8、图6.9可以看出,其实参数 a也是一个很敏感的参数,a对图形的舒展有很大影响,随着 a值的增大,图形周围的类似于翅膀的东西就会迅速收敛。

通过图6.10和图6.11可以看出,随着y乘的倍数缩小, 图形会在纵轴即y轴方向变扁,也就是说这个系数控制着y轴 方向舒展的程度。

通过图6.10、图6.12和图6.13可以看出,随着y轴偏移 量的增大,图形会往下面移动,说明坐标y会随着偏移量的 增大而增大,所以偏移量增大,图形会往下移动。

通过图6.10、图6.14和图6.15对比可以看出,随着x所 乘倍数的变大,图形就会在x方向舒展;
相反,图形就会在x 方向上收敛。通过图6.16、图6.17和图6.18可以看出,随着x坐标偏 移量的增大,图形就会右移,即坐标x会随着偏移量的增大 右移。

7 总结 分别通过调用函数“pDC->SetPixel(x*30+280, 300-y*30,n)”(n为颜色值),对n分别设置为RGB(255, 0,0)、 RGB(0,0,255)、RGB(0,255,0),分别得到红色、 蓝色、绿色的图像。

通过上面的研究可以看出,各个参数具有敏感特性,因 此通过对参数的多次改变,研究图形的变化,从而研究各个 参数的物理意义,以及函数中各个值的变化对整个图形的影 响,从而研究总结原因。

参考文献 [1]金以文,鲁世杰.分行几何原理及其应用[M].杭州:
浙江大学出版社,1998. [2]Mandelbrot B B.大自然的分形几何[M].上海:上海 远东图书发行部,1998. [3]王永铭,等.分形模型用于菌落图象的纹理分割[J]. 天津大学学报,1997(6). [4]李水根.分形[M].北京:高等教育出版社,2004. [5]《电脑编程技巧与维护》杂志社.Visual C/C++图形 图像与游戏编程典型实例解析[M].北京:中国水利水电出版社,2006. [6]勒济芳.Visual C++小波变换技术与工程实践[M].北 京:人民邮电出版社,2004. [7]陆宗骐.C/C++图象处理编程[M].北京:清华大学出 版社,2005. [8]张宏军,党留群,赵天巨.Visual C++ 6.0编程案例 精解[M].北京:电子工业出版社,2005.

推荐内容

钻爱网 www.zuanai.cn

Copyright © 2002-2018 . 钻爱网 版权所有 湘ICP备12008529号-1

Top