孫永香,周筑南*
山東農業大學信息科學與工程學院,山東 泰安,271018
虛擬植物是虛擬現實技術在農業領域應用的前沿課題。結合了植物學理論的虛擬植物是以計算機為工具,對植物生長過程進行動態建模與仿真,其目的在于通過對虛擬植物生長過程的計算機模擬,分析影響植物生長發育的內在和外在的因素,研究植物生長機理,以便科學地指導農業生產增質增效。
隨著智慧農業的快速發展,虛擬植物在農業科學研究、生產建設和教育教學等領域發揮著越來越重要的作用。
(1)虛擬植物為精準農業提供了有力支撐。精準農業是智慧農業的基礎,也是農業智能化的前提。虛擬植物建模技術為精準農業的發展提供了精確的模型,是研究農業問題中定量規律的關鍵工具[1]。與傳統的研究方法相比,植物模型在精確性研究方面具有得天獨厚的優勢。例如,植物間作種植形成了異質冠層空間結構,帶來的作物生長、表型和光截獲的行間差異,以往的研究少有對其定量化分析,而李雙偉等人借助田間觀測數據構建植物功能-結構模型(Functional-Structural Plant Model,FSPM),量化了間作系統中光截獲的行間差異[2]。
(2)基于虛擬植物的農業虛擬實驗提高了農業領域研究的效率。農業虛擬實驗是一種全新的農業研究方法,在計算機中模擬現實實驗室中費時、費力、昂貴的試驗,從而大大降低實驗成本,縮短實驗周期。例如,在傳統的農作物品質改良實驗中,至少要觀察農作物的一個生育期,借助高速的計算機系統,幾分鐘就能呈現出農作物生長的全過程。
(3)為農業教學和農技推廣提供了先進手段。將農業教學中的植物解剖、修剪、嫁接等課程在計算機中進行三維仿真,使教學過程更加形象、直觀、生動,使學生或農民更易理解和掌握這些農業技能[3]。
虛擬植物建模融合了計算機虛擬現實技術、計算機圖形學、植物學和環境生物學等多門學科。眾多科學家提出了許多模擬植物的方法和模型,并開發了許多植物模擬軟件,其中研究比較深入的是基于L-系統的植物建模理論。
L-系統(L-system)是表達植物形態和生長的數學模型,它以形式化的語言描述植物發育進化過程的拓撲結構。L-系統核心思想是字符迭代替換和字符圖形解釋,即用符號與植物結構相對應,由產生式生成的字符串(又稱為句子)代表植物,而生成字符數的過程則描述植物的生長發育過程。
L-系統是一個四元組G=<V,g,ω,P >,其中V是符號的有限集合,稱為字母表或字符表;g是環境符號(一組常量符號集合),可以缺省;ω是初始狀態串(又稱為公理);P由一組產生式(即規則)組成的集合(又稱產生式集)。
首先,L-系統從公理出發,根據產生式,進行有限次字符迭代替換,生成新的字符串。例如:對于V={a,b},ω=a,P={a→b,b→ba},從公理a出發,第1次迭代,根據產生式a→b,a替換為b,生成字符串b;第2次迭代,根據產生式b→ba,b替換為ba,生成字符串ba;第3次迭代,根據產生式b→ba,b替換為ba,根據產生式a→b,a替換為b,生成字符串bab。然后,對生成的字符串進行幾何圖形解釋,就能生成非常復雜的圖形,例如a代表枝條,b代表葉片。
如果是模擬三維植物,則要用到三維空間正交向量軸,如圖1所示。

圖1 空間方向及旋轉示意圖
L-系統目前較為通用的一組符號解釋如表1所示,其中,存入棧中的信息包括當前位置和方向,還有即將畫的圖形的顏色、寬度等其他屬性。

表1 L-系統符號解釋
L-系統算法流程如圖2所示。首先,設計L-系統,根據所模擬的植物,給出相應的公理、產生式、初始角度和迭代參數等,這是植物建模的關鍵一步;然后,循環執行字符迭代替換;最后,對迭代生成的字符串進行圖形解釋,畫出最終圖形[4]。

