專利名稱::基于Web的虛擬植物可視化系統及虛擬植物構建方法
技術領域:
:本發明涉及計算機技術,植物仿真技術,尤其涉及計算機網絡和數據分布式存儲技術。
背景技術:
:虛擬植物生長是指在計算機上形象直觀地再現植物的生長過程。利用虛擬植物技術,可以在電腦屏幕上設計農作物,然后再進行實際培育或用基因工程技術繁殖出真實的農作物,使其新品種具有模擬植物的理想性狀。虛擬植物的研究起源于1968年美國生物學家Lindenmayer(1925-1989)在生物雜志發表了"MathematicalModelsforCellInteractionsinDevelopment"的論文,首次提出了"字符重寫系統(Stringrewrittingsystem)"的概念,為了紀念這位生物學家,稱為L系統,主要研究植物的器官(主干,枝條,葉,花)等之間的相互關系。帶參數的L系統定義為一個有序四元組G^「,S,",",其中,「表示系統中的字母集;2表示形式參數集,^Z)表示一個帶參數的邏輯表達式,^2)表示一個帶參數的算術表達式。在這些表達式中可以使用算術運算符如+、-、*、八—,關系運算符,如>、〉=、〈、<=、==,和邏輯運算符,如!、&&、ll和括號(),表達式中還可以包含函數調用;表示非空參數單詞,稱為公理,其中R是實數集合;;^(Kx2T)xC(2:)x("Ea:)T表示規則集合。改寫規則的格式如下/7^/:c。m/4^cc其中pm/表示前趨,cow/表示條件,^cc表示后繼,例如.爿0):O5—5"+l)C(^0.5,卜2)。對于L系統本身來說,如上所示只是一種形式化語言。經過產生式迭代產生的結果也只是一系列的字符串,其本身并不具備任何幾何意義。為此,科學家引入一種稱為"龜形幾何"(TurtleGeometry)的數學知識概念,通過對字符串進行龜形解釋即可生成一系列復雜的圖形。二維情況4下,烏龜的當前狀態可用一個三元組〈x,y,"〉表示,其中(x,y)表示烏龜的當前位置,"表示烏龜的朝向(Heading)即烏龜的爬行方向,每次響應動作后該狀態都會改變。本系統采用的龜圖命令如下RU,RR,RH為方向符號(RH為生長方向,即龜的朝向),分別表示繞5,反,S旋轉(如圖l),帶一個參數,表旋轉的角度,順時針為正,逆時針為負;'['、']'為分枝符號,即遇到'['時龜圖將壓棧保存當前的狀態,遇到。'時將彈棧恢復上次壓棧信息,以實現植物的分枝;其它字符可分為兩類臨時變量和器官變量,其中臨時變量為產生式的中間迭代信號量,未綁定任何器官信息,沒有幾何意義,而器官變量則有器官綁定信息,表示特定器官,有幾何意義。如虛擬植物所得字符串為A[RU(45)B]C[RU(-45)D]E,其中A,B,C,D,E均綁定為線器官,則經過龜形幾何解釋后其三維渲染結果如圖2。從A出發,遇到'[',將龜當前信息壓棧(即分枝);遇到'RU(45)',將龜繞5軸旋轉45度,遇到B,按旋轉后的龜5方向畫一直線;遇到']',彈出棧信息(即分枝完畢),回到畫A后的龜狀態;遇到C,在A后畫一直線;遇到'[',將畫C后的龜信息壓棧;遇到'RU(-45),,將龜繞5軸旋轉-45度,遇到D,按旋轉后的龜5方向畫一直線;遇到T,彈出棧信息(即分枝完畢),回到畫C后的龜狀態;最后遇到'E',在當前龜狀態后往5方向畫一直線。在獲得植物生長過程中發生的形態結構以及生態生理變化等特性后,應用L系統建模方法對植物建立相應數學模型,通過編程平臺綜合運用各算法將植物生長幾何信息轉化為直觀的圖形信息,在構建植物生長模型時考慮其形態結構與生理功能交互關系,建立了虛擬植物模擬模型,并基于圖形技術建立了植物形態的可視化模型,通過模型耦合構建出虛擬植物系統。該系統能夠較好地模擬植物的生長過程。例如唐衛東等基于0pen-L系統的植物結構功能模型研究2007引入了Open-L系統建模理論,在植物形態發生模型的基礎上,根據植物生長時其形態與生理特性及環境之間的相互作用,構建了綜合考慮植物結構與功能的虛擬植物模型,再根據該模型有效組織了植物生長過程中的數據信息,并建立植物生長的可視化流程。例如L-studio加拿大Calgary大學,AMAP法國的系列軟件,以及GreenLab中科院自動化所等。現有系統沒有引入數據庫功能對數據進行分門別類的存儲管理,創建的植物器官三維模型也只能夠用于一個虛擬植物,無法重復使用創建的器官模型,也無法向其他用戶提供共享;所創建的虛擬植物只能以文件的方式共享給其他用戶,當前系統的使用者需要將保存了虛擬植物的文件傳遞給其他用戶,如果大量異地用戶對該文件都有訪問需求,這種方式顯然無法勝任;其次現有系統在利用L系統展示植物生長過程時沒有保存不同生命周期的數據,如果需要重復展示必需重新編譯文法;最后采用現有技術構建的系統不能跨平臺運行。
發明內容本發明針對現有虛擬植物可視化系統的上述缺陷,提出了一種基于Web的虛擬植物可視化系統。本發明解決上述技術問題的技術方案是,建立基于Web的虛擬植物可視化系統,包括,植物生理數據和生長規則庫、虛擬植物器官數據庫、虛擬植物數據庫、提交植物生理數據web應用模塊、提交植物器官模型web應用模塊、構造虛擬植物的web應用模塊和虛擬植物3D展示瀏覽器插件。客戶端通過web瀏覽器的提交植物生理數據web應用模塊以文字形式提交植物生理數據,將上述文字形式的植物生理數據翻譯成可編譯的L文法,保存在植物生理數據和生長規則庫,客戶端通過提交植物器官模型web應用模塊將器官3D模型保存到虛擬植物器官庫中;根據生長規則和生理環境數據庫中的數據生成虛擬植物庫所需的L系統產生式集合,采用L文法字符串形式描述植物的屬性構建虛擬植物庫;根據虛擬植物庫中植物模型中L文法字符串、器官綁定信息CurBindlnfo及所需器官模型CurOrgModd以龜圖形式對其進行幾何圖形描述,實現植物從字符串到幾何圖形的三維渲染展示,通過瀏覽器插件遠程査看虛擬植物的生長過程。且可以單步或動畫反復査看植物的不同周期的狀態。各個web應用模塊和瀏覽器插件通過網絡和標準接口訪問網絡服務器上的各類數據庫,實現了數據的分布式共享。本發明還提出了一種基于Web的虛擬植物構建方法,具體包括步驟,客戶端通過提交植物生理數據web應用模塊以文字形式提交植物生理數據,將上述文字形式的植物生理數據翻譯成可編譯的L文法,保存在植物生理數據和生長規則庫中;提交植物器官模型web應用模塊將器官3D模型保存到虛擬植物器官庫中;構造虛擬植物的web應用模塊根據生長規則和生理環境數據庫中的數據生成虛擬植物庫所需的L系統產生式集合,采用字符形式描述植物的屬性構建虛擬植物庫;根據虛擬植物庫中植物模型中當前L文法字符串CurLStr、當前器官綁定信息CurBindlnfo及當前所需器官模型CurOrgModd以龜圖原理對其進行幾何圖形解釋,實現植物從字符串到幾何圖形的三維渲染展示,査看虛擬植物的生長過程。生成L系統產生式集合的步驟為根據生長規則和生理環境數據庫的OrganDesp字段依次把植物器官用字符串String類型的標識符代替,并保存在String對象數組中;根據PlantAge字段定義植物壽命;AxiomDesp字段定義公理,根據ReguDesp字段定義產生式集合,對L系統進行驗證并生成對象,建立字符集與虛擬植物器官庫中三維模型一一映射關系,并保存在散列對象Map中。在對L系統進行驗證并生成對象過程中,如果環境描述字段EnviDesp或生理參數描述字段PhysiologyDesp為離散數據,歸一化并進行擬合,保存在生理環境散列對象ErwMap或生理數據散列對象PhysiologyMap中,否則保存在器官散列對象中。本發明能夠通過構建植物生理數據和生長規則庫、虛擬植物庫和虛擬植物器官庫,對其共享實現對虛擬植物的遠程訪問和創建。并通過web應用程序對各類數據進行遠程修改和訪問,使得植物專家和計算機專家可以通過網絡進行遠程的知識共享,買現相互的協作。虛擬植物器官庫中的三維模型能夠在網絡上進行共享并多次使用,提高了構建和演示虛擬植物的效率。虛擬植物數據庫保存了保存不同生命周期的數據提高了展示效率。圖l龜形原理圖圖2A[RU(45)B]C[RU(-45)D]E的幾何解釋圖3整體結構圖圖4生理數據處理流程圖圖5數據維護流程圖圖6器官庫的維護流程圖圖7虛擬植物庫構建的結構圖圖8交互式生長過程展示流程具體實施例方式本發明在Web上構架虛擬植物可視化系統,如圖3所示為該植物可視化系統結構示意圖。包括,植物生理數據和生長規則庫、虛擬植物器官數據庫、虛擬植物數據庫、提交植物生理數據web應用模塊、提交植物器官模型web應用模塊、構造虛擬植物的web應用模塊,其中各類數據庫和web應用模塊都部署于網絡應用服務器上。瀏覽器插件運行于不同用戶端的瀏覽器中,并通過網絡與網絡應用服務器連接。客戶端通過web瀏覽器插件通過網路實現的上述各數據庫的分布式共享。具體流程如下所述,(1)植物專家通過客戶端向網絡提交生長規則和生理數據,計算機專家通過網絡獲取植物方面的專業數據,并據此形成帶生理參數的L-文法。(2)客戶端計算機專家根據植物生長規則和生理數據生成植物器官的3D模型,通過web應用程序提交到虛擬植物器官庫中。其中虛擬植物器官庫從生理角度對器官進行描述,可對器官模型進行添加、刪除、修改和檢索。(3)構造虛擬植物的web應用模塊根據植物生長規則、生理數據、植物器官的3D模型應用參數的L文法與虛擬植物器官庫中的器官構建虛擬植物,將其保存到虛擬植物庫。(4)在客戶端通過虛擬植物3D展示瀏覽器插件査看虛擬植物庫中虛擬植物的生長過程。(5)交互式生長過程展示植物專家或者其他用戶可以通過虛擬植物3D展示瀏覽器插件交互式查看虛擬植物庫中虛擬植物的生長過程。用戶可以通過網頁自由設置生理參數/生長函數并觀看到相應的生長過程。以下針對附圖和具體實例對實現上述功能的流程進行具體描述。如圖4所示為生理數據的結構示意圖。包括,植物專家客戶端,植物生理數據和生長規則庫,計算機專家客戶端。(一)生理數據的結構與實現方法植物專家客戶端通過數據提交頁面的web應用模塊提交植物生理數據,將對某種植物的描述包括植物構成器官、植物的初始狀態、植物的生長規則以及植物生理環境數據以文字形式進行提交,將其保存在植物生理數據和生長規則庫中。植物生理數據和生長規則庫按照植物的種類和名稱對不同植物的數據進行保存。將上述文字形式的植物信息翻譯成可編譯的L文法,保存在String對象L系統生理規則庫中。其中,數據提交頁面、數據維護頁面、數據査看頁面和生理數據庫采用Web網頁的形式實現。①建立植物生理數據和生長規則庫ReguAndDataDB。客戶端通過提交植物生理數據web應用模塊以文字形式提交植物生理數據,建立植物生長規則和生理數據的數據格式列表,按照L系統的形式化定義對植物構成器官、植物的初始狀態、植物的生長規則以及植物生理環境數據進行描述,將上述文字形式的植物生理數據翻譯成可編譯的L文法,保存在數據列表中,形成植物生理數據和生長規則庫。如表1所示。9<table>tableseeoriginaldocumentpage10</column></row><table>②建立數據提交頁面,以L文法、文字形式描述植物的器官、生長狀態、生長規則、生理環境數據等。具體包括聲明該植物所需的器官,包括器官的生理屬性和環境因素,例如器官(莖)生理屬性(大小,長度,中心位置,生長位置,生長方向,幾何屬性),植物壽命;描述植物的開始生長狀態。采用形式為^大小:1,長度:1)[b沃小:1,長度:1)],其中a,b表示聲明的器官;()里邊的內容為對器官生理屬性的設置,分別對器官A的大小和長度進行了初始化;[]表示分枝;以文字形式描述植物生長規則P,描述器官A:描述生長條件B-〉描述生長動作C:表示意義為器官A在滿足生長條件B的情況下執行生長動作C。例如P:j(大小,長度)A.長度《5jA(大小大小+l,長度長度+l)或者戶J(大小,長度)A.長度"—D沃小l,長度1),其中A(大小,長度)表示器官A及該器官具有的大小和長度屬性;生長條件描述包括器官屬性因條件以及個體發育的環境條件,在例子中為A.長度《5;生長動作描述分為兩種一種為器官木身屬性的改變,例如A(大小:大小+1,長度長度+l),另一種為器官被新器官替代或消失描述,例如D(大小:1,長度1);生理環境數據主要說明植物在生長過程中環境的變化以及植物自身變化,例如溫度變化以及果實變化等。其中生理環境數據指影響植物個體發育的外部環境因素包括光照時間,光照強度,水分,溫度以及其他環境因素,生理環境數據遵循y《(t)隨時間的變化函數,或者如"環境參數時間值"離散的數據。生理數據是指植物個體發育過程中自身屬性的變化情況。遵循^f(t)隨時間的變化函數,或者為"器官生理參數時間值"的離散數據。在數據維護頁面,在提交完成之后客戶端可以通過數據維護頁面查看已經提交的數據并可以進行刪除、修改等維護操作,如圖5所示為在數據維護頁面的操作流程圖。客戶端通過植物生理數據和生長規則庫中植物專家標識PlantUserID、保存植物名稱PlantName或標識符ID査找生理數據和生長規則庫ReguAndDataDB,如符合要求,可對其進行修改和刪除操作。計算機專家客戶端通過數據查看和提交頁面,把保存在生長規則和生理環境數據庫中的植物信息,翻譯成可編譯的L文法,保存在String對象L系統到生理規則庫中的LSys字段中。并可通過數據提交頁面的提交植物生理數據web應用模塊、提交植物器官web應用模塊將修改的數據提交到生長規則庫進行保存。(二)構建虛擬植物器官庫根據生長規則和生理環境數據庫ReguAndDataDB的保存器官描述OrganDesp字段,進行三維模型建模,將構建的器官3D模型保存到虛擬植物器官庫VirtualOrganDB中。建立如表2所示結構的虛擬植物器官庫VirtualOrganDB表。表2器官庫VirtualOrganDB的表結構,<table>tableseeoriginaldocumentpage11</column></row><table>虛擬植物器官庫保存虛擬植物三維可視化過程中所需要的植物器官三維模型,同時客戶端通過提交植物器官模型web應用模塊讀取、保存、修改器官庫中各屬性的標識符,實現對植物器官三維模型進行讀取、保存、修改和刪除功能,如圖6所示為植物器官維護流程圖。在數據維護頁面,提交完成之后可以通過客戶端數據維護頁面查看己經提交的數據并可以進行刪除、修改等維護操作,根據植物器官庫的屬性參數PlantName、OrganName、OrganType或ID,在VirtualOrganDB中查找相應的虛擬植物器官,對其進行修改、刪除操作,然后提交到虛擬植物器官庫。(三)構建虛擬植物庫計算機專家客戶端通過虛擬植物的web應用模塊對己有的生理數據、虛擬植物器官庫和L系統進行處理生成虛擬植物庫。具體包括,①預處理首先根據生長規則和生理環境數據庫中的數據生成虛擬植物庫所需的L系統產生式集合,其方法和流程如下根據生長規則和生理環境數據庫的OrganDesp字段依次把植物器官用字符串類型的標識符代替,并保存在字符串對象數組organAlphabets中。organAlphabets^F。根據生長規則和生理環境數據庫的PlantAge字段定義植物壽命。例如形式為PlantAge:10。根據生長規則和生理環境數據庫的AxiomDesp字段定義公理。例如形式為^U力m:X(大小:1,長度:1)[B(大小:1,長度:l)]。根據生長規則和生理環境數據庫的ReguDesp字段定義產生式集合,每條產生式用{}包含。pro^"/ora:定義產生式集合形式為"(^'*'口:<1'^,)}{5(,),*,*,[]:〈1.0〉C柳其中(t)是參數可反應生瑤翁數、環境參數的變化,生理參數由對象physiologyMap存儲,環境參數X寸象envMap存儲。對上述參數進行編譯。主要是對翻譯的L文法即L系統進行驗證,判斷是否符合形如12Jx/,:戸ofwcrt,:,并生成三個對象。{,*,[]:5(f)}第一個為String對象Axiom,保存L系統lsystem中的Axiom;第二個為String對象數組productions,保存lsystem中的productions,第三個為String對象數組有效字符集alphabets,保存lsystem中的有效字符集,alphabets;r。進行器官綁定。V"ealphabets,如果aeorganAlphabets(器官字符集),建立有效字符集"與VirtualOrganDB中三維模型——映射關系,并在器官散列表對象organMap中保存器官綁定信息。提取生長規則和生理環境數據庫中的字段進行判斷,如果保存環境數據EnviDesp字段或保存生理數據PhysiologyDesp字段為離散數據,首先把數據歸一化到區間,然后進行擬合,并在環境散列表對象ErwMap或生理參數散列表對象PhysiologyMap中保存。在提交完成之后可以通過數據維護頁面査看已經提交的模型并可以進行刪除、修改等維護操作。②構建虛擬植物庫信息列表采用字符形式描述植物的名稱、壽命、年齡等屬性,構建虛擬植物庫。虛擬植物庫(VirPlantDB)中存儲了所有的已經建立的虛擬植物(VirPlant),每棵虛擬植物存儲在若干行中,字段VirPlant表示植物的名字。虛擬植物庫(VirPlantDB)包括字段VirPlantDB(ID,VirPlant,PlantAge,CurPeriod,CurLStr,CurBindInfo,CurOrgModel)。其表結構定義如下表3虛擬植物庫表結構<table>tableseeoriginaldocumentpage13</column></row><table><table>tableseeoriginaldocumentpage14</column></row><table>字段ID,標識符,唯一標識了一行數據,該行數據表示了當前生長年齡的虛擬植物生長狀態及器官綁定信息,可以供"虛擬植物3D展示瀏覽器插件"展示。字段VirPlant,是虛擬植物的名稱,用于標識一個虛擬植物的名稱,當需要査詢某個虛擬植物時,必須提交植物名稱。字段PlantAge,是虛擬植物的壽命,是虛擬植物的最大生長年齡數,該數值代表了該虛擬植物在數據庫表中的存儲行數。字段CurPeriod,表示當前生長年齡,一個植物的所有生長數據按生長年齡遞增組合起來,可以代表虛擬植物整個生命發育周期的生長狀態信息。字段CurLStr,表示當前L文法字符串,該字符串由參數化的L文法字符組成,代表了當前生長年齡的植物生長狀態及器官信息,如有L文法字符串的形式定義LStFA(tl,t2,……ti)LStrl[C(rl,)LStr2]B(sl,s2,......si)LStr3(LStrl,LStr2,LStr3為三個子串,可為空,A,B,C為帶參數的L字符)。字段CurBindlnfo,表示當前器官綁定信息,是一個字符串,代表了L文法字符與器官模型的映射信息。L文法字符串的字符有些需要綁定到器官模型,有些則只是一個臨時變量,不需要綁定到某個器官模型,如有這樣的綁定A(orgl)B(org2)C(org3)……,表示L字符A綁定器官模型orgl,L字符B綁定器官模型org2,L字符C綁定器官模型org3……(orgl,org2,org3為器官名稱)。字段CurOrgModel,表示當前所需要的器官模型,屬于一個對象,代表了模型的ID、名稱、屬性和3D信息,用于3D可視化時繪制圖形。需要注意,此處只存儲了當前新增的器官模型,對于該表中已經存儲的器官模型,不需要再重復存儲,如有這樣的器官模型對象OrgModd(id,org,attributes,3d—array)。虛擬植物庫提供了按照虛擬植物名稱進行讀取和存儲的功能。當提交了需要査詢的虛擬植物名稱后,虛擬植物庫將根據虛擬植物名稱查詢出虛擬植物壽命,然后虛擬植物庫根據虛擬植物名稱、植物壽命兩個字段查詢出該虛擬植物的所有生長年齡的數據。當要存儲虛擬植物的數據到虛擬植物庫時,必須指定植物的名稱和植物壽命。需要注意,虛擬植物庫會根據植物壽命,要求存儲所有生長年齡的虛擬植物數據,否則要存儲的虛擬植物將存儲失敗。③生成虛擬植物庫根據前面建立的公理"Axiom"、植物壽命"plantage"、L文法產生式集合"productions"、器官綁定信息"organMap"、生理環境"envMap"、生理數據"physiologyMap"、虛擬植物器官庫"VirtualOrganDB",使用"構造虛擬植物服務程序"構建出虛擬植物。構建的虛擬植物存儲在"虛擬植物庫"(VirPlantDB)中。該虛擬植物庫的結構如圖7所示構造虛擬植物服務模塊根據虛擬植物器官庫的數據構建虛擬植物,并將產生的虛擬植物存儲在虛擬植物庫中。具體步驟如下,(1)從Axiom對象中讀取構建虛擬植物的初始公理(即植物的初始生長狀態),賦給當前L文法字符串CurLStr;將CurPeriod設為1;從organMap中讀取器官綁定信息賦給CurBindlnfo;并根據器官綁定信息從VirtualOrganDB中讀取初始器官模型作為CurOrgModel;從虛擬植物器官庫讀取植物的生長壽命作為plantage;(2)將控制變量CurPeriod設為l(3)根據當前植物的名稱,檢査CurOrgModel在當前虛擬植物的數據行中是否已經存儲,如果已經存儲則將(id,VirPlant,PlantAge,CurPeriod,nextid,CurLStr,CurBindlnfo)存入虛擬植物庫;否則將(id,VirPlant,PlantAge,CurPeriod,nextid,CurLStr,CurBindlnfo,CurOrgModel)存入虛擬植物庫;(4)從生理環境函數envMap中讀取當前植物生長的生理環境env如設當前環境為溫度ten^20。根據envtem=20和CurLStr如設CurLSt產A(2)B(3,0.5)中字符匹配L文法產生式集合"productions"中的產生式設productions為15{A(t),*,*,[t>l&&tem>22]:<1.0>C(3)}{B(t,s),*,*,[t>2&&tem>18]:<1.0>C(4,size(s))};(5)器官綁定根據已經全部匹配后得到的CurLStr和productions更新當前CurBindlnfo和當前CurOrgModel;(6)將控制變量CurPeriod加1;(7)判斷CurPeriod是否等于plantage,如果是則轉(8),否則轉(3);(8)該虛擬植物構建成功,結束。對構建的虛擬植物進行匹配,其中匹配過程如下,查找CurLStr中所有L文法字符1—char(L文法迭代過程中的字符串中的字符),如果1—char等于某產生式的前趨,則檢查條件包括環境eiw是否滿足當前L文法中產生式的條件cond,如果滿足則使用該產生式右邊的后繼替換CurLStr的當前字符1—char,同時根據當前產生式和physiologyMap修改CurLStr需要修改的參數對于此處假設的情況,顯然字符A的環境條件得不到滿足,因為產生式要求溫度大于22度,環境溫度為20度,不替換,繼續檢查A后面的字符B,所有條件都滿足,則替換,并對可賦值的參數賦值,替換并賦值后CurLStr=A(2)C(4,size(0.5)),此時假設physiologyMap為size(0.5)=0.23,則CurLSt產A(2)C(4,0.23);否則不替換,繼續査找1—char后面的字符。(四)虛擬植物3D展示。植物專家通過虛擬植物3D展示瀏覽器插件查找虛擬植物庫,下載特定植物的數據模型到本地,并將其進行三維渲染查看建模結果,從而減少了展示過程中通訊所消耗的時間,提高了系統效率。首先,植物專家通過虛擬植物3D展示瀏覽器插件的讀取功能,根據輸入的植物名稱從服務器端査找虛擬植物庫表VirPlantDB中的VirPlant字段,若存在該植物則將其所有生長年齡階段的數據下載保存到本地,獲取植物模型;然后,虛擬植物3D展示瀏覽器插件根據獲得的植物模型,根據植物模型中得到的當前L文法字符串CurLStr、當前器官綁定信息CurBindlnfo及當前所需器官模型CurOrgModel以龜圖原理(見圖l)對其進行幾何圖形解16釋,實現植物從字符串到幾何圖形的三維渲染展示,査看虛擬植物的生長過程。其中植物的生長過程可以以單步形式(根據得到的虛擬植物的當前年齡CurPeriod,遞增往下查找,每增加一步,CurPeriod增加l)觀看,亦可以動畫形式(將得到的所有生長年齡的植物模型數據按照當前年齡CurPeriod的遞增順序對各個階段依次進行龜形幾何解釋)觀看。(五)交互式生長過程展示植物專家可通過虛擬植物3D展示瀏覽器插件的生長交互功能在線修改植物的生長函數及環境參數,實現實時修改和觀察植物模型的三維渲染結果,其流程如圖8所示。首先,客戶端通過虛擬植物3D展示瀏覽器插件的生長交互功能修改植物生長的生長函數及環境參數,并將其提交到服務器端;然后,通過虛擬植物3D展示瀏覽器插件的讀取接口從服務端讀取指定植物的模型,將其下載保存到本地;最后,虛擬植物3D展示瀏覽器插件將對新下載的植物模型進行再次龜圖三維渲染,用戶可實時查看因修改相關參數而得到的不同的植物建模結果,實現虛擬植物的在線生長建模。虛擬植物模型在服務器端已全部建立好,瀏覽器插件將數據下載到本地,參數修改后的展示均可在本地完成。本發明對虛擬植物共享并實現遠程訪問和創建,并通過web應用程序對各類數據進行遠程修改和訪問,使得植物專家和計算機專家可以通過網絡進行遠程的知識共享,實現相互的協作。以上描述僅針對較佳實施例進行,并不完全限制本發明,本發明的保護以權利要求書為準。1權利要求1.基于Web的虛擬植物可視化系統,包括虛擬植物器官數據庫、虛擬植物數據庫、植物生理數據和生長規則庫、提交植物生理數據web應用模塊、提交植物器官模型web應用模塊、構造虛擬植物的web應用模塊和虛擬植物3D展示瀏覽器插件,其特征在于,客戶端通過web瀏覽器的提交植物生理數據web應用模塊以文字形式提交植物生理數據,將上述文字形式的植物生理數據翻譯成可編譯的L文法,保存在植物生理數據和生長規則庫,客戶端通過提交植物器官模型web應用模塊將器官3D模型保存到虛擬植物器官庫中;構造虛擬植物的web應用模塊根據生長規則和生理環境數據庫中的數據生成虛擬植物庫所需的L系統產生式集合,采用L文法字符串形式描述植物的屬性構建虛擬植物庫;根據虛擬植物庫中植物模型中L文法字符串、器官綁定信息CurBindInfo及所需器官模型CurOrgModel以龜圖形式對其進行幾何圖形描述,實現植物從字符串到幾何圖形的三維渲染展示,通過瀏覽器插件遠程查看虛擬植物的生長過程。2.根據權利耍求l所述的虛擬植物可視化系統,其特征在于,所述植物生理數據包括植物構成器官、植物的初始狀態、植物的生長規則以及植物生理環境數據。3.根據權利要求l所述的虛擬植物可視化系統,其特征在于,生成L系統產生式集合具體包括根據生長規則和生理環境數據庫的保存器官描述字段依次把植物器官用L文法字符串類型的標識符代替,并保存在L文法字符串對象數組中;根據植物壽命PlantAge字段定義植物壽命;保存初始狀態字段Axiom定義公理,根據保存規則描述ReguDesp字段定義產生式集合,對L系統進行驗證并生成對象,建立字符集與虛擬植物器官庫中三維模型—-…一映射關系,并保存在散列對象中。4.根據權利要求l所述的虛擬植物可視化系統,其特征在于,瀏覽器插件通過訪問遠程服務器上的虛擬植物庫實現生長過程的3D演示,單步或動畫反復査看植物的不同周期的狀態。5.根據權利要求l所述的虛擬植物可視化系統,其特征在于,根據公理、植物壽命、L文法產生式集合、器官綁定信息、生理環境、生理數據、虛擬植物器官庫,構造虛擬植物的web應用模塊構建虛擬植物庫。6.基于Web的虛擬植物構建方法,其特征在于,客戶端通過提交植物生理數據呢b應用模塊以文字形式提交植物生理數據,將上述文字形式的植物生理數據翻譯成可編譯的L文法,保存在植物生理數據和生長規則庫中,提交植物器官模型web應用模塊將器官3D模型保存到虛擬植物器官庫中;構造虛擬植物的web應用模塊根據生長規則和生理環境數據庫中的數據生成虛擬植物庫所需的L系統產生式集合,采用字符形式描述植物的屬性,創建植物不同生長周期的數據,保存在虛擬植物庫中;根據虛擬植物庫中植物模型中當前L文法字符串、器官綁定信息CurBindlnfo及器官模型CurOrgModel以龜圖形式對虛擬植物進行幾何圖形描述,實現植物從字符,1—',到幾何圖形的三維渲染展示,并査看虛擬植物的生長過程。7.根據權利要求6所述虛擬植物構建方法,其特征在于,生成L系統產生式集合的歩驟具體包括根據生長規則和生理環境數據庫的OrganDesp字段依次把植物器官用字符串類型的標識符代替,并保存在字符串對象數組中;根據植物壽命字段定義植物壽命;AxiomDesp字段定義公理,根據ReguDesp字段定義產生式集合,對L系統進行驗證并生成對象,建立字符集與虛擬植物器官庫中三維模型一一映射關系,并保存在散列對象中。8.根據權利要求7所述虛擬植物構建方法,其特征在于,在對L系統進行驗證并生成對象過程中,如果環境描述字段或生理參數描述字段為離散數據,歸一化并進行擬合,保存在生理環境散列對象或生理數據散列對象中,否則保存在器官散列對象中。全文摘要本發明請求保護虛擬植物可視化系統及方法,涉及計算機網絡和數據分布式存儲技術,本發明針對現有虛擬植物可視化系統不支持分布式和共享等缺陷,提出了一種基于Web的虛擬植物可視化系統。生理數據通過網頁遠程獲取并存入網絡服務器的數據庫中;進行三維模型建模,通過web應用程序將器官3D模型提交給網絡服務器并保存到器官庫中;用戶依據數據庫中的生理數據、器官模型和L-系統所需的文法信息,通過Web應用程序創建虛擬植物不同生命周期的數據并保存在虛擬植物庫中;瀏覽器插件通過訪問遠程服務器上的虛擬植物庫實現生長過程的3D演示。實現了虛擬植物庫和器官庫在網絡上的共享,完成了植物專家和計算機專家的知識共享和相互協作。文檔編號G06T15/00GK101577012SQ200910104108公開日2009年11月11日申請日期2009年6月17日優先權日2009年6月17日發明者驥劉,屈洪春,曾令秋,朱慶生,亮葛申請人:重慶大學