鄧永菊,王世芳*,吳 濤
(1.湖北第二師范學(xué)院物理與電子信息學(xué)院,武漢430205;2.武漢工程大學(xué)理學(xué)院,武漢替換為 430073)
分形植物的模擬仿真及其分形維數(shù)的研究
鄧永菊1,王世芳1*,吳 濤2
(1.湖北第二師范學(xué)院物理與電子信息學(xué)院,武漢430205;2.武漢工程大學(xué)理學(xué)院,武漢替換為 430073)
基于分形物整體與局部的自相似性與自復(fù)制性的特征,采用隨機(jī)線性迭代函數(shù)算法,利用計(jì)算軟件mathematica 7.0成功模擬了蕨葉和分形樹(shù)的生成過(guò)程;另外還采用計(jì)盒數(shù)法,通過(guò)軟件編程分別計(jì)算出蕨葉和分形樹(shù)的分形維數(shù)分別為1.45和1.52,所得結(jié)果與在二維空間中分形物體的分形維數(shù)在1~2之間的結(jié)論相一致.
分形;計(jì)盒數(shù)法;隨機(jī)線性迭代函數(shù)算法;分形維數(shù);mathematica 7.0
分形最初是由美國(guó)學(xué)者M(jìn)andelbrot[1]首先提出的,分形理論的真正發(fā)展起來(lái)才30余年,在這期間得到了突飛猛進(jìn)的發(fā)展,并引起了越來(lái)越多的學(xué)者和研究者的注意和興趣,極大地推動(dòng)了非線性學(xué)科的發(fā)展.分形幾何理論的應(yīng)用己遍及生物學(xué)、物理、化學(xué)、材料科學(xué)、圖像學(xué)、生物與醫(yī)學(xué)、油藏、土壤等自然科學(xué)領(lǐng)域以及經(jīng)濟(jì)、人文等社會(huì)科學(xué)領(lǐng)域,展現(xiàn)了令人矚目的應(yīng)用前景,解決了許多傳統(tǒng)理論和方法無(wú)法解決的問(wèn)題,為現(xiàn)代科學(xué)研究提供了新的手段[2-5].歐氏幾何認(rèn)為空間的維數(shù)是整數(shù),其描述的圖形的邊界都是規(guī)則的且可以用一定的解析式表示,例如直線、平面、球或立方體等,他們的維數(shù)分別為1維、2維和3維.對(duì)于自然界中存在大量分形物體 ——枝葉茂盛的樹(shù)木、肥沃的土壤、彎彎曲曲的海岸線、縱橫交錯(cuò)的血管,令人眼花繚亂的滿天繁星、千姿百態(tài)的云彩、各種各樣的多孔介質(zhì)等等,它們的局部和整體存在統(tǒng)計(jì)意義上的自相似性,它們的維數(shù)也不再為整數(shù),而是分?jǐn)?shù),我們稱之為分維數(shù).產(chǎn)生分形圖形的方法有L系統(tǒng)、隨機(jī)線性迭代函數(shù)系統(tǒng)、復(fù)分形圖生成,粒子系統(tǒng)模型、隨機(jī)插值法等等[4-9].其中L系統(tǒng)缺乏質(zhì)地感或紋理感,以畫(huà)線編程實(shí)現(xiàn),編程難度大;復(fù)分形圖通過(guò)逃逸時(shí)間算法畫(huà)點(diǎn)來(lái)完成,畫(huà)出的圖象更具有藝術(shù)感,編程復(fù)雜;粒子系統(tǒng)模型和隨機(jī)插值法均有編程難度大的缺點(diǎn).近年來(lái),雖有不少研究者基于L系統(tǒng)的植物圖像進(jìn)行了模擬仿真,大多數(shù)都是采用VC與VB語(yǔ)言編寫(xiě)的,編程工作量大,而且沒(méi)有給出植物的分形維數(shù)[10-11];張峰剛[12]基于隨機(jī)線性迭代函數(shù)系統(tǒng)(Iterated Function System,簡(jiǎn)稱IFS)利用VC++編程模擬了分形樹(shù)的生成,但是編程復(fù)雜且他們并沒(méi)有計(jì)算出分形樹(shù)的分形維數(shù).本文利用Mathematica編程方便、簡(jiǎn)單,計(jì)算速度快等優(yōu)點(diǎn),采用隨機(jī)線性迭代函數(shù)系統(tǒng)算法來(lái)生成植物的分形圖形,并通過(guò)計(jì)盒數(shù)法分別計(jì)算出蕨葉和分形樹(shù)的分形維數(shù)分別為1.45和1.52,所得結(jié)果與在二維空間中分形物體的分形維數(shù)在1~2之間的結(jié)論相一致[13-14].
隨機(jī)線性迭代函數(shù)系統(tǒng)最早是由 Hutchinson于1981年提出的[15],是分形幾何學(xué)的一個(gè)重要分支.IFS是以仿射變換為框架,根據(jù)幾何對(duì)象的整體與局部具有自相似結(jié)構(gòu),經(jīng)過(guò)迭代而產(chǎn)生的.其基本思想為首先選定一個(gè)收縮變換的集合(即一個(gè)IFS代碼),然后從一個(gè)任意點(diǎn)開(kāi)始,從集合中隨機(jī)選擇一個(gè)變換應(yīng)用于該點(diǎn),把它變換到另一點(diǎn);再隨機(jī)選擇另一個(gè)變換并應(yīng)用于新的點(diǎn),再產(chǎn)生新的點(diǎn);如此繼續(xù).所有這些點(diǎn)的集合,在屏幕上畫(huà)出來(lái)的圖形,被稱為IFS的吸引子.仿射變換的數(shù)學(xué)表達(dá)式為[8,16]:
式中,w代表仿射變換;xn和yn是變換前圖形的坐標(biāo)值,xn+1和yn+1是變換后圖形的坐標(biāo)值;ai,bi,ci,di,ei,fi是仿射變換系數(shù);ri為仿射變換被調(diào)用的概率.
首先產(chǎn)生[0,1]均勻分布的隨機(jī)數(shù) r,以下面的分段函數(shù)形式進(jìn)行迭代,迭代次數(shù)為n=50000,起始點(diǎn)位置 x0=0,y0=0.
根據(jù)方程(1),可以確定分形蕨葉的仿射變換系數(shù)(即 IFS碼):算法與步驟為:
①生成[0,1]均勻分布的隨機(jī)數(shù)r;
②分配四個(gè)仿射變換的概率空間,分別為[0,0.01],(0.01,0.08],(0.08,0.15],(0.15,1];
③判斷隨機(jī)數(shù)落入的概率區(qū)間,并調(diào)用相應(yīng)的仿射變換所具有的 IFS碼值,賦給相應(yīng)的參數(shù)ai,bi,ci,di,ei,fi;
④根據(jù)仿射變換關(guān)系式(2)計(jì)算變化后的xn+1,yn+1,在(xn+1,yn+1)處畫(huà)一點(diǎn);
⑤循環(huán)執(zhí)行步驟 ①~ ④,并將上次計(jì)算出的結(jié)果 xn+1,yn+1值作為這次的 xn,yn值參加計(jì)算.
根據(jù)上面算法利用mathematica 7.0編寫(xiě)程序代碼,畫(huà)出如下圖1所示蕨葉的分形圖.從圖1中,我們看出由IFS碼繪出蕨葉形象、逼真.
分形維數(shù)是定量表示自相似隨機(jī)分形物體的最基本物理量,在實(shí)際工程中往往需要計(jì)算分形維數(shù).下面我們通過(guò)計(jì)盒數(shù)法[1-4]確定圖1中蕨葉的分形維數(shù).較簡(jiǎn)單的測(cè)定分形生成物分形維數(shù)的方法是把所研究的區(qū)域劃分為一定尺寸ε的正方形小格子,然后計(jì)算生成物所占的格子數(shù) N(ε).改變格子的大小ε,又得到一個(gè)新的 N(ε)值以此類推,最后就可以找到 N(ε)與ε之間存在一定的標(biāo)度關(guān)系:
圖1 蕨葉的分形圖Fig.1 The simulation of fractral fern
由此看出,直線的斜率就是其分形維數(shù).對(duì)分形圖形或圖像來(lái)說(shuō),分形維數(shù)表征了分形圖形所蘊(yùn)含信息的多少,因此分形維數(shù)的計(jì)算具有重要的意義.為了定量計(jì)算蕨葉的分形維數(shù),需要在蕨葉圖形上加網(wǎng)格,如圖2所示.設(shè)每個(gè)網(wǎng)格(盒子)的邊長(zhǎng)為ε,邊長(zhǎng)的倒數(shù)δ=1/ε.圖2(a)~ (e)每個(gè)盒子的邊長(zhǎng)分別為3/8,1/4,1/6,1/8,1/10,邊長(zhǎng)的倒數(shù)δ對(duì)應(yīng)為8/3,4,6,8,10,然后分別數(shù)出每個(gè)網(wǎng)格中占有一個(gè)或一個(gè)以上點(diǎn)的盒子數(shù)目為N=7,15,27,39,58.以 lnδ為橫坐標(biāo)、lnN(δ) 為縱坐標(biāo)畫(huà)出這5個(gè)數(shù)據(jù)點(diǎn),并采用最佳線性擬合的方式(其擬合直線方程式為 y=1.45x+0.69),計(jì)算出擬合直線的斜率,即為蕨葉的分形維數(shù)Ds=1.45,如
圖2 分形蕨葉的網(wǎng)格劃分Fig.2 The grid of fractral fern with square grid superiposed
圖3 分形蕨葉的分形維數(shù)Fig.3 The fractral dimension of fractral fern
圖3所示.
設(shè)二維分形樹(shù)以下面的分段函數(shù)形式進(jìn)行迭代,迭代次數(shù)為 n=105,起始點(diǎn)位置 x0=0,y0=0.
同樣利用mathematica 7.0編寫(xiě)程序,模擬分形樹(shù)的生成,如圖4所示.
圖4 分形樹(shù)的生成Fig.4 The simulation of fractral tree
依照前面相同方法,用計(jì)盒法求出分形樹(shù)的分形維數(shù)為Ds=1.52,如圖5(a)-(d)及圖6所示.
圖5 分形樹(shù)的網(wǎng)格劃分Fig.5 The grid of fractral tree with square grid superiposed
圖6 分形樹(shù)的分形維數(shù)Fig.6 The fractral dimension of fractral tree
植物是自然界的重要組成部分,根據(jù)植物的形態(tài)結(jié)構(gòu)與特征,植物的生長(zhǎng)可以看作是植物細(xì)胞按一定的規(guī)律不斷發(fā)育、分裂的過(guò)程,這種按某種規(guī)律分裂的過(guò)程可以近似地看作為遞歸、迭代過(guò)程,這與分形的產(chǎn)生極為相似.因此在這種意義上說(shuō),可以認(rèn)為一種植物對(duì)應(yīng)一個(gè)迭代函數(shù)系統(tǒng).從蕨葉的生成和分形樹(shù)的形成可以看出,由IFS繪出的分形圖形具有無(wú)窮細(xì)微的自相似結(jié)構(gòu),能對(duì)客觀事物作出準(zhǔn)確的反映.本文利用數(shù)學(xué)軟件Mathematica具有內(nèi)容豐富、功能強(qiáng)大、操作方便簡(jiǎn)單、界面友好等突出優(yōu)點(diǎn),采用隨機(jī)線性迭代函數(shù)系統(tǒng)算法成功地模擬了蕨葉以及分形樹(shù)的生成,并分別計(jì)算了它們的分形維數(shù)為1.45和1.52,這與在二維空間中分形體的分形維數(shù)0 [1]Mandelbrot B B.The fractal geometry of nature[M].San-Franciso:Freeman,1982:23-57. [2]謝和平,張永平,宋曉秋,等.分形幾何—數(shù)學(xué)基礎(chǔ)與應(yīng)用[M].重慶:重慶大學(xué)出版社,1991. [3]辛厚文.分形理論及其應(yīng)用[M].合肥:中國(guó)科學(xué)技術(shù)出版社,1993. [4]Kaye B H.分形漫步[M].徐新陽(yáng),康 雁,陳 旭,等譯.沈陽(yáng):東北大學(xué)出版社,1994. [5]孫 敏,馬藹乃,毛善君.3DGIS中樹(shù)的表達(dá)與可視化的研究[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2001,10(13):901-905. [6]陳昭炯.基于L—系統(tǒng)的植物結(jié)構(gòu)形態(tài)模擬方法[J].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2000,8(12):571-574. [7]孔 勇,璩柏青.L系統(tǒng)在植物形態(tài)模擬中的應(yīng)用[J].農(nóng)機(jī)化研究,2007(4):136-138. [8]孫博文.分形算法與程序設(shè)計(jì)—Visual C++實(shí)現(xiàn)[M].北京:科學(xué)出版社,2004. [9]齊東旭.分形及計(jì)算機(jī)生成[M].北京:科學(xué)出版社,1994. [10]袁 杰,劉大昕.基于L系統(tǒng)的植物圖像計(jì)算機(jī)模擬[J].應(yīng)用科技,2002,29(11):4-46. [11]鄭 達(dá),胡德婷,何興恒.基于隨機(jī)系統(tǒng)的三維分形樹(shù)算法和實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2007,27:100-103. [12]張峰剛,顏國(guó)明,薛 青.三維樹(shù)木的計(jì)算機(jī)模擬[J].仿真學(xué)報(bào),2006(1):407-413 [13]Yu Bo Ming,Li Jian Hua.Some fractral characters of porous media[J].Fractrals,2001(9):365-372. [14]Yu Bo Ming.Fractral character for tortuous streamtubes in porous media[J].Chin Phys Lett,2005,22(1):158-160. [15]Hutchinson JE.Fractal and self-similarity[J].Indiana Univ Math J,30:713-749. [16]Enns R H,McGuire G C.Nonlinear Physics with Mathematica for Scientists and Engineers[M].Berlin:Birkhauser,2001:83-89. Abstract:In this paper,based on the characteristic of self-similarity and self-replicability for ensemble or local of fractal,the fractral fern and the fractral tree are successfully simulated by means of random linear iterative iteration function algorithm by mathematica 7.0.Futhermore,the box counting method is applied to investigate the fractal structure and the fractal dimension for the fractral fern and the fractral tree are determined to be 1.45 and 1.52,respectively.This is consistant with the result of the fractral demension between 1 and 2 for two dimensions. Key words:fractral;the box counting method;random linear iteration function algorithm;the fractal dimension;mathematica 7.0 Study on the simulation of fractral plant and fractral demension DENG Yongju1,WANG Shifang1,WU Tao2 O41 A 1000-1190(2010)04-0585-05 2010-07-08. *E-mail:flatime@sina.com.
(1.School Physics and Electronic Information,Hubei University of Education,Wuhan 430205;2.School of Science,Wuhan Institute of Technology,Wuhan 430073)
華中師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2010年4期