


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于Web3D的交互式虛擬水稻主莖模型研究報告(一) 引言隨著計算機(jī)圖形學(xué)和計算機(jī)技術(shù)的發(fā)展,通過虛擬作物在三維空間中的形態(tài)結(jié)構(gòu)及生長發(fā)育過程,以可視化的方式獲得作物生長過程中的各參數(shù)的動態(tài)數(shù)據(jù),可更好地幫助人們理解作物的生長發(fā)展變化,具有真實感、可交互操作等特點。虛擬作物的研究在農(nóng)業(yè)科研、教學(xué)、生產(chǎn)、規(guī)劃、農(nóng)業(yè)資源配置等方面展示了良好的應(yīng)用前景。虛擬水稻是虛擬作物的一個研究方向,目前國內(nèi)外研究水稻生理生態(tài)模型較多,而且已經(jīng)建立了較成熟的水稻生理。但從可視化角度出發(fā),在Web網(wǎng)頁上研究交互良好的水稻虛擬模型的報道還很少。本文采用Java3D 技術(shù),結(jié)合Web開發(fā)技術(shù)在網(wǎng)絡(luò)頁面實現(xiàn)了水稻結(jié)構(gòu)器官
2、形態(tài)的三維可視化模擬顯示和交互控制,具有較強(qiáng)的真實感,可控性強(qiáng),為進(jìn)一步進(jìn)行水稻和其它作物的虛擬研究提供一種新的思路。本研究以現(xiàn)有的水稻形態(tài)結(jié)構(gòu)器官模型為研究起點,探索利用計算機(jī)圖形學(xué)技術(shù)和Web技術(shù)實現(xiàn)在計算機(jī)瀏覽器上以多角度、交互可控的方式呈現(xiàn)水稻植株形態(tài)的三維可視化表達(dá),實現(xiàn)虛擬水稻作物的研究和應(yīng)用網(wǎng)絡(luò)化。該項研究是數(shù)字農(nóng)業(yè)關(guān)鍵技術(shù)的研究基礎(chǔ),對促進(jìn)我國農(nóng)業(yè)信息化的發(fā)展有著重要的意義。(二).開發(fā)環(huán)境:1.Jdk運行時;2.java運行時至少能支配150M內(nèi)存(三) JAVA3D重建水稻器官模型Java3D是SUN公司推出的、面向Internet的三維動畫程序語言。通過在網(wǎng)頁上插入用Ja
3、va3D編寫的Applet,就能讓瀏覽網(wǎng)頁的用戶感受到逼真的三維動畫效果。Java3D 采用基于場景圖(Scene Graph)的編程模型, 提供了大量 Java3D 類 ,開發(fā)者可以通過實例化這些類創(chuàng)建各種Java3D對象。1 水稻結(jié)構(gòu)器官模型水稻主莖地面形態(tài)結(jié)構(gòu)主要由水稻葉片、葉鞘、莖和稻穗等器官構(gòu)成,筆者通過對水稻葉、莖、葉鞘和稻穗的觀測研究,構(gòu)建了基于器官形態(tài)特征參數(shù)的精確幾何造型算法,用于各器官的幾何建模,水稻主莖地面各個結(jié)構(gòu)器官模型如圖1所示。(a)葉片 (b)莖 (c)葉鞘 (d)穗軸 (e)谷粒 圖1 水稻結(jié)構(gòu)器官形態(tài)模型(a) (b) (c)(d) (e)2.水稻模型場景結(jié)構(gòu)
4、視圖Java3D 采用場景圖(Scene Graph) 作為數(shù)據(jù)結(jié)構(gòu)。場景圖屬于一種稱為有向無環(huán)圖的類似于樹的數(shù)據(jù)結(jié)構(gòu),它是對系統(tǒng)中所有圖形對象及屬性的完整定義,并和用于顯示場景繪制圖像的AWT組件相關(guān)聯(lián)。場景圖一般可分為:觀察分支 (用來建立場景視圖) 和內(nèi)容分支(用來表示虛擬世界的圖形內(nèi)容)。內(nèi)容分支以一個BranchGroup節(jié)點為根,其它的節(jié)點可以附屬到此根節(jié)點上來完成虛擬世界的構(gòu)造。其中Shape3D 節(jié)點中存放三維形體幾何信息及其外觀屬性。形體的位置由TransformGroup節(jié)點來設(shè)定。有了這些基本信息,就可以構(gòu)建一個三維場景圖了。由于在Java3D中只有BranchGroup
5、節(jié)點能被其父節(jié)點更改,為了提高水稻結(jié)構(gòu)器官顯示的交互可控性,在創(chuàng)建水稻模型時,為每個水稻器官模型首先創(chuàng)建了一個BranchGroup結(jié)點,再創(chuàng)建TransformGroup子節(jié)點,最后生成外形和幾何形狀,其場景結(jié)構(gòu)模型視圖構(gòu)建如圖2所示。根分支節(jié)點根轉(zhuǎn)換節(jié)點穗軸轉(zhuǎn)換節(jié)點谷粒轉(zhuǎn)換節(jié)點穗節(jié)點莖桿節(jié)點葉片節(jié)點穗軸節(jié)點谷粒節(jié)點觀察平臺BGBGTGBGTGViewBGBGBGBGBGTGTGTGTG葉片外觀莖桿幾何形狀穗軸外觀谷粒外觀穗軸幾何形狀葉片幾何形狀場所分支節(jié)點轉(zhuǎn)換節(jié)點行為主莖節(jié)點莖桿轉(zhuǎn)換節(jié)點葉片轉(zhuǎn)換節(jié)點虛擬世界莖桿外觀谷粒幾何形狀圖2 水稻場景結(jié)構(gòu)圖(三) 在頁面中實現(xiàn)交互控制1. Java3
6、D嵌入頁面Java3D一個最大的特性是可以使用Applet作為顯示容器, 在Applet中顯示3D圖形和在網(wǎng)頁文件中(HTML/JavaScript)嵌入該Applet,從而實現(xiàn)三維Web的可視化顯示。但由于Java 3D是對java的擴(kuò)展,它的applet嵌入到網(wǎng)頁時需要做一個特殊的轉(zhuǎn)換,變成以方式定義的頁面,這個轉(zhuǎn)換需要用到sun提供的HtmlConverter工具來完成. 本系統(tǒng)采用javaScript腳本來控制與Java3D程序的參數(shù)傳遞,這樣就避免了Jsp參數(shù)傳遞時對網(wǎng)頁的刷新而引起的Java3D程序的重新載入。為了網(wǎng)頁的美觀和實用,在網(wǎng)頁設(shè)計時嵌入了兩個ifram幀框架,左框架為i
7、nput框架,用來輸入水稻器官形態(tài)結(jié)構(gòu)參數(shù)數(shù)據(jù),右框架為riceMode框架,用來顯示Java3D重建的水稻器官模型。2.Input框架與riceMode框架的參數(shù)傳遞Input框架對object的控制可以通過幀框架間的引用,然后通過dom對象訪問object實例,從而實現(xiàn)對java3d程序的參數(shù)傳遞和控制。 在js和java中變量的傳遞,由于js采用弱類型的變量形式,可以認(rèn)為js中的變量都為String類型,而只有使用和賦值時才轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)類型,這樣在Java3D中可以通過對String類型的轉(zhuǎn)化及將其它的類型轉(zhuǎn)化為String來實現(xiàn)js和java中變量的傳遞。對于返回值的控制,由于不同
8、瀏覽器對js函數(shù)返回值的要求不同,返回數(shù)組經(jīng)常在一些瀏覽器中無法顯示,所以這里我們將Java3D中所有的返回值都拼接成一個字符串,在js中通過對返回字符串的拆分(split方法),從而得到我們想要的數(shù)據(jù)。 對input框架的初始值設(shè)置,由于不同框架的顯示速度不同,往往input框架先于riceMode框架顯示完成,而使得input框架無法訪問object實例,造成網(wǎng)頁錯誤,甚至無法顯示。本文采用讓object框架加載完成后刷新input框架,并通過js得到水稻主莖器官模型的初始參數(shù)。3.鼠標(biāo)交互功能的實現(xiàn)在 Java3D的環(huán)境中進(jìn)行操作時 ,系統(tǒng)提供的鼠標(biāo)旋轉(zhuǎn)操作只能繞三個坐標(biāo)軸同時旋轉(zhuǎn),不利
9、于對水稻器官模型的觀察。在本系統(tǒng)中,設(shè)計鼠標(biāo)左鍵拖動實現(xiàn)水稻器官模型繞y軸旋轉(zhuǎn),鼠標(biāo)右鍵拖動對象繞x軸旋轉(zhuǎn)。在JAVA3D的工具類中提供了通過對鼠標(biāo)的輸入進(jìn)行交互的MouseBehavior類,它定義了其對象所有的公共屬性,并初始化了其內(nèi)部狀態(tài)以及指定了初始的鼠標(biāo)行為喚醒條件。當(dāng)該MouseBehavior的所有喚醒條件被滿足時,它調(diào)用processStimulus()方法來接收和處理鼠標(biāo)消息并建立新的喚醒條件。MyMouseRotate類繼承自MouseBehavior,并重載了processStimulus()方法。在MyMouseRotate中,定義兩個布爾變量boolean LButt
10、onPressed和boolean RButtonPressed來判斷鼠標(biāo)左右鍵按下標(biāo)志,默認(rèn)值為false。在processStimulus()方法中,當(dāng)鼠標(biāo)按下和釋放時,先判斷事件源是左鍵還是右鍵,并將相應(yīng)的屬性值更改,在鼠標(biāo)拖動時通過根據(jù)LButtonPressed和RButtonPressed的真假來對在構(gòu)造方法中傳遞進(jìn)來的根轉(zhuǎn)換節(jié)點,通過旋轉(zhuǎn)變換矩陣實現(xiàn)繞根轉(zhuǎn)換節(jié)點指定軸的旋轉(zhuǎn)。(四) Web中的水稻器官三維可視化從頁面左邊input框架,選擇水稻器官參數(shù)輸入面板,輸入水稻器官形態(tài)結(jié)構(gòu)參數(shù)數(shù)據(jù),可以控制水稻各器官的幾何造型。設(shè)置完成各個器官的形態(tài)結(jié)構(gòu)參數(shù),在右邊riceMode框架中
11、即可實時顯示Java3D重建的水稻主莖整體模型。同時在riceMode框架中通過拖動鼠標(biāo)左右鍵來旋轉(zhuǎn)水稻主莖模型,可觀察顯示模型的不同側(cè)面。系統(tǒng)模型在IE瀏覽器中顯示的效果如圖3所示。圖3 系統(tǒng)運行效果圖(五) 結(jié)論1. 本研究采用Java3D重建了水稻作物的三維模型,并以Applet 程序的形式在網(wǎng)上發(fā)布,實現(xiàn)了水稻三維模型在異地的平移、旋轉(zhuǎn)、縮放等瀏覽方式以及參數(shù)化水稻器官模型的控制,為水稻植株形態(tài)模型的研究提供一個遠(yuǎn)程三維可視化系統(tǒng)平臺。2. 利用該系統(tǒng)研究水稻生長過程,可不受距離、時間、季節(jié)和天氣等環(huán)境因素的影響。為進(jìn)一步進(jìn)行水稻生長過程模擬、虛擬水稻病蟲害以及虛擬育種等研究奠定了基礎(chǔ)。3.本研究
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司辦公室租賃協(xié)議
- 基坑馬道挖出施工方案
- 保溫涂料施工方案
- 肥城護(hù)坡施工方案
- 三農(nóng)產(chǎn)品批發(fā)市場建設(shè)與管理作業(yè)指導(dǎo)書
- 平巷施工方案
- 地基混凝土擋墻施工方案
- 裝修臨時用電施工方案
- 地膜護(hù)坡施工方案
- 市政坑井基礎(chǔ)施工方案
- 市政工程施工安全檢查標(biāo)準(zhǔn)
- 銀行整村授信工作經(jīng)驗材料工作總結(jié)匯報報告2篇
- 2023年全國各省高考詩歌鑒賞真題匯總及解析
- 陜西省2023第二屆長安杯大中小學(xué)國家安全知識競賽題庫及答案
- 全國2017年4月自考00043經(jīng)濟(jì)法概論(財經(jīng)類)試題及答案
- 東鄉(xiāng)族學(xué)習(xí)課件
- 基建礦井應(yīng)急救援預(yù)案之綜合應(yīng)急預(yù)案匯編(完整版)資料
- GA/T 830-2021尸體解剖檢驗室建設(shè)規(guī)范
- 《PEP英語六年級下冊Unit3Readandwrite》東城虎英小學(xué)王曉惠
- GB/T 9846-2015普通膠合板
- GB/T 3778-2021橡膠用炭黑
評論
0/150
提交評論