原创 “病态”、“数学怪物”的画廊——复平面中的神奇迭代

2010-2-22 23:22 2449 3 3 分类: 工程师职场

“病态”、“数学怪物”的画廊——复平面中的神奇迭代



当前位置:
arrow.gif
分形入门
arrow.gif
数学怪物画廊arrow.gifJulia集                                                
上一页  





    (7)Julia
集合


     有一段时间 google
的图标变成下面这个样子,很多人不明白,这是什么意思,其实这是为了纪念法国数学家Gston
Julia是,他发现了在数论中有名的julia序列,就是在这个google
LOGO上面看到的数学公式。通过这个数学公式可以在解析几何上实现分形。



googleJulia.gif


     在复平面上,水平的轴线代表实数,垂直的轴线代表虚数。每个Julia集合(有无限多个点)都决定一个常数C,它是一个复数。现在您在复平面上任意取一个点,其值是复数Z。将其代入下面方程中进行反复迭代运算:         

math-1.gif

      就是说,用旧的Z自乘再加上C后的结果作为新的Z。再把新的Z作为旧的Z,重复运算。
当你不停地做,你将最后得到的Z值有3种可能性:
1、Z值没有界限增加(趋向无穷)
2、Z值衰减(趋向于零)
3、Z值是变化的,即非1或非2

     趋向无穷和趋向于零的点叫定常吸引子,很多点在定常吸引子处结束,被定常吸引子所吸引。   非趋向无穷和趋向于零的点是"Julia集合"部分,也叫混沌吸引子。
问题是我们怎样才能让计算机知道哪一个点是定常吸引子还是"Julia集合"。


一般按下述算法近似计算:
n=0;
while
((n++ < Nmax) && (( Real(Z)^2 + Imag(Z)^2) <
Rmax))
{
Z=Z*Z+C;
}
其中:Nmax为最大迭代次数,Rmax为逃离界限
退出while循环有两种情况,第一种情况是:
(Real(Z)^2
+ Imag(Z)^2) >=
Rmax
属于这种情况的点相当于"1、Z值没有界限增加(趋向无穷)",为定常吸引子,我们把这些区域着成白色。第二种情况是:
n
>= Nmax
属于这种情况的点相当于"2、Z 值衰减(趋向于零)"或"3、Z
值是变化的",我们把这些区域着成黑色。黑色区域图形的边界处即为"Julia集合"。"Julia集合"有着极其复杂的形态和精细的结构。
黑白两色的图形艺术感染力不强。要想得到彩色图形,最简单的方法是用迭代返回值n来着颜色。要想获得较好的艺术效果,一般对n做如下处理:
Red
= n*Ar+Br;
Grn = n*Ag+Bg;
Blu = n*Ab+Bb;
if ((Red
& 0x1FF) > 0xFF) Red = Red ^ 0xFF;
if ((Grn &
0x1FF) > 0xFF) Grn = Grn ^ 0xFF;
if ((Blu & 0x1FF)
> 0xFF) Blu = Blu ^
0xFF;
其中:Ar、Ag、Ab及Br、Bg、Bb为修正量
获得的Red、Grn、Blu为RGB三基色,着色效果为周期变化,具有较强的艺术感染力,而且等位线也蕴藏在周期变化的色彩之中。
你可以想象得出,在屏幕上顺序的试用每个像素点来反复迭代方程要花费很长的时间。一幅
1024x768
屏幕尺寸的画面有786432个点。其中一些点在计算机上要反复迭代方程次数达1000次(取决于Nmax的取值)或更多次才放弃运算。运算产生一幅Julia集合需要花费很长的时间,有时需要产生一幅做海报用的大图像时,如
10240x7680,要花几天的时间。当然,你使用高速计算机会缩短这个时间。图
4、5、6是三幅Julia集合:


pic04.jpg

图 4
象尘埃一样的结构


pic05.jpg

图 5
稳定的固态型


pic06.jpg

图 6
象树枝状

 




Mandelbrot
集合和Julia集合的联系



     
将Mandelbrot集合和Julia集合联系在一起,Julia集合有若干类型,都包含在Mandelbrot集合之中。Julia集合中的C是一个常量,而Mandelbrot集合的C是由进入迭代前的Z值而定。迭代结果,Z值同样有3种可能性,即:
   
1、Z值没有界限增加(趋向无穷)
    2、Z值衰减(趋向于零)
   
3、Z值是变化的,即非1或非2

    
Mandelbrot集合是所有的朱莉娅集合的合并,Mandelbrot集合的某个区域放大后就是这个点的Julia集合。
Mandelbrot集合有着一些很异国情调并且古怪的形状(见图1)。你能不停地永远放大Mandelbrot集合,但是受到计算机精度的限制。

 




Newton/Nova 分形





    

Newton奠定了经典力学、光学和微积分学的基础。但是除了创造这些自然科学的基础学科外,他还建立了一些方法,这些方法虽然比不上整个学科那么有名,
但已被证明直到今天还是非常有价值的。例如,牛顿建议用一个逼近方法求解一个方程的根。你猜测一个初始点,然后使用函数的一阶导数,用切线逐渐逼近方程的
根。如方程 Z^6 + 1 =
0有六个根,用牛顿的方法"猜测"复平面上各点最后趋向方程的那一个根,你就可以得到一个怪异的分形图形。和平常的Julia分形一样,你能永远放大下
去,并有自相似性。牛顿分形图形中的颜色显示每个答案的种类及性质,即迭代到目的地花费的时间,如图7所示:


 

pic07.jpg


图7 Newton分形



      Paul
Derbyshire研究牛顿分形图形时,他把Julia集合的常值C加入进去改变了一下算法,并用同样的方法去估算Z,逼近答案,产生奇特的并称之为"Nova"的分形图形。"Nova"类型分形图形如图8所示:

     pic08.jpg

图 8 Nova分形

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条