圖2 L-系統算法流程圖
例如,對于參數設定如下的L-system1系統。

其中,P1和P2兩個產生式分別模擬由從頂端生出兩段新枝和內節點的長高,此L-系統模擬出植物如圖3所示。

圖3 虛擬植物模擬
不同植物的形態結構和內在的生長機理不同,另外植物生長與環境因素也密不可分。因此,產生式不但要描述出植物結構的拓撲關系,還要有各自形態的變化,可以通過設置不同的產生式和不同的符號參數來描述不同虛擬植物的生長過程。植物結構中不同器官,例如樹干、根系、花朵、葉片和果實等生長過程均可基于L-系統進行模擬。例如用字母M代表主干;字母B代表分枝;字母L代表葉片;字母F代表花朵等[5]。
植物生長是一個內在因素和外部環境相互作用的結果,為真實地描述這一復雜過程,科學家們先后擴展了多種不同形式的L-系統,包括確定L-系統、隨機L-系統、參數L-系統、開放L-系統等。在實際應用中,根據研究目標的不同,靈活運用不同的L-系統。
最初的L系統廣泛應用于植物樹干建模中,其能有效地描述樹干的拓撲結構,并能很好地表達植物的結構特征[6-7]。對于樹干建模,可以選擇參數化隨機L-系統。例如,使用下面的參數化隨機L-system2系統來描述樹干的修剪。

(1)產生式P1用于描述樹枝的生長發育,每長出一個枝段(F),則有兩個新的生長頂點(B);產生式P2和P3分別用于描述頂點B的正常生長方式和處于休眠狀態。
(2)參數t用于指定樹干節間的長度;角度值指定了生長的新頂點相對于新節間的方向角。
(3)t<max和t>min是條件表達式,t<max表示如果節間長度大于長度上限值max,則阻止枝條的生成;t>min表示如果節間長度小于長度下限值min,則停止頂點B的休眠。
(4)常數s1和s2(s1<1,s2<1)用于表達枝條在生長過程中,其節間長度的逐漸遞減。
上述L-系統在沒有加入修剪參數時,其模擬的植物形態如圖4(a)所示;在加入修剪參數后,其模擬的植物形態如圖4(b)所示。

圖4 植物樹干建模
植物根系是植物與環境進行交流的重要器官,影響著整株植物的生長發育。但根系大多生長在土壤中,處于地下、不可見,因此對根系的研究遠不如地面上部分直觀和便利。與植物的其他器官類似,使用L-系統同樣可以很好地完成植物根系建模[8-9]。如果使用如下隨機L-system3系統描述植物根系,則其模擬結果如圖5所示。


圖5 植物根系模擬
葉子、花朵和果實也是植物的主要組成器官,它們同樣可以采用L-系統進行建模,只是設定的規則和參數不同,根據不同的需求,賦予字符不同的圖形意義,如橢圓形或者多邊形的曲面表示葉子、球體表示果實等[10]。各種類型L-系統的有機組合可以用來表達具有葉子、花朵和果實的虛擬植物。對于下面L-system4系統的組合,模擬了一株長葉、開花和結果的植物形態,如圖6所示。

圖6 具有葉子、花朵和果實的虛擬植物


其中:B、Bng代表枝條;L代表葉子;FL1,FL2,FL3,FL4代表不同形狀的花朵;PI1,PI2代表不同花蕊;F代表果實;參數t為生長因子。
在智能化時代,虛擬植物的研究和應用已經得到了快速且充足的發展。通過構造不同的L-系統來模擬植物生長過程中的一些生理特征,是虛擬植物建模的重要方法之一,但基于L-系統的虛擬植物建模也存在著執行迭代效率低、可視化效果不足等缺陷。因此,未來對虛擬植物的建模可以考慮利用物聯網、自動控制、人工智能、多媒體等多學科的交叉融合和多種建模方法的集成。