【正文】
lidean geometry and can39。s creating, for example the vector move, circumvolve, zoom in, zoom out, and other vector transformation. In addition, picture parametric can be changed and picture colour can also be changed .this topic involved the GumowskiMira fractal, two dimension Cellular Automata fractal. Fractal unfurl an new world buildup with math and arts, Along with time flying, people think over fractal more and more, even brought an argument that fractal drawing is or not an art. All think fractal picture is an art production today, and also, fractal is used more and more in puter science. The puter graphics even add a new fractal algorithm to create nature sight. Aside, fractal theory used wider and wider in other subjects. We can say, fractal theory will use wider and deeper. Key Words: Fractal, Julia set, Mandelbrot set, Vector transformation, Escaping time algorithm 理學(xué)學(xué)士學(xué)位論文 第一章 分形概論 1 第一章 分形概論 什么是分形 什么是分形呢?很難給分形下一個(gè)確切的定義。但是,有一些不太正規(guī)的定義卻可以幫助我們理解分形的含義。也就是說,在分形中,每一組成部分都在特征上和整體相似,只僅僅是變小了一些而已。這個(gè)詞意為不規(guī)則的,破碎的,分?jǐn)?shù)的。分形作為幾何對(duì)象,是破碎的,不規(guī)則的,但不是所有破碎的,不規(guī)則的形狀都是分形,分形一般還具有自相似性,一個(gè)對(duì)象的部分與整體有自仿射變換關(guān)系,我們也可以稱之為分形。如在顯微鏡下觀察落入溶液中的一?;ǚ?,會(huì)看見它不間斷地作無(wú)規(guī)則運(yùn)動(dòng)(布朗運(yùn)動(dòng)), 這是花粉在大量液體分子的無(wú)規(guī)則碰撞下表現(xiàn)的平均行為。只要有足夠的分辨率,就可以發(fā)現(xiàn)原以為是直線段的部分,其實(shí)由大量更小尺度的折線連成。這種布朗粒子軌跡的分維是 2,大大高于它的拓?fù)渚S數(shù) 1。受到污染的一些流水中,粘在藻類植物上的顆粒和膠狀物,不斷因新的沉積而生長(zhǎng),成為帶有許多須須毛毛的枝條狀,就可以用分維。一枝粗干可以分出不 規(guī)則的枝杈,理學(xué)學(xué)士學(xué)位論文 第一章 分形概論 2 每個(gè)枝杈繼續(xù)分為細(xì)杈??,至少有十幾次分支的層次,可以用分形幾何學(xué)去測(cè)量。 有人研究了某些云彩邊界的幾何性質(zhì),發(fā)現(xiàn)存在從 1 公里到 1000 公里的無(wú)標(biāo)度區(qū)。大小兩端都受到一定特征尺度的限制,中間有三個(gè)數(shù)量級(jí)的無(wú)標(biāo)度區(qū)。 近幾年在流體力學(xué)不穩(wěn)定性、光學(xué)雙穩(wěn)定器件、化學(xué)震蕩反映等試驗(yàn)中,都實(shí)際測(cè)得了混沌吸引子,并從實(shí)驗(yàn)數(shù)據(jù)中計(jì)算出它們的分維。分形幾何學(xué)在物理學(xué)、生物學(xué)上的應(yīng)用也正在成為有充實(shí)內(nèi)容的研究領(lǐng)域。她在純數(shù)學(xué)、物理學(xué)、材料科學(xué)、地質(zhì)勘探、疾病診斷、股價(jià)預(yù)測(cè)以及計(jì)算機(jī)和信息科學(xué)等許多領(lǐng)域中,都得到了廣泛的應(yīng)用。分形幾何與計(jì)算機(jī)科學(xué)的結(jié)合就是一個(gè)明顯的例證。目前用計(jì)算機(jī)繪制分形圖是如此流行,以致不僅使繪制分形的算法理論與程序設(shè)計(jì)已成為一個(gè)獨(dú)立的研究方向,同時(shí)繪制的分形圖也已成了一種相當(dāng)時(shí)髦的藝術(shù)形式。分形理論已經(jīng)極廣泛地應(yīng)用在計(jì)算機(jī)圖形學(xué)中,許多的計(jì)算機(jī)游戲與虛擬現(xiàn) 實(shí)中大量應(yīng)用到分形理論。先考慮 C=0 的情況, Z 是復(fù)數(shù),即 Z=x+yi,則有: 2 2 2 2 2 2( ) ( ) 2 ( ) 2z z z x y i x y i x y i x y i x y x y i? ? ? ? ? ? ? ? ? ? ? ? 我們還可以定義復(fù)數(shù) z=x+yi 的絕對(duì)值,即: 22||z x y??,而 |Z|恰好相反是從原點(diǎn)到 Z 的距離。 當(dāng) 0| | 1z ? 時(shí),通過上面的計(jì)算,可以得知,此時(shí) z 會(huì)趨向于 ? 。 于是,我們發(fā)現(xiàn),復(fù)平面上可分為兩個(gè)區(qū)域,一個(gè)區(qū)域合落在其中的點(diǎn)向0 收斂 ,而另一個(gè)區(qū)域合落在其中的點(diǎn)向 ? 逃逸,它們的分界線便是 0| ( )| 1Fz? 。與此同時(shí),分割混沌區(qū)和向 ?逃逸的分界線不再是 0| ( )| 1Fz? 的單位圓,它將是一個(gè)不規(guī)則、不光滑的分界線 。 理學(xué)學(xué)士學(xué)位論文 第二章 分形 相關(guān) 理 論 問題 4 逃逸時(shí)間算法的基本思想 根據(jù)上述想法,我們將吸引域的概念進(jìn)一步擴(kuò)展。 圖 逃逸時(shí)間算法繪制 Julia 集與 Mandelbrot 集 1, 從逃逸時(shí)間算法的角度來(lái)看, Julia 集的內(nèi)部收斂于某一個(gè)點(diǎn)或者幾個(gè)點(diǎn),而 Julia 集的外部隨著逃逸時(shí)間 t 的增加將發(fā)散至 ?,其逃逸邊界就是 Julia集。 ○ 1 選 定 參 數(shù) C p qi?? , min min ? ? ? , max max ??, M=100 ,maxTime=200,令: m a x m i n( ) /( 1 )x x x w id th? ? ? ? m a x m in( ) /( 1 )y y y h e igh t? ? ? ? 逃逸區(qū) M’ 收斂區(qū)域 A 未逃逸區(qū) M 逃逸邊界 理學(xué)學(xué)士學(xué)位論文 第二章 分形 相關(guān) 理 論 問題 5 其中 C 表示復(fù)數(shù)上一個(gè)點(diǎn), minx , maxx , miny , maxy 表示參數(shù)窗口大小, M 表示逃逸邊界值, maxTime 表示循環(huán)可以執(zhí)行的最大次數(shù)。 ○ 3 根據(jù)下列的迭代過程從 ( , )ttxy 算出 11( , )ttxy??,計(jì)數(shù) t=t+1。 如果 rM? ,且 maxt Time? ,則轉(zhuǎn)至步驟 ○ 3 。 ○ 5 對(duì)點(diǎn) ( , )xynn 著色, 并轉(zhuǎn)至下一步,再頭從做步驟 ○ 2 。 Julia 集圖形:見圖 。m in m a x m in m a xp = 2 .2 ,p =1 .0 ,q = 1 .1 ,q =1 .4,逃逸半徑 M=100, maxTime=200,對(duì)繪圖窗口中所有的點(diǎn) ( , )pqnn , 0 , 1 , 2... 1 , 0 , 1 , 2... 1pqn w idth n he ight? ? ? ?,完成如下步驟。 理學(xué)學(xué)士學(xué)位論文 第二章 分形 相關(guān) 理 論 問題 6 如果 rM? ,且 maxt Time? ,則轉(zhuǎn)至步驟 ○ 3 。 ○ 5 對(duì)點(diǎn) ( , )pqnn著色,轉(zhuǎn)至 下一點(diǎn),步驟 ○ 1 。 Mandelbrot 集圖形:見圖 。目前的顯示器大都是采用了 RGB 顏色標(biāo)準(zhǔn),目前的電腦一般都能顯示 32 位顏色,約有一百萬(wàn)種以上的顏色。 我們對(duì)分形圖形進(jìn)行著色也使用這種色彩模型。 red = k + m_nGreen。 blue = k + m_nRed。因?yàn)槌绦蚶L圖時(shí)使用 24位真彩色,所以 R,G,B 三個(gè)值的大小都不應(yīng)該超過 8 位的最大值,即 255,而這個(gè) 8 位的最大值,用 16 進(jìn)制表示就是 0xFF。然后再將根據(jù)上述步驟求得的 R、 G、 B,用函數(shù) RGB(R,G,B)換成色彩,從而實(shí)現(xiàn)對(duì) Julia 集的著色。 0x1FF) 0xFF) red = red ^ 0x1FF。 0x1FF) 0xFF) 理學(xué)學(xué)士學(xué)位論文 第二章 分形 相關(guān) 理 論 問題 7 green = green ^ 0x1FF。 0x1FF) 0xFF) blue = blue ^ 0x1FF。 red, green,blue 與 0x1FF 進(jìn)行 amp。運(yùn)算在這里表示按位與運(yùn)算符,它對(duì)運(yùn)算符兩邊的數(shù)字的每一個(gè)位進(jìn)行計(jì)算,如果兩個(gè)位都為 1 的話,那么運(yùn)算結(jié)果就為 1,否則為 0。這個(gè)算法主要是為了平滑分形圖形的色彩變化,讓圖形看起來(lái)更有美感。實(shí)際上, Mandelbrot 集是將參數(shù) C 走遍參數(shù)窗口的所有值,經(jīng)過逃逸時(shí)間算法的運(yùn)算最終在繪圖窗口中畫出圖來(lái),那么 參數(shù)窗口的大小和位置就決定了所繪 Mandelbrot 集的放大區(qū)域。只要將鼠標(biāo)移動(dòng)的位置大小轉(zhuǎn)換成參數(shù)窗口移動(dòng)的位置大小就可以了。那么就可以得到如下式子: t m pDoubl e = xMa x xMi nxM i n = xMi n x * ( ne wP oi nt .x ol dP oi nt .x) 。t m pDoubl e = y Ma x y Mi n。y Ma x = y Mi n + t m pDoubl e 。 圖形矢量移動(dòng)前后效果對(duì)比參見圖 與圖 。已知 m a x m i n( ) /( 1 )x x x w id th? ? ? ?,m a x m in( ) /( 1 )y y y h e igh t? ? ? ?, min *tp p x p? ? ?, min *tq q y q? ? ? ,其中0,1, 2.. . 1txn??, 0,1, 2... 1tyn??,可以得出: minmin**p p x pq q y q? ? ?? ? ? 從而可得: 用計(jì)算機(jī)語(yǔ)言來(lái)描述就是: xMin = xMin + x* ol dP oint .x。tm pD oub l e = y Min。y Ma x = tm pD oub l e + y * ne w P oint .y 。 Julia 集的放大原理與 Mandelbrot 集的放大原理相同,就不再贅述了。 3, Julia 集的旋轉(zhuǎn): 由計(jì)算機(jī)圖形學(xué)可知,在二維平面上按指定位置 rr(x,y) 旋轉(zhuǎn),需要經(jīng)過三個(gè)步驟: 平移對(duì)象使移動(dòng)點(diǎn)位置移到坐標(biāo)原點(diǎn)。 平移對(duì)象使基準(zhǔn)點(diǎn)回到其原始位置。39。39。39。 r r r39。 ○ 2 根據(jù)下列的迭代過程從 ( , )ttxy 算出 11( , )nnxy??,計(jì)數(shù) t=t+1。再將 ,ttxy進(jìn)行下一步運(yùn)算即可實(shí)現(xiàn)對(duì) Julia 集的旋轉(zhuǎn)。 4, 將 Julia 集壓縮到 Mandelbrot 集的收斂區(qū)域,要將 Julia 集壓縮到Mandelbrot 集收斂區(qū)域中, 需要先對(duì)前面繪制 Julia 集算法中提到的 ( , )nnxy進(jìn)行 Mandelbrot 集算法變換,然后再進(jìn)行 Julia 集算法變換。 即要在前面提到的繪制Julia 集的計(jì)算機(jī)算法步驟 ○ 2 后面添加下列幾步算法: ○ A 令 t1= 0x ,t2= 0x , i=0, t3=t4=0,N=10 進(jìn)行如下循環(huán)。 ○ C 如果 iN,返回步驟 ○ B ,否則 00x =t1,y =t2 。 算法的效果圖參見圖 。為了使用二維元胞自動(dòng)機(jī)繪圖,假定有一個(gè) aa? 的網(wǎng)絡(luò),其左上角的格子為( 0,0),右下角的格子為( a1,a1),這樣主要是為了對(duì)應(yīng)計(jì)算機(jī)的屏幕坐 標(biāo) 。 此網(wǎng)格共有 a/2 層,設(shè) k 為層數(shù),從 k=1 到 k=a/2,進(jìn)行如下循環(huán): ○ 1 設(shè)第 k 層中任意點(diǎn)為 ( , )iixy ,則判斷其臨近 8 點(diǎn)的現(xiàn)有狀態(tài);如果 ( 1 , 1 ) ( , 1 ) ( 1 , 1 ) ( 1 , )( 1 , 1 ) ( , 1 ) ( 1 , 1 ) ( 1 , )i i i i i i i ii i i i i i iF x y F x y F x y F x yF x y F x y F x y F x y? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ? ? ? ? 奇 數(shù) 則 ( , ) 1iiF x y ? 否則 ( , ) 0iiF x y ? 當(dāng)每一層中所有點(diǎn)判斷完結(jié)后,進(jìn)行下一步。 ○ 3 k=k+1,返回到步驟 ○ 1 ,直至循環(huán)結(jié)束。 理學(xué)學(xué)士學(xué)位論文 第二章 分形 相關(guān) 理 論 問題 11 GumowskiMira 公式 1980 年 , 工作在 CERN 的物理學(xué)家 Gumowski, I. 和 Mira, C. 嘗試計(jì) 算模擬基本粒子軌跡 (The trajectories of elementary particles) 在加速器 (Accelerator) 中的行為 。 如果 b 有一個(gè)輕微增長(zhǎng)到 , 軌跡會(huì)膨脹 , 或者螺旋向外至無(wú)限 ;