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

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

表1 L-系統(tǒng)符號解釋
L-系統(tǒng)算法流程如圖2所示。首先,設(shè)計(jì)L-系統(tǒng),根據(jù)所模擬的植物,給出相應(yīng)的公理、產(chǎn)生式、初始角度和迭代參數(shù)等,這是植物建模的關(guān)鍵一步;然后,循環(huán)執(zhí)行字符迭代替換;最后,對迭代生成的字符串進(jìn)行圖形解釋,畫出最終圖形[4]。

圖2 L-系統(tǒng)算法流程圖
例如,對于參數(shù)設(shè)定如下的L-system1系統(tǒng)。

其中,P1和P2兩個產(chǎn)生式分別模擬由從頂端生出兩段新枝和內(nèi)節(jié)點(diǎn)的長高,此L-系統(tǒng)模擬出植物如圖3所示。

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

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

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


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

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


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