王冬,夏乙,殷木一,劉富林,張凌,陳玉林
1.武漢軍械士官學校無人機系,武漢 430075
2.重慶航天職業技術學院教務處,重慶 400021
基于環境敏感的虛擬植物生長仿真
王冬1,夏乙2,殷木一1,劉富林1,張凌1,陳玉林1
1.武漢軍械士官學校無人機系,武漢 430075
2.重慶航天職業技術學院教務處,重慶 400021
1968年,Aristid Lindenmayer引入了一種形式化的方法來對簡單多細胞組織(如水藻等)的生長過程進行建模,后來被稱為L系統。隨后L系統數學理論的大發展,促使了其在植物建模領域的應用[1]。
在最初的L系統理論中,植物被看成是一種封閉的控制系統。這種假設的好處是使得植物的某些生長過程可以用數學方式來表達。然而,脫離環境的研究卻大大降低了這種理論的應用范圍和價值,因為它僅對植物形態進行模擬,無法反映植物的生長機理。
為了模擬植物受某些局部環境的影響,如剪枝后的生長情況,Prusinkiewicz[2]引入了環境敏感的L系統,將植物生長的外界環境因素和可交互的內部控制結合在一起,模擬植物的剪枝生長。文獻[3]在L系統中引入向上傳遞的資源流和向下傳遞的節點數,模擬雙向的信息流在植物體內的傳遞過程,實現了植物中某一分枝被裁剪后,其他分枝加速生長現象的仿真。黃艷峰等[4]給出了示意性的二維植物在正方形邊界范圍內的剪枝生長,然而沒有進一步討論三維植物在剪枝條件下的生長情況,因此不夠完善。
在這些相關研究工作的基礎上,為了能更加真實地表現植物在剪枝條件下的生長過程,本文將環境敏感的L系統與三維植物生長模型相結合,在L-studio平臺上實現了基于環境敏感的植物動態生長過程仿真,促進了L系統理論在模擬植物生長領域的應用和發展。
2.1 環境敏感L系統語法
環境敏感的L系統和帶參數的語義相關隨機L系統緊密相關,因此其產生式形式為:
id:lc<pred>rc:condà succ:prob
這里id表示產生式的標示符,lc、pred、rc分別表示左語義、直接前驅和右語義,cond表示條件,succ表示后繼,prob為應用產生式的概率[5]。
L系統的核心思想是重寫,即從公理ω開始,按照產生式規則,依次替換ω中的每個字符,得到新的字符串,再進一步對新字符串中每個字符進行替換,按照上述規則一直替換下去,直到滿足終止條件。
2.2 L系統的龜形圖解釋
與在每一次迭代過程中產生式集的并行應用不同,字符串的圖形解釋是按從左到右的順序進行的。L系統產生的字符串可以有多種幾何圖形解釋,而應用最廣泛的是龜形圖解釋。這些字符串中的符號被解釋成在二維或三維空間中操縱Logo風格的烏龜進行機動的命令。二維空間中字符串的龜形圖解釋如圖1所示。烏龜由它的狀態來表示,包括在笛卡爾坐標系下的位置、朝向,以及各種屬性如當前顏色和線寬等。烏龜在三維空間中的位置由矢量P定義,方向由矢量H、L、U定義。

圖1 二維空間中字符串的龜形圖解釋
L系統的龜形圖解釋是用來對模型進行可視化的,并不涉及對L系統的操作。然而,當考慮到植物與環境因素互相影響時,比如與障礙物的碰撞,烏龜的位置和方向信息就顯得很重要了。因此,在環境敏感的L系統里,對字符串進行幾何解釋過程中,根據龜形的位置和頭方向給查詢模塊賦值[6]。查詢模塊的形式記做:X(x,y,z),這里的X=P,H,U,L。根據X的實際值,x,y,z的值代表位置或方向矢量。在二維情況下,忽略z坐標。
下面以一個簡單的二維樹木在剪枝條件下的生長為例,來說明在環境敏感L系統里,應用查詢模塊的方法。一般情況下,在樹的生長過程中,頂芽具有頂端優勢。頂端優勢是指植物的頂芽在生長上占有優勢,頂芽的存在控制側芽的生長。因此,樹木在生長過程中有很多側芽處于休眠狀態。剪枝算法就是一種抑制“頂端優勢”的算法,通過將分枝系統中某些頂芽移除而將休眠芽激活,產生由外界環境調節的植物形態和結構。
下面的L系統表示在二維平面內,植物只有被剪枝以后,休眠芽才能被激活的一種極端情況。本文所有算法都在L-studio 4.0平臺上實現[7]。

該模型使用了一個用戶自定義的函數whenprune(x,y,z)= ((y<0)||(y>SIZE×2)||(x<-SIZE)||(x>SIZE)||(z<-SIZE)||(z>SIZE)),將植物的生長限定在正方形的裁剪盒內,生長序列如圖2所示(順序為從左至右,從上至下)。從圖中可以看出頂芽被剪枝掉后,休眠芽得以開始生長。

