分形圖形學實驗指導_第1頁
分形圖形學實驗指導_第2頁
分形圖形學實驗指導_第3頁
免費預覽已結束,剩余7頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、分形圖形學實驗指導實驗一 二維空間上的分形圖形生成實驗目的1. Mandelbrot 集與 Julia 集的電腦實現(xiàn)2. 掌握用 L 系統(tǒng)語言生成分形實驗內容及步驟1. 編寫程序生成 Mandelbrot 集在復迭代中影響最大的當屬迭代ZTzA2+c,實際上它只是形式更一般的復解析迭代z_(n+1)=F(z_n)+c 的一種,F(xiàn)是一個非線性函數(shù)。 顯然ztzA2+c也是最簡單的一種,它 在 復迭代中的地位相當于邏輯斯蒂映射x_(n +1)=ax_n(1- x_n)在實迭代中的地位(見第八章)。考慮一般形式的 F,令z=x+iy,c=c_( X)+ic_(Y),其中i表示虛數(shù),i=SQRT(-1

2、)。別離 實部與虛部,具體化迭代關系便有:xTf(x,y)+c_(X), yTg(x,y)+c_(Y).通常所說的M集是迭代二次函數(shù) ztzA2+c產(chǎn)生的,此函數(shù)具 體化就是xT xA2- yA2+c_(X) , yT2xy+c_( Y).其中 z=x+i y,c=c_(X)+i c_(Y ), 以橫軸 x 記錄實數(shù)的實部,以縱軸 y 記錄實數(shù)的虛部。 M集合實際上是常數(shù) c=(c_(X), c_(Y)構成的圖象。讓c從屏幕左上角開始變化, 逐行增加, 一直變到屏幕右下角。如果取的區(qū)域是 200X2 00,那么一共要計算 40,000個點,把計算的 結果用不同的顏色標記下來,就得到一幅圖象,這

3、就是M集。對于不同的c值,如何得到表征迭代性質的不同的結果呢 ?容易知道, 無窮遠處肯定是迭代的一個吸引子, 即對于復平面上相當多的初始條件, 迭 代最終都跑到無窮遠處。 但研究發(fā)現(xiàn), 在原點附近還存在一個奇特的區(qū)域, 在迭代過程中此 區(qū)域永遠不會跑掉。 在非嚴格的意義上, 這個不變的集合就是 M集,我們的主要任務就是畫 出這個集合的邊界一一實際上邊界是分形曲線,極其復雜,M集圖象的全部魅力就在這里。在復平面上,我們以原點 (0,0) 作為參考點,觀察迭代過程是否遠離原點,以及逃離原 點的速度如何。為此規(guī)定一個距離函數(shù)D=xA2+yA2,其實D有許多不同的取法,以上取法是最普通的。可以看出,如

4、果D較大,表 明迭代點離原點較遠,如果D較小,說明迭代點離原點較近。 假設對于任何一個 c,迭代都從(x_0, y_0)=(0,0)開始,我們觀察迭代點列(x_l, y_l), (x_2, y_2), (x_3, y_3),(x_(100) , y_(l00),的變化狀況。每一次都計算一下D值,即該點與原點(0 , 0)的距離(為方便計,這里 實際上計算的是距離的平方)。取一個參考距離 R,不妨取得大一些,比方R =40(實際上取20就足夠了)。現(xiàn)在想知道迭代多少次后實際的距離D大于R。在迭代過程中如果 D小于R那么繼續(xù)讓電腦迭代,要規(guī)定一個上限,比方300次。如果迭代了 300次后結果仍然不

5、跑掉(即D仍然小于&,那么可以近似認為此點屬于M集合。對于迭代次數(shù)小于 300次的情況,如果迭代 10次D就大于R,那么標記c點為白色;如 果迭代35次D開始大于R那么標記c點為紅色;如果迭代 110次D開始大于R,那么標記c 點為藍色,等等。2. 編寫程序生成Julia集一個M集可以對應無數(shù)種 J集,實際上 M集就是所有J集的濃縮。M集不同部位的形 狀,反映了對應于該處的 J集的形狀,于是用 M集可以對J集進行分類,至少在電腦圖形 學的層次上可以這樣說。計算J集時,初始迭代點就不能總取 (0 , 0) 了,而是要根據(jù)實際位置取實際的 (x , y) 坐標值。仍以迭代 ztzA2+c為例說明。

6、先取 定一個c值,比方c=(1.0221,0.2433),迭代 關系化為xt乂人2-丫人2+1.0221 , yt2xy+0.2433.從屏幕左上角算起,逐行計算,一直算到屏幕右下角。當然,也可以不取整個屏幕那么大,只選一個200X 200的小區(qū)域做。標色的原理與上面講 M集合時完全類似,此略。改變常數(shù)c的取值,可以得到各式各樣的J集。3. 比擬M集與J集的區(qū)別與聯(lián)系在源程序中,M集與J集的計算方法十分相似,只需改變兩處語句就可以互換為對方。初始迭代點迭代關系說明M集x0:=0;y0:=0;x1:=f(x,y)+p0;y1:=g(x,y)+q0;p_0,q_0不斷變化J集X0:=p0;y0:=

7、q0;x1:=f(x,y)+c_X;y1:=g(x,y)+c Y ; c_(X) , c_(Y)固定不變4. 編寫程序用 L 系統(tǒng)語言生成分形圖形1) 編寫程序生成柯赫曲線 : 初始圖形是一條線段,生成過程是將線段中間1/3 向外折起。程序偽碼如下:KochCurve ;柯赫曲線Angle 6;角度增量是 60Axiom F;初始圖形是一單位線段F=F+F-F+F;產(chǎn)生式是將線段中間 1/3 折起;結束2) 用 L 系統(tǒng)再次生成希爾伯特曲線。生成希爾伯特曲線的偽碼如下:Hilbert;希爾伯特曲線, 1996-12Angle 4Axiom Y;初始串為任意字母 YX=-YF+XFX+FY-;第

8、一個生成規(guī)那么Y=+XF-YFY-FX+;第二個生成規(guī)那么,由以上規(guī)那么不斷代換3) 模擬草本植物。注意這里出現(xiàn)了“括號可以方便地表示樹枝,偽碼如下:HerbPlant ;生成植物,本程序使用了括號Angle 14Axiom ZZ=ZFX +Z -ZX=X -FFF +FFF FX實驗二 高維空間的分形圖形生成實驗目的1. 了解三維L-系統(tǒng)生成高維空間分形圖形的方法2. 掌握四元數(shù)生成 Mandelbrot 集和 Julia 集3. 掌握隨機中點位移法實驗內容及步驟1. 編寫程序,使用四元數(shù)生成 Mandelbrot 集和 Julia 集通常我們是在二維復平面上研究廣義的M集和J集,也可以通過

