999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于虛擬器官L系統的植物生長模擬

2018-11-17 01:32:14楊旨窈
軟件 2018年10期
關鍵詞:定義植物生長

楊旨窈,劉 驥

?

基于虛擬器官L系統的植物生長模擬

楊旨窈1,劉 驥2

(1. 重慶育才中學,重慶 400030;2. 重慶大學計算機學院,重慶 400044)

L系統是一種基于字符和產生式的文法系統,廣泛應用于植物生長模擬。它使用字符對植物器官進行描述,但這種表示方式存在不足。鑒于此提出了基于虛擬器官L系統的植物生長模擬方法。該方法首先將植物器官的形態和生理屬性表示為虛擬器官,并利用虛擬器官間的關系構成整個植物。然后用虛擬器官替代L系統中的字符。最后以虛擬器官的變化為核心建立L系統的產生式規則,并通過應用產生式規則控制虛擬器官進行變化,從而模擬植物的生長。實驗證明該方法能夠對植物生長進行逼真的模擬。

虛擬植物;L系統;植物器官;植物生長模擬;可視化

0 引言

虛擬植物是一種應用計算機技術對植物的生長變化過程進行仿真并以3D圖形的方式進行展現的技術。虛擬植物在3D場景重建、數字娛樂、動畫生成、農林業和植物生態等方面均有大量的研究[1],其中植物的生長模擬是虛擬植物研究的重要組成[2]。現有的植物生長模擬技術包括L系統、函數迭代系統、A-系統、粒子系統、AMAP系統[3]及雙尺度自動機模型[4]等。

L系統是現有技術中應用最廣泛、研究最充分的一種技術[5]。它首先由植物學家Lindenmayer于1968年提出,其后通過Prusinkiewicz等的擴展,形成了參數化L系統、隨機L系統、上下文相關L系統等擴展系統[6]。L系統是系統狀態可以根據規則不斷演化的迭代系統,其實質是一種基于字符和產生式的文法系統。其系統狀態由字符構成的字符串表示,稱為L字符串(L-String)。系統的初始狀態,即初始L字符串稱為公理(Axiom)。產生式(Production)是L字符串中字符的變化規則。在每個演化周期,L系統應用產生式對系統狀態進行修改,形成新的L字符串。由于植物的生長過程與L字符串的變化過程非常類似,因此可以用L系統的演化模擬植物的生長。為了對植物進行3D展示,L字符串中還可以添加用于3D繪制的符號信息,稱為L字符串的Turtle解釋(Turtle interpretation)。在文獻[6]中定義的L系統功能完整、應用廣泛,被L-Studio等植物模擬軟件所采用。為了便于表述,本文余下部分所述的L系統均是文獻[6]中定義的系統,其Turtle解釋也參考文獻[6]。

L系統能夠較好的描述植物的形態結構,對大多數植物能夠產生較為逼真的3D植物圖形。但用L系統描述的植物生長規則比較復雜,對特定種類植物生長規則的提取和定義非常困難。造成這種情況的原因在于L系統用字符表示植物的各個器官,這種描述機制在描述植物器官的變化上存在不足。在本文余下的章節中將首先詳細分析現有L系統在描述植物器官上所存在的不足,然后引入虛擬器官(Virtual Organ)的概念,用虛擬器官和虛擬器官間的關系構成整個植物,以虛擬器官的變化為核心建立產生式規則,形成虛擬器官L系統。在L系統的每個演化周期,應用產生式對組成植物的各個虛擬器官進行演化,形成新的系統狀態,從而模擬植物的生長。

為了證明該方法的有效性,本文設計了一個支持虛擬器官L系統的原型系統,模擬了辣椒和茄子的生長過程,并將模擬的結果與L-Studio的模擬結果進行了對比。這些實驗表明該方法能對植物生長進行逼真的模擬。

1 現有L系統存在的不足

為了更好的說明現有L系統所存在的不足,首先需要分析一下現有L系統如何描述植物。假設圖1是某植物的一個生長過程。

圖1 植物生長

在植物生長之前,該植物由主干、枝干以及果實構成。主干、枝干和果實均是該植物的器官。在這個生長過程中,各個植物器官的形態和生理屬性發生了改變,并且在主干之上長出了一個新生枝干。假設該植物生長過程中植物器官的形態、生理屬性和器官間的關系如圖2所示:

圖2 植物器官的形態、生理屬性以及器官間的關系