圖2 二維平面內的植物剪枝生長演示
前文使用了一個示意型的分枝結構來說明樹木對于裁剪的響應,為了產生實際樹木剪枝后的效果,需要引入樹木的生長模型。
一個獨立樹的生長可以看做是新的嫩枝不斷的添加到原來樹枝上的過程。Borchert和Slade,通過對三葉楊樹的觀察和測量,得出末端枝條數量呈指數規律增長[8]。在Borchert、Slade模型的基礎上,本文使用一種適用于計算機仿真的模型。該模型基于以下符合植物學原理的假設。
(1)植物從年齡k=1開始生長,在初始條件下表示一個沒有分叉的嫩枝(shoot)。
(2)在以后的生長中,新的嫩枝從位于上一年枝末端的芽開始生長,定義常量bmax為最大分叉率。
(3)所有的枝條,不論它們的位置和年齡都具有相同的長度l,因此形成了一個半球形的樹冠。
(4)葉子生長在當年枝上,因此在樹冠外圍形成了半球層的葉子。定義常量σmin為每個嫩枝上暴露到陽光下的最小葉面積,目的是保證葉芽在陽光下正常生長。
根據以上假設,在k個生長年齡后,樹冠的最大半徑為Rk=lk,半球形樹冠的表面積最大為Sk=2πRk2=2πl2κ2。定義第k+1年添加到樹木上的枝條數量為Nk+1,這個數值一方面受第k年添加到樹木上的枝條數量Nk乘以最大分叉率bmax的限制,另一方面受限于在保證樹葉彼此不過分遮擋情況下可能產生的最大嫩枝數量νk+1=Sk+1σmin。因此,Nk+1的大小為:

假定每個嫩枝上暴露到陽光下的最小葉子面積遠遠小于樹冠的面積,即σmin?2πl2κ2。植物在剛開始生長階段,新嫩枝不足以覆蓋整個樹冠(bmaxNk<νk+1),新嫩枝的數量將隨樹木年齡呈指數增加,即
由于樹冠的面積只跟樹木生長年齡的平方呈正比,這樣在某個年齡t時,可能的新嫩枝數量將超過允許的充分暴露到陽光里的樹枝數量,即bmaxNt≥νt。在以后的生長中,植物的分叉將受樹冠面積的限制。k≥t時的平均分叉率bk為:

從上式可以看出,當植物的生長超過一定年限后,其枝條分叉的概率將逐漸減小。假設每個上一年枝只產生一個或兩個新的嫩枝,那么產生兩個新嫩枝的枝條占所有上一年枝的比例為:

其含義如下:樹木的生長從節間F和頂點A(1)開始,頂點的參數表示迭代次數。產生式p1表示產生兩個新的枝條,而產生式p2表示產生一個樹枝和一個休眠芽B。它們發生的概率分別是p=min{1,(2k+1)/k2}和q=1-p。當k<3時,新嫩枝的數量呈指數增加,當k≥3時,樹枝分叉的概率由公式(1)決定。圖3表示應用上面的L系統分別迭代18次后產生的兩個三維樹木圖像,這里FAI(φ)=90°,ALPHA(α)=32°,BEITA(β)=20°。

圖3 使用L-system2生成的三維植物形態
上面的L系統產生了包含很多休眠芽的植物結構,因此能像L-system1那樣用來仿真植物的剪枝生長。將第2章和第3章的L系統模型相結合,得到下面的L系統模型。

首先公理Axiom定義了一個植物生長的立方體界限BOX和符號X。產生式p1表示將X替換為一段節間F,一個頂點A(1)和一個查詢模塊:P(x,y,z);產生式p2、p3與L-system 2中的產生式類似,表示植物的自由生長。產生式p4~p8類似于L-system 1中的p3~p7,具體如下:產生式p4表示頂點A超過了裁剪面后,將頂點和相應的節間F同時移除,并產生激活休眠芽的信號S。產生式p5-p7用來向下傳遞這種信號。當信號S到達休眠芽B時,產生式p8表示休眠芽被激活,生成一個包含節間F、頂點A()和查詢模塊的側枝。
產生式p8中頂點A的參數值含義解釋如下:在產生式p3中,新產生的休眠芽B()中的兩個參數都設置成樹木在發芽時的年齡(用迭代步驟表示)。產生式p9更新B()中的第一個參數m,讓它總是表示樹木的實際年齡,而第二個參數n保持不變。這樣,對于產生式p8中新產生的頂點A,就可以將其年齡表示為m和n的線性組合(am+bn+d)。因為產生式p2對年齡較小的頂點(即k值較小的A(k))應用的概率大,所以,通過不同的a、b、d值就能控制由休眠芽發育成的樹枝的平均分叉率。這是該模型一個很重要的特性,因為自然界中,剪枝后新長出的樹枝會比原來樹枝有更強的生命力。
圖4表示L-system 3運行第3、6、9、13、21、27、32、38、40步后的植物形態。產生式p8中使用的常量a、b、d分別為0、1、-5。從圖中可以看出相對于非剪枝的情況,樹枝的密度在立方體盒子邊界上逐漸增加,最終剪枝后的植物長成了其包圍盒的形狀。

