李紀永,馬學強
(1.山東師范大學 信息科學與工程學院,山東 濟南 250014;2.山東省分布式計算機軟件新技術重點實驗室,山東 濟南 250014)
現(xiàn)代農(nóng)林業(yè)對植物生長過程的研究已經(jīng)越來越重視,尤其是利用計算機對植物的虛擬研究,其反映了真實的植物生長過程。虛擬植物具有操作靈活、可視性好的特點,可以在計算機上直觀形象地再現(xiàn)植物的生長過程或者虛擬植物農(nóng)場等,較好地克服了實際農(nóng)林場中植物數(shù)目龐大、生理生長周期長和周圍環(huán)境影響等問題。虛擬植物的生長過程可以用Lindenmayer系統(tǒng) (L系統(tǒng))進行植物實體的可視化建模,L系統(tǒng)是表達植物拓撲結構和生長規(guī)律的重要手段,是設計虛擬植物與模擬植物生長過程的重要手段之一。L系統(tǒng)本身可以作為虛擬植物的生長函數(shù),并且能夠結合植物的生長參數(shù)模擬植物的動態(tài)生長過程,使植物的形態(tài)發(fā)生模型與生態(tài)生理模型較好地融合。
目前,虛擬植物的研究主要是定量化地測定植物的拓撲結構,采集大量植物個體的數(shù)據(jù),在計算機上生成植物的可視化效果[1]。但是,這忽視了植物是一個有機的整體,缺乏植物連續(xù)性生長的規(guī)律描述。因此,本文結合植物生長方程(如 Logistics方程),在 L系統(tǒng)中實現(xiàn)虛擬植物參數(shù)與植物生長特性的有機結合,并將隨機L系統(tǒng)融合進來,真正實現(xiàn)植物生長過程中的某種特性(如枝干的長度)隨著時間變化而發(fā)生的動態(tài)變化,體現(xiàn)了植物連續(xù)生長和隨機生長的特點,具有重要的生物學意義。
L系統(tǒng)是由匈牙利生物學家LINDENMAYER A于1968年提出[2]的,并且作為虛擬植物生長的數(shù)學理論。L系統(tǒng)一般由字符集V、初始狀態(tài)ω和產(chǎn)生式集P組成,即 L系統(tǒng) G=<V,ω,P>。L系統(tǒng)的本質是字符串的同步并行重寫,結合海龜解釋[3]將L系統(tǒng)中的每個字符賦予特定的含義來展示植物的拓撲結構。
為了表達植物的形態(tài)特征,首先設置初始字符串和產(chǎn)生式集,根據(jù)產(chǎn)生式替換規(guī)則對原字符串進行不斷的遞歸迭代操作。例如,初始狀態(tài)ω=F,產(chǎn)生式P為:F→F[-F]F[+F]F。其中,海龜解釋如下:
F:沿著當前的方向向前移動一步,從原先位置到當前位置畫一條線段。
+:把龜形當前方向向左旋轉規(guī)定的角度。
-:把龜形當前方向向右旋轉規(guī)定的角度。
[:將龜形的當前狀態(tài)壓入堆棧。
]:從堆棧中彈出一個狀態(tài)作為當前狀態(tài)。
經(jīng)過一次迭代后,產(chǎn)生式為:
F→F[-F]F[+F]F[-F[-F]F[+F]F]F[-F]F[+F]F[+F[-F]F[+F]F]F[-F]F[+F]F
迭代次數(shù)n取不同值時的植物動態(tài)生長過程如圖1所示。
通過以上基本的L系統(tǒng)理論可以看出,植物的生長是一個遞歸、迭代的規(guī)律分裂過程,并且是有固定速率和規(guī)律的生長。因此,可以將一種植物對應一個迭代函數(shù)系統(tǒng)[4],通過生長方程改變其中的某些參數(shù)值來模擬植物的生長過程。
根據(jù)植物學基本理論,植物的生長是植物細胞按照一定的遺傳規(guī)律不斷發(fā)育、分裂的過程。因此,植物的生長方程可以描述為植物的生長量y(t)隨時間t變化的數(shù)學模型。植物的生長過程大致呈緩慢生長、快速生長、緩慢生長和停止生長幾個階段,生長量的變化曲線大致呈“s”形。許多研究者將指數(shù)函數(shù)、雙曲線函數(shù)和S-曲線函數(shù)等曲線函數(shù)應用于植物生長量的擬合,用來描述植物的生長周期、產(chǎn)量預測和葉片生長等。其中,大多數(shù)S-型曲線方程用于近似擬合植物節(jié)間長度和葉片尺寸等生長數(shù)據(jù),這些曲線方程被稱為植物的生長方程。
不同植物的生長過程符合不同的生長方程,對此,許多專家學者都做了不同的研究。鄧紅兵等[5]運用天然林中的紅松、長白落葉松解析木數(shù)據(jù)[6],對樹高進行了擬合和研究,結果表明,Richard方程擬合天然林中的紅松最好,Mitseherlieh方程擬合長白落葉松樹高比較理想。
Richards方程式如式(1)所示,Mitseherlieh方程式如式(2)所示。
其中,A為植物生長的最大高度,t為時間參數(shù),r和c為植物生長速率參數(shù)。
Logistics方程很好地模擬了紫果云杉的樹高,其生長方程為:
其中,A為植物生長的最大高度,t為時間參數(shù),m和r為與植物生理生長有關的參數(shù)。
瑞典林學家LUNDQVIST成功地利用Korf方程建立了歐洲赤松和挪威云杉人工林的樹高生長模型,其生長方程為:
其中,A為植物生長的最大值參數(shù),t為時間參數(shù),b和c為生長參數(shù)。
從以上學者對植物的研究可以看出,利用生長方程來擬合植物枝節(jié)長度是比較普遍的。利用生長方程從數(shù)學方法的角度對植物或植物一部分的生長數(shù)據(jù)進行系統(tǒng)化描述,建立植物的數(shù)學模型。通過記錄植物相關數(shù)據(jù),然后利用MATLAB軟件對所要擬合的非線性生長模型定義M文件,獲取公式參數(shù),最后輸出結果,從而得到非線性回歸方程,即生長方程。
根據(jù)植物學基本理論,在植物生長初期,植物枝節(jié)的生長速度緩慢,節(jié)間較短;在植物生長中期,生長速度明顯加快,節(jié)間呈指數(shù)增長;在植物生長后期,生長速度又會變慢,最后,節(jié)間基本達到最大的長度,符合“s”形生長特點。結合L系統(tǒng)基本理論,可以將植物節(jié)間模擬得出的Logistics方程應用到L系統(tǒng)的節(jié)間長度,即海歸的爬行路程,模擬植物在不同時期的生長狀況。將Logistics生長方程融合到確定性L系統(tǒng)、參數(shù)L系統(tǒng)和隨機L系統(tǒng)中,通過具體的模擬實驗進行對比觀察,使虛擬植物具有指導生產(chǎn)實際的重要意義。
對于確定性L系統(tǒng),植物生長的每一個周期都是確定性的變化,即產(chǎn)生式字符串周期替換,每一次的迭代可以看作是植物的周期生長。但是,根據(jù)植物學理論,植物生長的每一年齡階段的生長速度是不同的,因此,在確定性L系統(tǒng)中把L系統(tǒng)的迭代次數(shù)表示為植物的不同生長周期,每一生長周期植物的枝干生長速度符合植物的生長規(guī)律。針對植物枝節(jié)生長的變化情況,設計模擬環(huán)境,只將Logistics生長方程應用于植物節(jié)間生長,隨著時間的變化,植株節(jié)間也隨Logistics生長曲線不斷變化,其他的參數(shù)值均不變。設L系統(tǒng)的初始狀態(tài)為F、產(chǎn)生式為 F→F[-FF][+F][--F]F[++F]F、偏轉角度為 22°、線寬為 1、迭代次數(shù)為 3、節(jié)間長度以 Logistics曲線隨時間的變化生長但不長新枝節(jié)時,設計環(huán)境如圖2所示。
在節(jié)間長度曲線中,橫軸代表時間,縱軸代表長度。植物在不同生長時期的生長狀況如圖3所示。
從圖3可以看出,如果植物生長只是增長節(jié)間長度時,植物的總體生長量變化基本符合Logistics曲線方程的變化規(guī)律,節(jié)間生長量的變化大致呈“s”形的生長規(guī)律。
參數(shù)L系統(tǒng)在確定性L系統(tǒng)的基礎上增加了參數(shù),將產(chǎn)生式的參數(shù)看成植物的生長周期,設置系統(tǒng)的初始狀態(tài)以及帶參數(shù)的產(chǎn)生式。系統(tǒng)中的第一次迭代表示植物起初的生長年齡階段,即植物的第一次生長。根據(jù)生長周期與生長方程式中的時間關系,可以生成植物的初始狀態(tài)。隨著植物下一次生長的到來,即植物下一生長周期開始,植物不僅產(chǎn)生新枝而且枝節(jié)也以生長方程的曲線變化規(guī)律不斷生長。例如,設L系統(tǒng)的初始狀態(tài)為F(1)、產(chǎn)生式為 F(n):n<6→F(N+1)[-F(N+1)F(N+1)][+F(N+1)][--F(N+1)]F(N+1)[++F(N+1)]F(N+1)、 偏 轉 角 度為 22°、線寬為 1、迭代次數(shù) n為 4,每一次迭代代表植物的一個生長周期,與產(chǎn)生式的參數(shù)相關聯(lián),設定植物的生長周期與生長方程中的時間關系為2倍關系。在一次生長間隔,即植物的一個生長周期內,節(jié)間長度以Logistics生長曲線增長,生長過程以L系統(tǒng)產(chǎn)生式的生長規(guī)律迭代生長,植物的動態(tài)生長過程如圖4所示。
由圖4可知,在模擬植物的生長過程中,節(jié)間不僅以Logistics曲線生長,并且結合參數(shù)L系統(tǒng),每一次生長周期產(chǎn)生新枝節(jié),符合植物隨生長年齡的變化而變化的生長規(guī)律。
不管是D0L系統(tǒng)還是參數(shù)L系統(tǒng),生成的植物拓撲結構都是自相似性的,是有規(guī)律的生長。隨機L系統(tǒng)的應用使植物新枝的產(chǎn)生并不是按照固定的拓撲結構生長,而是以隨機的概率應用產(chǎn)生式,生成不同結構的枝干。隨機L系統(tǒng)在參數(shù)L系統(tǒng)的基礎上增加了參數(shù)變量π,并且增加了產(chǎn)生式的應用個數(shù)。當產(chǎn)生式字符被替代時,需要以一定的概率應用不同的產(chǎn)生式,這樣枝節(jié)的生長具有隨機性的特點。枝節(jié)的生長應用于Logistics生長方程中,使枝節(jié)的生長隨著生長周期的變化而不斷生長。例如,L系統(tǒng)的初始狀態(tài)為F(1),隨機L系統(tǒng)的產(chǎn)生式為:
其中,產(chǎn)生式的應用概率分別為 πp1、πp2、πp3,取值分別為0.2、0.2和 0.6,偏轉角度為 22°,線寬為 1,迭代次數(shù)為4,節(jié)間長度以Logistics方程曲線生長。這樣,植物在不同生長周期的動態(tài)生長過程如圖5所示。
從圖5可以看出,將隨機L系統(tǒng)與參數(shù)L系統(tǒng)結合,并將Logistics方程應用于植物節(jié)間的生長,不僅體現(xiàn)了植物的隨機性生長的特點,而且體現(xiàn)了植物的動態(tài)生長,表現(xiàn)出了植物的真實性和美觀性。
植物模擬在計算機農(nóng)業(yè)、虛擬現(xiàn)實等技術領域都有很好的應用。本文不僅對傳統(tǒng)的L系統(tǒng)模型進行了改進,而且將生長方程應用于虛擬植物的節(jié)間生長。在L系統(tǒng)的改進中,尤其是融合了參數(shù)L系統(tǒng)和隨機L系統(tǒng)以及生長方程的應用來模擬植物的生長。將來,生長方程將主要應用于虛擬植物模擬的以下幾個方面:
(1)生長方程可以應用于基于L系統(tǒng)的植物各器官的模擬,體現(xiàn)植物的動態(tài)生長特性。不僅是植物的枝節(jié)生長,對于植物葉子的生長、果實體積的變化和植物根的長度變化和植物莖的粗細變化等,都可以根據(jù)具體的實驗及結果應用植物生長方程獲得生長的曲線變化。
(2)植物的生長建模不僅表現(xiàn)在宏觀方面,也體現(xiàn)在微觀方面。在植物的生長過程中,植物器官內生長元素數(shù)量的變化也可以應用植物生長方程的曲線變化。知道了植物的生理變化,就可以由植物的微觀狀態(tài)來體現(xiàn)植物的宏觀狀態(tài)變化情況。
(3)將生長方程應用于虛擬環(huán)境中,控制其中的植物動態(tài)變化情況,體現(xiàn)植物的美觀性與真實性。
[1]ROOM P M,HANAN J S.PRUSINK IEWICA.Virtual plants:new perspectives for ecologists,pathologists and agricultural scientists[J].Trends in Plant Science,1996,1(1):33-38.
[2]LINDENMAYER A.Mathematical models for cellular interaction in development[J].Joumal of Theoretical Biology,1968(18):280-289.
[3]PRUSINKIEWICZ P,LINDENMAYER A,HANAN J.The algorithmic beauty of plants[M].Berlin:Springer-Verlag,1996.
[4]BAMSLEY M F,DEMKO S.Iterated function systems and the global construction of fractals[J].Proceedings of the Royal Socciety of London,1985,A399(1817):243-275.
[5]朱紹輝,張貴平.Richards生長函數(shù)在意大利楊樹無性系人工林生長預測上的應用[J].江蘇林業(yè)科技,2000,27(1):27-30.
[6]鄧紅兵,王慶禮.紅松、長白落葉松樹高生長模型的研究及應用[J].遼寧林業(yè)科技,1997(5):24-27.