現有L系統首先用字符表示植物的各個器官,并用字符的參數表示植物器官的生理屬性,然后用這些參數化字符構成L字符串。同時為了繪制植物還需要在L字符串中引入3D繪制字符用于表示植物器官的形態屬性。假設用字母A表示主干,B表示枝干,C表示果實,D表示新生枝干。對于圖1所示植物,其生長前的狀態可以用字符串A(6,5)[+ (45)B(3,2) [+(45)C(1,1)]]來表示。其中A(6,5) 表示A的長度為6,年齡為5。B(3,2) 表示B的長度為3,年齡為2。C(1,1) 表示C的大小為1,年齡為1。“[”和“]”構成一個分支,+(45)是3D繪制字符表示向左傾斜45度。而植物生長之后的狀態可以表示為A(7,6) [+(45)B(4,3) [+(45)C(2,2)]] [-(45)D(3,1)]。其中A(7,6) 表示A的長度為7,年齡為6。B(4,3) 表示B的長度為4,年齡為3。C(2,2)表示C的大小為2,年齡為2。D(3,1)表示D的長度為3,年齡為1。-(45)是3D繪制字符表示向右傾斜45度。

從上述描述中可以看出現有L系統對植物的表示存在明顯的缺陷。其具體表現有以下幾個方面:

(1)字符的參數不適合表示植物的生理屬性。當看到字符A(6,5)和C(2,2)這樣的符號時,很難明確參數的含義。例如A的第一個參數代表長度,而C的第一個參數則代表的是大小。因此定義產生式時(尤其是那些對生理屬性進行改變的產生式)存在不便,也不利于對植物器官的生理變化進行精確控制。

(2)植物器官的形態屬性與植物器官的生理屬性是分離的。例如+(45)B(3,2)表示向左旋轉45度,然后繪制器官B。其中+(45)屬于B的形態屬性,(3,2)是B的生理屬性。在現有L系統中,+(45)和B(3,2)是獨立的字符。因此當B的生理屬性發生改變時,+(45)無法修改。但在植物生長過程中經常存在由于生理屬性發生改變而導致形態屬性發生變化的情況。

(3)現有L系統只能通過對L字符串的遍歷獲取植物器官間的關系。例如A(6,5)[+(45)B(3,2)[+ (45)C(1,1)]]中,B(3,2)和C(1,1)是A(6,5)的分支,或者稱為A(6,5)上的子器官。這個信息在A(6,5)中沒有保存,而是通過遍歷L字符串并識別“[”和“]”而獲取的。在定義產生式時,很多情況下需要根據器官間的信息來決定當前器官的變化。由于這個重要的信息沒有保存,因此在定義某些產生式時會導致不便。

(4)植物器官的屬性(包括生理和形態屬性)并非都是數字,也可能是字符串等其他類型。目前參數化字符所支持的參數只能是數字,這也限制了L系統的表達能力。

2 虛擬器官

為了更好的對植物器官進行描述,本文提出虛擬器官用于描述植物器官以下3個方面的信息:

(1)器官的形態屬性,包括器官的3D形態、大小、3D空間位置向量和方向向量等。此類屬性主要影響器官的3D展現。在植物生長過程中器官的形態屬性是不斷變化的。

(2)器官的生理屬性,包括器官的類型、年齡、水分、營養物質和激素等。此類屬性是器官生長的決定因素。

(3)器官間的關系。器官之間是有相互聯系相互影響的,器官間的關系也是器官生長變化的重要屬性。由于植物的特殊結構,植物器官間的關系構成一種“樹形結構”,即除根(或者構成植物的第一個器官)以外的植物器官必有唯一的父器官。

下面給出虛擬器官的形式化描述:

定義2:虛擬植物(Virtual Plant)定義為植物的根器官即VP=Vo,且Vo是植物中的根器官,即Parent屬性為null的虛擬器官。由于Vo的屬性記錄了器官間的關系,因此可以通過遍歷Vo訪問虛擬植物上面所有的器官。

定義3:定義符號Rx(degree)、Ry(degree)、Rz(degree)是表示空間旋轉的符號。Rx表示繞x軸旋轉degree度,Ry表示繞y軸旋轉degree度,Rz表示繞z軸旋轉degree度。其中x軸的正向為計算機屏幕的右方向,y軸的正方向為計算機屏幕的上方向,z軸的正方向為計算機屏幕的外方向。Rx、Ry、Rz可以進行任意的組合,例如Rx(a)Ry(b)Rz(c)表示先繞x旋轉a度,然后繞y軸旋轉b度,最后繞z軸旋轉c度。

為了便于對虛擬器官的屬性進行訪問,下面定義幾個訪問操作。

定義4:設Vo是一個虛擬器官,定義操作Vo.PropertyName表示對PropertyName所對應的PropertyValue的訪問,例如Vo1.length、Vo1.age分別返回Vo1的legnth和age屬性的值。Vo.type返回Vo的類型,例如Vo1.type返回Vo1的類型A。

定義5:設Vo是一個虛擬器官,定義操作Vo.childs(i)是對第i個子器官的訪問。

