第4章 迭代函數(shù)系統(tǒng)算法_第1頁
第4章 迭代函數(shù)系統(tǒng)算法_第2頁
第4章 迭代函數(shù)系統(tǒng)算法_第3頁
第4章 迭代函數(shù)系統(tǒng)算法_第4頁
第4章 迭代函數(shù)系統(tǒng)算法_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第4

章迭代函數(shù)系統(tǒng)算法4.1混沌游戲4.2迭代函數(shù)系統(tǒng)4.3相似變換與仿射變換4.4IFS碼4.5Sierpinski墊片的IFS生成4.6拼貼與IFS碼的確定

4.7IFS植物形態(tài)實例4.8復(fù)平面上的IFS算法1參考書:《分形算法與程序設(shè)計》混沌游戲4.1給定平面上三點A,B,C。再任意給定初始點Z0,做下列迭代。???íì+++=+,2/)(,2/)(,2/)(1CZBZAZZnnnn當(dāng)擲出的硬幣呈正面當(dāng)擲出的硬幣呈反面當(dāng)擲出的硬幣呈側(cè)面2參考書:《分形算法與程序設(shè)計》迭代函數(shù)系統(tǒng)4.2迭代函數(shù)系統(tǒng)(IteratedFunctionSystem,IFS)是分形理論的重要分支。它將待生成的圖像看成是由許多與整體相似的(自相似)或經(jīng)過一定變換與整體相似的(自仿射)小塊拼貼而成。3參考書:《分形算法與程序設(shè)計》相似變換與仿射變換直觀上看:相似變換是指在各個方向上變換的比率必須相同的一種比例變換,仿射變換是指在不同的方向上變化的比率可以不同的一種比例變換。

4.3相似變換:如果對于任意兩點A、B,以及對應(yīng)點A’、B’,總有A’B’=k·AB(k為正實數(shù)),那么,這個變換叫做相似變換,實數(shù)k叫做相似比。仿射變換:x’=ax+by+ey’=cx+dy+f其中a,b,c,d,e,f為仿射變換系數(shù)。4參考書:《分形算法與程序設(shè)計》4.4IFS碼用多個仿射變換式表達(dá)一個圖象w1,w2,w3,……,使用每一個仿射變換式的概率p可以不同,一般面積越大,p值越大。于是,只要獲得a,b,c,d,e,f,p(IFS碼)的值便可以得到要表達(dá)的圖形。x’=a1·x+b1·y+e1y’=c1·x+d1·y+f1w1x’=a2·x+b2·y+e2y’=c2·x+d2·y+f2w2x’=a3·x+b3·y+e3y’=c3·x+d3·y+f3w3p1p2p3p1+p2+p3=15參考書:《分形算法與程序設(shè)計》4.5Sierpinski墊片的IFS生成

由于生成的三個小三角形的面積相等,所以我們可以讓w1、w2、w3出現(xiàn)的概率相同或相近。

x’=0.5xy’=0.5yx’=0.5x+0.5y’=0.5yx’=0.5x+0.25y’=0.5y-0.5x’=0.5·x+0·y+0y’=0·x+0.5·y+0x’=0.5·x+0·y+0.5y’=0·x+0.5·y+0x’=0.5·x+0·y+0.25y’=0·x+0.5·y-0.5w1w2w36參考書:《分形算法與程序設(shè)計》4.5Sierpinski墊片的IFS生成

算法:IFS標(biāo)題:IFS生成算法參數(shù):

n(迭代次數(shù))

m[](存儲IFS碼值)變量:a,b,c,d,e,f,p(IFS碼變量)函數(shù):Pset(x,y)(畫點函數(shù))

Rand(隨機(jī)函數(shù))BEGIN//IFS碼賦值

m[0,0]=0.5;m[0,1]=0;m[0,2]=0m[0,3]=0;m[0,4]=0;m[0,5]=0m[0,6]=0.333m[1,0]=0.5;m[1,1]=0;m[1,2]=0m[1,3]=0.5;m[1,4]=0.5;m[1,5]=0m[1,6]=0.333m[2,0]=0.5;m[2,1]=0;m[2,2]=0m[2,3]=0.5;m[2,4]=0.25;m[2,5]=0.5m[2,6]=0.334n=6000

WHILEn>0p=Rand

SWITCH(P)

CASEIS<=m[0,6]a=m[0,0];b=m[0,1];c=m[0,2]d=m[0,3];e=m[0,4];f=m[0,5]

BREAK

CASEIS<=(m[0,6]+m[1,6])a=m[1,0];b=m[1,1];c=m[1,2]d=m[1,3];e=m[1,4];f=m[1,5]

BREAK7參考書:《分形算法與程序設(shè)計》4.5Sierpinski墊片的IFS生成

CASEIS<=(m[0,6]+m[1,6]+m[2,6])a=m[2,0];b=m[2,1];c=m[2,2]d=m[2,3];e=m[2,4];f=m[2,5]BREAKCASEIS<=(m[0,6]+m[1,6]+m[2,6]+m[3,6])a=m[3,0];b=m[3,1];c=m[3,2]d=m[3,3];e=m[3,4];f=m[3,5]

ENDSWITCH

x=a*x+b*y+ex=c*x+d*y+fPset(100+600*x,500-600*y)n=n-1

ENDWHILEEND(源代碼:書中程序4.1)8參考書:《分形算法與程序設(shè)計》4.6拼貼與IFS碼的確定

此時四個子圖分別是目標(biāo)圖的1/4、1/5、1/4、1/2大小的復(fù)制品。然后按順序交互式地在屏幕上調(diào)節(jié)每一個子圖的仿射變換參數(shù)ai、bi、ci、di、ei,使得平移、旋轉(zhuǎn)后基本覆蓋住目標(biāo)圖。

9參考書:《分形算法與程序設(shè)計》4.7IFS植物形態(tài)實例

IFS碼在書中表4.18IFS碼在書中表4.20IFS碼在書中表4.1910參考書:《分形算法與程序設(shè)計》4.8復(fù)平面上的IFS算法

11參考書:《分形算法與程序設(shè)計》4.8復(fù)平面上的IFS算法

算法:Julia_IFS標(biāo)題:Julia集的IFS算法參數(shù):z(迭代次數(shù))

PI(π值)

RAND_MAX(隨機(jī)最大值)變量:k(概率變量)

x,y(z的實部和虛部)

cx,cy(c的實部和虛部)

r(極距)

a,b,e,f,m,n,wx,wy,theta

函數(shù):Pset(x,y)(畫點函數(shù))

Rand(隨機(jī)函數(shù))

sin(正弦函數(shù))

cos(余弦函數(shù))

atan(反正切函數(shù))BEGINFORi=1TOzm=a*x+en=b*y+fIFi>10THEN

Pset(m,n)ENDIF

wx=x-cx

wy=y-cyIFwx>0THENtheta=atan(wy/wx)ENDIFIFwx<0THENtheta=PI+atan(wy/wx)ENDIFIFwx=0THENtheta=PI/2ENDIF12參考書:《分形算法與程序設(shè)計》4.8復(fù)平面上的IFS算法

theta=theta/2r=sqit(wx*wx+wy*wy)k=rand

溫馨提示

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

評論

0/150

提交評論