9、“四元數(shù)(quaternions) 將它們推廣到高維空間中去。在二維復平面中表示復數(shù)只用兩個基向量:1和i。在四維空間中討論超復數(shù),現(xiàn)在有四個基向量:1, i, j和k。任一復數(shù)可以表示為q=x+yi+zj+qk.超復數(shù)基向量之間的運算關系 (注意,不同于傳統(tǒng)上四元數(shù)基向量之間的運算關系 )為:ij=k,jk=-i,ki=-j,ji=k,kj=-i,ik=-j,ii=jj=-kk=-1,ijk=1.注意,運算關系的規(guī)定多少有些任意性,也可以規(guī)定iA2=jA2=kA2=+ 1 。在四維空間H中也可以研究迭代 XixA2+c下的超朱麗亞集J ,選一個截面,將超朱麗 亞集投影到三維空間中,可以得到立

10、體的 J 集圖象。實驗三分形混沌動力系統(tǒng)實驗目的1. 了解動力系統(tǒng)概念2. 掌握Julia復動力系統(tǒng)及其IFS詮釋3. 了解混沌的概念;實驗內容及步驟1. 使用IFS方法,編寫生成Julia復動力系統(tǒng)的程序通過IFS方法還可以繪制朱麗亞集J。設ztzA2+c,求出兩個逆變換:w_1(z)=SQRT(z-c) , w_2(z) =-SQRT(z-c),取概率(p_1,p_2)=(1/2,1/2),迭代后生成的吸引子實際上就是各種朱麗亞集!IFS方法、L系統(tǒng)、混沌動力學以及有關 M集和J集的迭代,事實上都是相互關聯(lián)著的, 這種關聯(lián)表達了非線性科學的內在邏輯。算法:Julia_IFS標題:Julia

11、集的IFS算法參數(shù):z迭代次數(shù)PI n值RAND MA隨機最大值變量:k概率變量x,y z的實部和虛部cx,cy c的實部和虛部r極距a,b,e,f,m,n, wx,wy,theta函數(shù):Pset(x,y)畫點函數(shù)Rand隨機函數(shù)sin正弦函數(shù)cos余弦函數(shù)atan反正切函數(shù)BEGINFOR i=1 TO zm=a*x+en=b*y+fIF i10 THENPset(m, n)ENDIF wx=x-cxwy=y_cyIF wx0 THENtheta=ata n( wy/wx)ENDIFIF wx0 THENtheta=PI+ata n(wy/wx)ENDIFIF wx=0 THENtheta=

12、PI/2ENDIFtheta=theta/2 r=sqit(wx*wx+wy*wy) k=rand rnd=k/RAND_MAX IF rnd0.5 THEN r=sqrt(r)ELSE r=-sqrt(r)ENDIF x=r*cos(theta) y=r*sin(theta)ENDFOREND實驗四分形圖像壓縮實驗目的1. 掌握冗余度壓縮熵編碼2. 限失真編碼熵壓縮3. 掌握分形圖像壓縮的原理與方法4. 編程實現(xiàn)分形圖像壓縮。實驗內容及步驟1.使用IFS方法,編程實現(xiàn)簡單自相似圖像謝爾賓斯基 基墊壓縮分形圖像壓縮是利用原始圖像所具有的自相似性,構造一個迭代函數(shù)系統(tǒng)IFS,利用IFS抽取圖像的

13、自相似性,即用圖像中的一個子塊經(jīng)過分形仿射變換來逼近同一圖像中的 另一子塊,而且僅僅將仿射變換系數(shù)記錄下來,從而到達壓縮圖像數(shù)據(jù)的目的。以謝爾賓斯基基墊為例加以說明,如以下圖。可以看出,整個墊子是由上、左下、右下 3個較小的墊子組成。每個較小的墊子是由原來的墊子經(jīng)收縮仿射變換得來的。如果能分別 找出把原圖形變成 3個小圖形的收縮放射變換,那么,整個迭代函數(shù)系統(tǒng)就定下來了。1)(1/2, 1/2)(3/2, 1/2)x2,y2, x3,y3W1的變換式展開:設原來墊子3各頂點的坐標分別為x1,y1, x2,y2, x3,y3。變換所得小 墊子的3個頂點坐標為x1,y1, x2,y2, x3,y3。圖2.3b表示的是把原電子變?yōu)樯厦嫘|子的坐標。把x1=a1x1+b1y1+e1 y1=c1x1+d1y1+f1 x2=a1x2+b1y2+e1 y2=c1x2+d1y2+f1 x3=a1x3+b1y3+e1 y3=c1x3+d1y3+f1解這組方程得到變換 W1的各系數(shù)。代入

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論