上述虛擬器官的定義和表示方式解決了參數化字符所存在的不足。通過虛擬器官可以直觀的看出器官的屬性名稱和屬性值,便于編寫植物的生長規則。形態和生理屬性也都包含在虛擬器官中,使得基于生理對器官形態進行控制成為可能。器官間的關系通過parent和childs屬性進行了保存,便于在定義規則時使用這些信息。虛擬器官所能夠表示的屬性也不僅僅是數字,例如direction屬性的值是由Rx、Ry、Rz組成的字符串。在本文的實驗部分,還將植物器官的3D模型保存在虛擬器官的屬性中。因此這種擴展豐富了系統的表達能力。

3 虛擬器官L系統

基于虛擬器官可以重新定義L系統,使得L系統能夠以虛擬器官為核心表示植物的生長變化,本文稱這種L系統為虛擬器官L系統。下面給出這種L系統的形式化定義。

下面給出基于虛擬器官L系統的植物生長模擬算法:

算法1:植物的生長PlantGrow

(2)令Vo=VP。

(4)令i=1。

(5)如果i>Vo.childs.size,退出算法。

算法2:器官的生長OrganGrow

(1)令i=1,size表示P中產生式的個數。

(2)如果i>size,則退出算法。

(4)如果Vo.type!=type,則i++,跳到(2)。

(5)如果Vo不滿足codition,則i++,跳到(2)。

(6)產生一個隨機數x,使得x∈(0,1)。

在上述算法中,植物的生長過程被描述為各個器官的生長過程。即通過遍歷全部的虛擬器官,并應用L系統的產生式規則使得虛擬器官發生改變,從而模擬植物的生長。

4 仿真實驗

為了證明本方法的有效性,本文設計了支持虛擬器官L系統的植物生長模擬軟件[7-12]。該軟件用Java編寫,用Java3D繪制植物的3D圖形,在使用時通過虛擬器官L系統描述語言定義虛擬器官L系統,系統的編譯程序將該語言轉化為對應的虛擬器官L系統。系統同時包括器官庫、器官綁定、生長函數、生長演化和動畫演示等功能。基于該軟件系統,本文對辣椒的生長過程(圖3)、茄子的生長過程(圖4)進行了模擬,并將結果與L-studio的效果(圖5)進行了對比。

圖3 辣椒的生長模擬

5 結論

虛擬器官描述了植物器官的形態、生理屬性和植物器官間的關系。虛擬器官L系統以其為核心,改進了現有L系統在描述植物器官上所存在的不足。實驗表明本方法能夠對多種植物的生長過程進行模擬。由于這種方法能夠更好的描述生長過程中植物器官形態和生理屬性的變化,因而產生的3D展示效果比L-studio更為逼真。目前本文提出的方法尚沒有考慮環境因素對植物生長的影響。如何擴展本文方法,以模擬環境影響下的植物生長是下一步需要研究的問題。

圖4 茄子的生長模擬

圖5 L-studio模擬的辣椒和茄子

[1] 馬新明, 楊娟, 熊淑萍. 植物虛擬研究現狀及展望[J]. 作物研究, 2003, 3(17): 148-151.

[2] 歐中斌, 廖桂平, 喻飛. 虛擬植物生長建模[J]. 系統仿真學報, 2006, (S1): 291-294.

[3] P. DeReffye, T. Fourcaud, F. Blaise, D. Barthelemy, F. Houllier. A functional model of tree growth and tree architecture [J]. Silva Fennica, 1997, 31: 297-311.

[4] 趙星, Philippe de Reffye, 熊范綸, 胡包鋼, 展志崗. 虛擬植物生長的雙尺度自動機模型[J]. 計算機學報, 2001, 24(06): 608-615.

[5] 李云峰, 朱慶生, 傅鶴崗, 古平. 基于L系統改進的虛擬植物原型系統設計[J]. 計算機應用研究, 2006, (08): 232-239.

[6] P. Prusinkiewicz, A. Lindenmayer. The Algorithmic Beauty of Plants [M]. New York: Springer, Berlin Heidelberg, 1990.

[7] 李秀玲. 計算機虛擬實驗模擬訓練系統的設計[J]. 軟件, 2012, 33(4): 44-46.

[8] 郭培源, 馮博. 基于云計算平臺的虛擬實驗室設計與實現[J]. 軟件, 2012, 33(10): 106-109.

[9] 呂杰英. 虛擬機技術在計算機基礎教學中的應用[J]. 軟件, 2015, 36(5): 113-116.

[10] 尹航, 楊歡, 崔海斌, 等. 基于大數據應用的虛擬化云平臺建設方法研究[J]. 軟件, 2018, 39(4): 201-207.