圖4 植物在立方形包圍盒剪枝下的生長
如圖5,進一步說明了常量a、b、c的值對剪枝后植物形態的影響。所有的圖像都是迭代19步后生成。在最左邊的模型里,被激活頂點的初始年齡等于此時植物的實際年齡減去5(a=1,b=0,c=-5)。在中間的模型里,被激活頂點的初始年齡等于樹木產生該休眠芽時的年齡減去5(a=0,b=1,c=-5),而在最右邊的模型里,該值為1(a=0,b=0,c=1)。從圖中可以看出,分叉最多的是最右邊的模型。

圖5 被激活頂點的生理年齡對分枝結構的影響
根據以上的植物剪枝模型,利用不同的剪枝函數,可以人為地創建出許多不同的植物形態。
本文利用環境敏感的L-系統對植物在剪枝條件下的生長過程進行了建模和仿真。根據這種思想,可以模擬出植物剪枝前后的生長結構,對植物生長規律的研究有一定啟發。
需要說明的是,本文僅實現了理想條件下植物剪枝后的生長仿真,然而影響植物剪枝后生長的因素有很多,因此,與植物受環境影響的實際生長過程相比,還需要進行很多研究工作。
[1]Guo Y,Fourcaud T,Jaeger M,et al.Plant growth and architectural modelling and its application[J].Annals of botany,2011,107:723-727.
[2]Prusinkiewicz P,James M,Mech R.Synthetic topiary[C]// Proceedings of SIGGRAPH’94.New York:ACM,1994:351-358.
[3]陳濤.基于環境敏感的虛擬植物建模[J].西北師范大學學報:自然科學版,2010,46(4):50-52.
[4]黃艷峰,陳濤.基于局部環境敏感的動態植物建模研究[J].工程圖學學報,2010(4):56-61.
[5]丁歡,萬旺根,黃炳,等.三維嵌套L系統及其在植物模擬中的應用[J].計算機工程與應用,2009,45(5):207-209.
[6]唐衛東,李萍萍,陸章平.基于Open-L系統的植物結構功能模型研究[J].計算機應用研究,2007,24(3):94-96.
[7]Mech R.CPFG Version 4.0 user’s manual[EB/OL].(2004)[2011]. http://algorithmicbotany.org/lstudio/CPFGman.pdf.
[8]Lam Z,King S A,Allied Press Ltd,et al.Simulating tree growth basedoninternalandenvironmentalfactors[J].Association for Computing Machinery,2005(2):99-107.
WANG Dong1,XIAYi2,YIN Muyi1,LIU Fulin1,ZHANG Ling1,CHEN Yulin1
1.Department of UAV,Wuhan Ordnance Noncommissioned Officer Academy,Wuhan 430075,China
2.Department of Teaching Affairs,Chongqing Aerospace Polytechnic College,Chongqing 400021,China
Simulation on local environment factors to the growth of plant,especially pruning is important to the research of the digital agriculture and virtual gardening.Although a two-dimensional tree model constructed by environmentally sensitive L-system is used to simulate its growth under 2D clipping box,real plant development process response to pruning is lacking.By combining it with a real plant development process model,a model of trees response to pruning is proposed.The experiments show that environmentally-sensitive extension of L-systems can make a better simulation on the interaction between a developing plant and its bounding box,and build a base for next step of research.
virtual plant;L-system;environment;growth model
仿真局部環境對植物生長的影響,特別是在剪枝條件下的植物生長狀況,對數字農業的發展和虛擬園藝設計具有重要意義。已有的成果運用環境敏感L系統實現了二維植物在正方形邊界內的剪枝生長仿真,但未能模擬真實植物生長受環境的影響。在此基礎上,運用三維植物生長模型,實現了三維植物在剪枝條件下的生長過程仿真。實驗結果表明,環境敏感L系統能夠很好地模擬真實植物和外部包圍盒之間的交互,為下一步研究植物同其他外界環境因素的交互打下了基礎。
虛擬植物;L系統;環境;生長模型
A
TP391
10.3778/j.issn.1002-8331.1112-0541
WANG Dong,XIA Yi,YIN Muyi,et al.Simulation of virtual plant development based on environment sensitivity.Computer Engineering and Applications,2013,49(19):173-176.
武漢軍械士官學校博士創新基金。
王冬(1981—),男,博士,講師,主要研究領域為計算機圖形學,虛擬現實技術等;夏乙(1984—),女,講師,主要研究領域為機械設計,信號處理等。E-mail:wangdongxy@hotmail.com
2012-01-04
2012-04-19
1002-8331(2013)19-0173-04
CNKI出版日期:2012-05-21http://www.cnki.net/kcms/detail/11.2127.TP.20120521.1139.015.html