鄧永菊,王世芳*,吳 濤
(1.湖北第二師范學(xué)院物理與電子信息學(xué)院,武漢430205;2.武漢工程大學(xué)理學(xué)院,武漢替換為 430073)
分形植物的模擬仿真及其分形維數(shù)的研究
鄧永菊1,王世芳1*,吳 濤2
(1.湖北第二師范學(xué)院物理與電子信息學(xué)院,武漢430205;2.武漢工程大學(xué)理學(xué)院,武漢替換為 430073)
基于分形物整體與局部的自相似性與自復(fù)制性的特征,采用隨機(jī)線性迭代函數(shù)算法,利用計算軟件mathematica 7.0成功模擬了蕨葉和分形樹的生成過程;另外還采用計盒數(shù)法,通過軟件編程分別計算出蕨葉和分形樹的分形維數(shù)分別為1.45和1.52,所得結(jié)果與在二維空間中分形物體的分形維數(shù)在1~2之間的結(jié)論相一致.
分形;計盒數(shù)法;隨機(jī)線性迭代函數(shù)算法;分形維數(shù);mathematica 7.0
分形最初是由美國學(xué)者M(jìn)andelbrot[1]首先提出的,分形理論的真正發(fā)展起來才30余年,在這期間得到了突飛猛進(jìn)的發(fā)展,并引起了越來越多的學(xué)者和研究者的注意和興趣,極大地推動了非線性學(xué)科的發(fā)展.分形幾何理論的應(yīng)用己遍及生物學(xué)、物理、化學(xué)、材料科學(xué)、圖像學(xué)、生物與醫(yī)學(xué)、油藏、土壤等自然科學(xué)領(lǐng)域以及經(jīng)濟(jì)、人文等社會科學(xué)領(lǐng)域,展現(xiàn)了令人矚目的應(yīng)用前景,解決了許多傳統(tǒng)理論和方法無法解決的問題,為現(xiàn)代科學(xué)研究提供了新的手段[2-5].歐氏幾何認(rèn)為空間的維數(shù)是整數(shù),其描述的圖形的邊界都是規(guī)則的且可以用一定的解析式表示,例如直線、平面、球或立方體等,他們的維數(shù)分別為1維、2維和3維.對于自然界中存在大量分形物體 ——枝葉茂盛的樹木、肥沃的土壤、彎彎曲曲的海岸線、縱橫交錯的血管,令人眼花繚亂的滿天繁星、千姿百態(tài)的云彩、各種各樣的多孔介質(zhì)等等,它們的局部和整體存在統(tǒng)計意義上的自相似性,它們的維數(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ì)地感或紋理感,以畫線編程實現(xiàn),編程難度大;復(fù)分形圖通過逃逸時間算法畫點來完成,畫出的圖象更具有藝術(shù)感,編程復(fù)雜;粒子系統(tǒng)模型和隨機(jī)插值法均有編程難度大的缺點.近年來,雖有不少研究者基于L系統(tǒng)的植物圖像進(jìn)行了模擬仿真,大多數(shù)都是采用VC與VB語言編寫的,編程工作量大,而且沒有給出植物的分形維數(shù)[10-11];張峰剛[12]基于隨機(jī)線性迭代函數(shù)系統(tǒng)(Iterated Function System,簡稱IFS)利用VC++編程模擬了分形樹的生成,但是編程復(fù)雜且他們并沒有計算出分形樹的分形維數(shù).本文利用Mathematica編程方便、簡單,計算速度快等優(yōu)點,采用隨機(jī)線性迭代函數(shù)系統(tǒng)算法來生成植物的分形圖形,并通過計盒數(shù)法分別計算出蕨葉和分形樹的分形維數(shù)分別為1.45和1.52,所得結(jié)果與在二維空間中分形物體的分形維數(shù)在1~2之間的結(jié)論相一致[13-14].
隨機(jī)線性迭代函數(shù)系統(tǒng)最早是由 Hutchinson于1981年提出的[15],是分形幾何學(xué)的一個重要分支.IFS是以仿射變換為框架,根據(jù)幾何對象的整體與局部具有自相似結(jié)構(gòu),經(jīng)過迭代而產(chǎn)生的.其基本思想為首先選定一個收縮變換的集合(即一個IFS代碼),然后從一個任意點開始,從集合中隨機(jī)選擇一個變換應(yīng)用于該點,把它變換到另一點;再隨機(jī)選擇另一個變換并應(yīng)用于新的點,再產(chǎn)生新的點;如此繼續(xù).所有這些點的集合,在屏幕上畫出來的圖形,被稱為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,起始點位置 x0=0,y0=0.
根據(jù)方程(1),可以確定分形蕨葉的仿射變換系數(shù)(即 IFS碼):算法與步驟為:
①生成[0,1]均勻分布的隨機(jī)數(shù)r;
②分配四個仿射變換的概率空間,分別為[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)計算變化后的xn+1,yn+1,在(xn+1,yn+1)處畫一點;
⑤循環(huán)執(zhí)行步驟 ①~ ④,并將上次計算出的結(jié)果 xn+1,yn+1值作為這次的 xn,yn值參加計算.
根據(jù)上面算法利用mathematica 7.0編寫程序代碼,畫出如下圖1所示蕨葉的分形圖.從圖1中,我們看出由IFS碼繪出蕨葉形象、逼真.
分形維數(shù)是定量表示自相似隨機(jī)分形物體的最基本物理量,在實際工程中往往需要計算分形維數(shù).下面我們通過計盒數(shù)法[1-4]確定圖1中蕨葉的分形維數(shù).較簡單的測定分形生成物分形維數(shù)的方法是把所研究的區(qū)域劃分為一定尺寸ε的正方形小格子,然后計算生成物所占的格子數(shù) N(ε).改變格子的大小ε,又得到一個新的 N(ε)值以此類推,最后就可以找到 N(ε)與ε之間存在一定的標(biāo)度關(guān)系:
圖1 蕨葉的分形圖Fig.1 The simulation of fractral fern
由此看出,直線的斜率就是其分形維數(shù).對分形圖形或圖像來說,分形維數(shù)表征了分形圖形所蘊(yùn)含信息的多少,因此分形維數(shù)的計算具有重要的意義.為了定量計算蕨葉的分形維數(shù),需要在蕨葉圖形上加網(wǎng)格,如圖2所示.設(shè)每個網(wǎng)格(盒子)的邊長為ε,邊長的倒數(shù)δ=1/ε.圖2(a)~ (e)每個盒子的邊長分別為3/8,1/4,1/6,1/8,1/10,邊長的倒數(shù)δ對應(yīng)為8/3,4,6,8,10,然后分別數(shù)出每個網(wǎng)格中占有一個或一個以上點的盒子數(shù)目為N=7,15,27,39,58.以 lnδ為橫坐標(biāo)、lnN(δ) 為縱坐標(biāo)畫出這5個數(shù)據(jù)點,并采用最佳線性擬合的方式(其擬合直線方程式為 y=1.45x+0.69),計算出擬合直線的斜率,即為蕨葉的分形維數(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ù)形式進(jìn)行迭代,迭代次數(shù)為 n=105,起始點位置 x0=0,y0=0.
同樣利用mathematica 7.0編寫程序,模擬分形樹的生成,如圖4所示.
圖4 分形樹的生成Fig.4 The simulation of fractral tree
依照前面相同方法,用計盒法求出分形樹的分形維數(shù)為Ds=1.52,如圖5(a)-(d)及圖6所示.
圖5 分形樹的網(wǎng)格劃分Fig.5 The grid of fractral tree with square grid superiposed
圖6 分形樹的分形維數(shù)Fig.6 The fractral dimension of fractral tree
植物是自然界的重要組成部分,根據(jù)植物的形態(tài)結(jié)構(gòu)與特征,植物的生長可以看作是植物細(xì)胞按一定的規(guī)律不斷發(fā)育、分裂的過程,這種按某種規(guī)律分裂的過程可以近似地看作為遞歸、迭代過程,這與分形的產(chǎn)生極為相似.因此在這種意義上說,可以認(rèn)為一種植物對應(yīng)一個迭代函數(shù)系統(tǒng).從蕨葉的生成和分形樹的形成可以看出,由IFS繪出的分形圖形具有無窮細(xì)微的自相似結(jié)構(gòu),能對客觀事物作出準(zhǔn)確的反映.本文利用數(shù)學(xué)軟件Mathematica具有內(nèi)容豐富、功能強(qiáng)大、操作方便簡單、界面友好等突出優(yōu)點,采用隨機(jī)線性迭代函數(shù)系統(tǒng)算法成功地模擬了蕨葉以及分形樹的生成,并分別計算了它們的分形維數(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].合肥:中國科學(xué)技術(shù)出版社,1993. [4]Kaye B H.分形漫步[M].徐新陽,康 雁,陳 旭,等譯.沈陽:東北大學(xué)出版社,1994. [5]孫 敏,馬藹乃,毛善君.3DGIS中樹的表達(dá)與可視化的研究[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2001,10(13):901-905. [6]陳昭炯.基于L—系統(tǒng)的植物結(jié)構(gòu)形態(tài)模擬方法[J].計算機(jī)輔助設(shè)計與圖形學(xué)學(xué)報,2000,8(12):571-574. [7]孔 勇,璩柏青.L系統(tǒng)在植物形態(tài)模擬中的應(yīng)用[J].農(nóng)機(jī)化研究,2007(4):136-138. [8]孫博文.分形算法與程序設(shè)計—Visual C++實現(xiàn)[M].北京:科學(xué)出版社,2004. [9]齊東旭.分形及計算機(jī)生成[M].北京:科學(xué)出版社,1994. [10]袁 杰,劉大昕.基于L系統(tǒng)的植物圖像計算機(jī)模擬[J].應(yīng)用科技,2002,29(11):4-46. [11]鄭 達(dá),胡德婷,何興恒.基于隨機(jī)系統(tǒng)的三維分形樹算法和實現(xiàn)[J].計算機(jī)應(yīng)用,2007,27:100-103. [12]張峰剛,顏國明,薛 青.三維樹木的計算機(jī)模擬[J].仿真學(xué)報,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)