[11] 何雋, 孔繁偉. 三維仿真動畫角色綁定與動畫技巧探究[J]. 軟件, 2018, 39(4): 92-96.

[12] 王連杰, 韋群. 三維云圖仿真系統設計與實現[J]. 軟件, 2018, 39(5): 151-155.

Plant Growth Simulation Based on Virtual Organ L System

YANG Zhi-yao1, LIU Ji2

(1. Chongqing Yucai Secondary School, Chongqing 400030, China; 2. College of Computer Science, Chongqing University, Chongqing 400044, China)

L system which is widely used to simulate plant growth is a grammar system based on letters and productions. It uses letters to describe plant organs, but this kind of description has some disadvantages. In order to solve this problem, a plant growth simulation method based on virtual organ L system is presented. Firstly, geometric and physiological properties of a real plant organ are represented by virtual organ, and the relations among virtual organs are used to construct the structure of a plant. Then letters in L system are replaced by virtual organs. Finally, productions of L system are built according to the changes of virtual organs, and these productions are applied to control the variations of virtual organs during the plant growth simulation process. Experiments show that plant growth can be simulated realistically by this method.

Virtual plant; L system; Plant organ; Plant growth simulation; Visualization

TP391.9

A

10.3969/j.issn.1003-6970.2018.10.034

劉驥(1981-),男,講師,主要研究方向:計算機圖形學。

楊旨窈,劉驥. 基于虛擬器官L系統的植物生長模擬[J]. 軟件,2018,39(10):182-186

猜你喜歡
定義植物生長
碗蓮生長記
小讀者(2021年2期)2021-03-29 05:03:48
生長在哪里的啟示
華人時刊(2019年13期)2019-11-17 14:59:54
生長
文苑(2018年22期)2018-11-19 02:54:14
哦,不怕,不怕
將植物穿身上
《生長在春天》
成功的定義
山東青年(2016年1期)2016-02-28 14:25:25
植物罷工啦?
植物也瘋狂
修辭學的重大定義
當代修辭學(2014年3期)2014-01-21 02:30:44
主站蜘蛛池模板: 国产91色在线| 亚洲乱码视频| 国产拍揄自揄精品视频网站| 91福利在线观看视频| 久久精品娱乐亚洲领先| 国产丝袜一区二区三区视频免下载| 国产精品美女在线| 精品国产中文一级毛片在线看| 四虎影视库国产精品一区| 亚洲精品国偷自产在线91正片| 免费看黄片一区二区三区| 无码中文字幕加勒比高清| 国产精品lululu在线观看| 国产日韩欧美在线播放| 91久久性奴调教国产免费| 亚洲成年人片| 国产丰满大乳无码免费播放| 国产伦精品一区二区三区视频优播| 亚洲精品国产首次亮相| 国产微拍一区| 亚洲天堂视频网| 在线无码九区| 亚洲性影院| 国产二级毛片| 久久国产香蕉| 亚瑟天堂久久一区二区影院| 精品福利视频网| 少妇露出福利视频| 久久久久人妻一区精品色奶水| 久久香蕉国产线看观看精品蕉| 自偷自拍三级全三级视频| 99热6这里只有精品| 美女被躁出白浆视频播放| 亚洲开心婷婷中文字幕| 伊人久久久久久久久久| 广东一级毛片| 国产一区二区三区精品久久呦| 亚洲精品动漫在线观看| 国产黑丝一区| 国产女人爽到高潮的免费视频| 久草国产在线观看| 日本精品视频| 亚洲无码在线午夜电影| 国产无遮挡裸体免费视频| 91福利片| 亚洲天堂啪啪| 在线亚洲精品福利网址导航| 欧美精品一二三区| 国产成人91精品| 国产精品制服| 久青草免费在线视频| 2019国产在线| 99性视频| 国产精品一线天| 国产亚洲欧美在线专区| 国产主播福利在线观看| 久久精品这里只有精99品| 一区二区三区四区精品视频 | 国产精品区网红主播在线观看| 国产精品流白浆在线观看| 日韩欧美中文字幕一本| 国产精品久线在线观看| 国产精品无码久久久久AV| 久久国产精品无码hdav| 99re经典视频在线| 午夜限制老子影院888| 亚洲综合一区国产精品| 重口调教一区二区视频| 欧美成人影院亚洲综合图| 国产精品毛片一区视频播| 国产精品亚洲专区一区| 97超爽成人免费视频在线播放| 午夜丁香婷婷| 亚洲 欧美 中文 AⅤ在线视频| 亚洲毛片在线看| 久久国产成人精品国产成人亚洲| 亚洲无卡视频| 亚洲一本大道在线| 色综合a怡红院怡红院首页| 无码中文AⅤ在线观看| 伊人五月丁香综合AⅤ| 欧美日韩在线成人|