王強 魯斌 李阿楠
摘要:目的: L-系統(tǒng)因其定義簡潔和高度結(jié)構(gòu)化而被廣泛應用于虛擬植物建模中。為了推進現(xiàn)有的L-系統(tǒng)植物建模方法,本文對近年來國內(nèi)外相關(guān)文獻進行全面的梳理和分析,以此來展現(xiàn)L-系統(tǒng)在植物建模領(lǐng)域的研究現(xiàn)狀和最新進展。方法:文章圍繞L-系統(tǒng)基礎(chǔ)、海龜解釋、其在植物建模中具體應用以及改進方法等幾個方面,進行了系統(tǒng)地分析和總結(jié)。結(jié)果:通過系統(tǒng)地梳理文獻,凝練出近幾年來L-系統(tǒng)在植物建模領(lǐng)域取得的進展和尚存在的不足,并對其發(fā)展前景進行了展望。 結(jié)論:虛擬植物建模的研究備受青睞,越來越多性能優(yōu)秀的建模方法不斷涌現(xiàn)。對現(xiàn)有研究成果進行全面梳理和系統(tǒng)分析,將有助于讀者更好地理清L-系統(tǒng)植物建模發(fā)展脈絡(luò),并明晰未來的主要研究方向。
關(guān)鍵詞:L-系統(tǒng);植物建模;仿真軟件;智能化;規(guī)則提取
中圖分類號:TP391 文獻標識碼:A 文章編號:1009-3044(2018)24-0240-06
Abstract: Objective: L- system had the advantage of brief definition and high structuring, which was widely used in virtual plant modeling. In order to seek a better L-system plant modeling method, in this paper, we summarized and analyzed the main documents published in recent years at home and abroad, so as to show the research status and the latest progress of L- system in plant modeling. Methods: Based on a wide range of literature research and the basic theoretical framework of L-system, the work was carried out on the basis of L-system, the explanation of turtles, its specific application in plant modeling and r related improvement methods were systematically analyzed and summarized.. Results: By systematically combing the literature, we concluded the progress and the existing shortcomings of L-system in the field of plant modeling in recent years and make a prospect of its development. Conclusion: The research on virtual plant modeling has been highly favored and more and more modeling methods with excellent performance are emerging these years. By comprehensively reviewing and systematically analyzing the existing research results, it will help readers to better understand the development context of L-system plant modeling and clarify the main research directions in the future.
Key words: L-system; plant modeling; simulation software; intelligent; rule extraction
虛擬植物作為虛擬自然景觀模型中的代表,被廣泛應用于虛擬世界中,包括虛擬旅游、虛擬城市、虛擬農(nóng)業(yè)、虛擬生態(tài)景觀等場景中。但真實感較強的虛擬植物,因其種類繁多、幾何形態(tài)與結(jié)構(gòu)差異較大等特點,構(gòu)建難度是所有自然景觀可視化模擬之最。因此針對虛擬植物建模的研究,一直是計算機視覺、虛擬現(xiàn)實等領(lǐng)域極具挑戰(zhàn)性的方向。除此之外,隨著體驗者對虛擬場景真實性不斷提出新的需求,也不斷拔高了對植物建模的精度和效率的需求。分形理論因其簡單高效的特點,被廣泛地應用于對虛擬場景建模中。作為分形理論的具體應用方法, L-系統(tǒng)不僅具有定義簡潔和高度結(jié)構(gòu)化的特點,而且有諸多的變形,適用于多變的植物建模需求,成為虛擬植物模擬首選的方法之一。
本文首先對常見的幾種L-系統(tǒng)以及龜行解釋進行較為詳盡的介紹,使讀者對L-系統(tǒng)的理論知識有一個比較全面的了解。在此基礎(chǔ)上進一步介紹了L-系統(tǒng)在根、莖、葉、花等不同器官建模中的具體應用, 給讀者直觀的展示L-系統(tǒng)的具體應用領(lǐng)域和方式。本文還介紹另外兩種典型的植物建模方法,通過分析對比來探討L-系統(tǒng)在虛擬植物建模領(lǐng)域的優(yōu)勢。同時,在學科交叉研究不斷深入的背景下,本文總結(jié)了模糊系統(tǒng)、遺傳算法、人工神經(jīng)網(wǎng)絡(luò)等領(lǐng)域的知識對L-系統(tǒng)進行的拓展。并在這些研究進展的基礎(chǔ)上,對L-系統(tǒng)發(fā)展前景進行了展望。
1 常見的幾種L-系統(tǒng)介紹
1968年,美國生物學家 L-indenmayer從生物形態(tài)學的角度出發(fā)提出的一種用于描述植物形態(tài)發(fā)生和生長過程的并行語法方法,通過它來實現(xiàn)對生物組織生長形態(tài)的構(gòu)造[1]。為了對不同植物建立完整有效的模型,需要對L-系統(tǒng)的功能進行不斷擴展,加拿大學者 Prusinkiewicz 等對其的發(fā)展起到了極大的推動作用[2]。最早的L-系統(tǒng)只能利用“龜行解釋算法”對分形幾何圖形進行模擬,且這些圖形必須簡單而規(guī)則的。隨著諸多學者的不斷努力,之后出現(xiàn)隨機L-系統(tǒng)、參數(shù) L-系統(tǒng)、上下文無關(guān)L-系統(tǒng)、上下文相關(guān)L-系統(tǒng)、開放式L-系統(tǒng)、時變L-系統(tǒng)和微分L-系統(tǒng)[3]。下文中詳細介紹了上述幾種L-系統(tǒng)。
1.1 DOL-系統(tǒng)
確定性L-系統(tǒng)又被稱為DOL-系統(tǒng),是最早出現(xiàn)且形式最簡單的L系統(tǒng)。它是一種上下文無關(guān)的L系統(tǒng),對應于不同字母的生長規(guī)則都是唯一且確定的。
文中通過圖1所示的例子來對DOL-系統(tǒng)思想進行說明。在DOL-系統(tǒng)中,字母[a]和[b]包含在字母表中,它們對應的重寫規(guī)則分別是[a→ab]和[b→a]。上述字符序列被稱為公理(axiom),所有的重寫過程都是基于一個初始字符序列展開的。假設(shè)公理為字母[b]。重寫第一步,公理[b]采用重寫規(guī)則[b→a],而被替換成[a]。第二步,采用重新規(guī)則[a→ab],[a]被替換成[ab]。第三步,[a]和[b]是被同時替換,得到重寫結(jié)果[aba]。同理,第四步的結(jié)果為[abaababa]。上述過程最終得到一個字符串序列,該序列僅由[a]和[b]兩個字母組成。如下圖1所示:
1.2 隨機L-系統(tǒng)
為使得同一個D0L-系統(tǒng)能夠表現(xiàn)出植物形態(tài)和結(jié)構(gòu)的多樣性特點,研究者從海龜幾何解釋的隨機化和產(chǎn)生式的隨機應用兩方面考慮,引入了隨機L-系統(tǒng)。由于海龜幾何解釋的隨機化能力有限,人們更多地將產(chǎn)生式的隨機應用作為隨機L-系統(tǒng)的描述方法。
對植物形態(tài)而言,隨機L-系統(tǒng)可以讓它產(chǎn)生多種結(jié)構(gòu)的變化,從而得到更多逼真的植物模型。下圖2是由隨機L-系統(tǒng)經(jīng)5步推導產(chǎn)生的分支結(jié)構(gòu)圖,這些結(jié)構(gòu)形象地展示了同一植物的不同形態(tài)。
1.3 上下文相關(guān)L-系統(tǒng)
上文介紹的是一種不需要考慮前驅(qū)的上下文無關(guān)語法。然而,對某些需要考慮上下文關(guān)系的模擬情況而言,DOL-系統(tǒng)不能在使用過程中將前后關(guān)系考慮到產(chǎn)生式中,這不能很好地模擬植物的各個部分之間的相互影響,如植物的營養(yǎng)、水分的傳遞等。
為了解決上述的問題,提出了上下文相關(guān)L-系統(tǒng)。在上下文相關(guān)L系統(tǒng),為了避免L-系統(tǒng)產(chǎn)生式過長的情況,采用將不同長度的產(chǎn)生式置于同一個系統(tǒng)中;這樣在前驅(qū)中假設(shè)上下文相關(guān)的產(chǎn)生式遠比上下文無關(guān)的產(chǎn)生式效果要好。
1.4 參數(shù)L-系統(tǒng)
參數(shù)L-系統(tǒng)通過概括和抽象不同植物的生長過程,基于所得經(jīng)驗實現(xiàn)對相對應的植株初始狀態(tài)和描述規(guī)則的設(shè)計,并將相應的參數(shù)加到其中,通過控制和改變上述參數(shù)來實現(xiàn)植物的三維建模,最終得到較為逼真的虛擬植物。
參數(shù)化L-系統(tǒng)不僅極大簡化了植物生長特征的字符表達,使其更易理解和實現(xiàn),而且量化了植物模型的幾何屬性,提供了一種簡單表示模型連續(xù)過程的方法[4] 。
在參數(shù)化L-系統(tǒng)的基礎(chǔ)上,為更好將信息在植物相鄰生長單元之間進行傳遞,體現(xiàn)植物內(nèi)在的生長機制,上下文相關(guān)(Context-Sensitive)的參數(shù)1L-和參數(shù)2L-系統(tǒng)應運而生。
下圖3是利用參數(shù)L-系統(tǒng)生成的植物形態(tài):
1.5 微分L-系統(tǒng)
為了模擬植物生長過程中的離散/連續(xù)的情況, Prusinkiewiczd等人將傳統(tǒng)的L-系統(tǒng)與微分方程相結(jié)合提出了微分L-系統(tǒng)[5]。具體思想是:對植物生長過程進行模擬時,用微分形式來對其中離散/連續(xù)行為進行表現(xiàn)。
如圖4針對生長過程中的植物可用微分L-系統(tǒng)描述其連續(xù)變化的性質(zhì)。
1.6其他的幾種L-系統(tǒng)
除了上述常見的L-系統(tǒng)之外,為了更好地服務(wù)于植物建模。學者們還提出了其他類型的L-系統(tǒng)。開放式L-系統(tǒng)通過信息傳遞機制來進行動態(tài)交互,它是對環(huán)境敏感的L-系統(tǒng),能夠模擬植物與環(huán)境間信息的交互[6]。為了解決L-系統(tǒng)在時間上的離散性,提高L-系統(tǒng)的實時性,方便在模擬過程中實時的控制植物形態(tài),,時變L-系統(tǒng)應運而生。
2 龜行解釋
為了模擬高級植物,必然需要一個成熟的L-系統(tǒng)的圖文解釋方法。Prusinkiewicz將LOGO語言風格小海龜[7]與植物結(jié)構(gòu)模型相結(jié)合,提出了適用于L-系統(tǒng)圖文解釋的“海龜幾何解釋[8]”方法。該方法的一系列繪制指令是通過將字符串進行解釋得來的,并通過依靠這些指令繪制出想要的幾何圖形。下面我們對平面和空間里字符串的海龜解釋進行說明。
2.1 二維海龜幾何解釋
“海龜幾何解釋”的基本思想為:用一個三元組[x,y,α]來定義將海龜?shù)臓顟B(tài),二維坐標[x,y]表示海龜?shù)奈恢茫?龜頭所指方向用[α]來表示。給定步長[d]和角度增量[?],海龜可以對以下指令進行反饋:(如圖5所示)
2.2 三維海龜幾何解釋
根據(jù)Abelson和diSess的思想,學者們將L-系統(tǒng)的海龜幾何解釋由二維平面推廣到三維空間。它的核心思想是:用三個相互垂直的單位向量[H,L,U]來表示海龜在空間中的位置,三個方向向量分別表示海龜前進的方向[(H)] 、向左的方向[(L)]和向上的方向[(U)],它們滿足方程[H×L=U]。下面的方程式表示海龜?shù)男D(zhuǎn) [9];
2.3 Frenet標架的結(jié)構(gòu)
Fernando和Leonardo利用Frenet標架 (見圖6)來表示曲線,通過這種方式來改進上述的龜行解釋框架 [10]。對于正則曲線而言,主法線、次法線和切線互相垂直,同時其對應的法平面、密切平面和切平面也互相垂直,滿足這樣構(gòu)成的圖形被稱為Frenet標架。當點沿著曲線運動時,構(gòu)成標架的直線和平面的相對位置不發(fā)生改變,F(xiàn)renet標架可以看作是一個剛體在曲線上運動。
如此曲線在不給出明確旋轉(zhuǎn)方向的前提下也可以完成旋轉(zhuǎn),完全獨立于xyz的坐標軸。另外,簡化了對曲線進行旋轉(zhuǎn)操作的過程,僅需定義兩個符號就能使曲線進行任意角度的旋轉(zhuǎn)。
3 L-系統(tǒng)在植物建模中的具體應用
對虛擬植物建模需求隨著虛擬現(xiàn)實和精準農(nóng)業(yè)的高速發(fā)展而日益增長。L-系統(tǒng)作為一種高效的植物建模方法,被廣泛應用。針對不同植物的同一器官在形態(tài)上具有不同的獨特性,本文從典型的植物器官根、莖、葉、花等不同器官著手, 來詳盡介紹L系統(tǒng)對不同器官的建模方法。