本站小編為你精心準備了VRML技術(shù)虛擬實驗參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

1虛擬實驗的設(shè)計
1.1虛擬實驗室的實現(xiàn)模式
虛擬實驗室的建立,使得處于不同位置的學(xué)習(xí)者可以同時對一個實驗項目進行實驗工作.Web為虛擬實驗室的實現(xiàn)提供了一種基礎(chǔ)平臺,基于WEB的B/S構(gòu)建模式是實現(xiàn)虛擬實驗室的一種基本模式.
完善的虛擬實驗室包含下面幾個重要的組成部分:第一,能處理大量模擬操作數(shù)據(jù)的服務(wù)器(女口超級計算機中心高性能的計算機系統(tǒng));第二,用于存儲模擬數(shù)據(jù)初始條件和邊界條件以及實驗結(jié)果數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng);第三,連接于網(wǎng)絡(luò)的科學(xué)實驗儀器及合作工具等;第四,實驗處理軟件,每一個虛擬實驗系統(tǒng)都是基于專業(yè)的仿真軟件系統(tǒng)的,它們用于數(shù)據(jù)處理、分析、存儲并使這幾個過程可視化.這幾個部分的緊密結(jié)合就組成了一個虛擬實驗室.
1.2虛擬實驗的體系結(jié)構(gòu)
虛擬實驗根據(jù)參與感知交互方式的不同,主要分為三類:桌面虛擬現(xiàn)實系統(tǒng)、座艙式虛擬現(xiàn)實系統(tǒng)、沉浸式虛擬現(xiàn)實系統(tǒng)后兩類虛擬實驗系統(tǒng)需要昂貴的設(shè)備,創(chuàng)建一個虛擬現(xiàn)實系統(tǒng)的花費是相當(dāng)巨大的,無論是從軟件還是從硬件,普通的用戶都無法承擔(dān).因此在目前階段還不可能大規(guī)模應(yīng)用,其僅僅運用在軍事和航空航天等方面囝I(lǐng)本文研究的虛擬實驗系統(tǒng)屬于第一類,即桌面虛擬現(xiàn)實系統(tǒng).和用軟件編程方法在輸出設(shè)備(如顯示器)上輸出逼真的具有虛擬現(xiàn)實系統(tǒng)特征的三維場景.網(wǎng)絡(luò)虛擬實驗平臺采用的是vrml-Java同步協(xié)調(diào)技術(shù).總體的設(shè)計思想如下:
(1)系統(tǒng)結(jié)構(gòu)為3層B/S結(jié)構(gòu),由客戶端、網(wǎng)絡(luò)服務(wù)器和數(shù)據(jù)庫服務(wù)器組成.B/S結(jié)構(gòu)簡化了客戶端軟件,只須安裝Web瀏覽器作為客戶端的運行平臺,采用該結(jié)構(gòu)實現(xiàn)的共享虛擬環(huán)境比較穩(wěn)定和健壯,可擴展性較好.系統(tǒng)版本的升級及維護均在web服務(wù)器端進行的,用戶需要訪問時才動態(tài)下載,這就保證了用戶每次使用的都是最新版本.
(2)客戶端與服務(wù)器端的通信采用基于TCP//P協(xié)議的.1avaSocket通信技術(shù),Java對網(wǎng)絡(luò)通信提供了強有力的支待,其中Java.net包中的InetAddress、URL、Socket等類對TCP/IP協(xié)議提供了良好的支持.
獨立運行的服務(wù)器應(yīng)用程序主線程負責(zé)監(jiān)聽客戶端的連接請求,連接上后生成另外一個線程與客戶端通過‘IEP/IP進行通信.在服務(wù)器上建立一個共享對象的數(shù)據(jù)庫上面有所有變動對象的當(dāng)前信息.當(dāng)一個新用戶連接進來的時候,他的信息將寫入該共享對象數(shù)據(jù)庫中,同時通過該數(shù)據(jù)庫讀取共享對象的信息,并將這些信息在本地機器上的VRML世界中表現(xiàn)出來.
(3)服務(wù)器與數(shù)據(jù)庫的通信技術(shù)是基于JDBC.
(4)VRML與Java間的通信是基于SAI.
綜上所述,系統(tǒng)采用Web、VRML、SAI、Java、JDBC、SQL等主要開發(fā)技術(shù).虛擬單元作為實驗的主體,提供不同的設(shè)定參數(shù),以JavaApplet形式運行,并通過VRML腳本編程接口SAI與Java進行通信翻.
1.3虛擬實驗的功能層次結(jié)構(gòu)
虛擬實驗系統(tǒng)遵循模塊化設(shè)計的原則,采取類ISO協(xié)議的分層技術(shù),無論是什么課程的虛擬實驗系統(tǒng),最終的程序遵循以下的層次結(jié)構(gòu):上層是實驗接口層;中間是Web服務(wù)接口、仿真服務(wù)接口以及中間件等.下層是后臺服務(wù)程序.
(1)用戶實驗接口的主要功能:作為虛擬實驗室客戶端模塊的一部分,主要完成“所見即所得”功能,給用戶提供一個良好的界面(實驗環(huán)境).同時引導(dǎo)用戶了解、熟悉、掌握虛擬實驗軟件的基本使用方法;收集用戶設(shè)置的實驗參數(shù)和數(shù)據(jù);檢查用戶的實驗環(huán)境是否配置正確.提供與web服務(wù)接口的相關(guān)函數(shù).另外,還要完成實驗結(jié)果的采集、處理、優(yōu)化和顯示,可以包括各種數(shù)據(jù)的圖形化、圖表、動畫顯示及打印輸出.具備簡單的智能分析功能,給用戶提供方便的處理接口.
(2)WEB服務(wù)接口的主要功能:負責(zé)管理虛擬實驗系統(tǒng)的一般Web服務(wù)請求,負責(zé)接受虛擬實驗原始數(shù)據(jù),向客戶端發(fā)送虛擬實驗結(jié)果.負責(zé)通知消息的,統(tǒng)計網(wǎng)絡(luò)狀態(tài)信息,調(diào)整用戶權(quán)限等.
(3)服務(wù)接口的主要功能:負責(zé)調(diào)度后臺虛擬服務(wù)程序,接收上層接口傳遞的實驗數(shù)據(jù),記錄用戶的實驗過程.
(4)a0間件模塊的主要功能:為仿真后臺程序和仿真服務(wù)接口模塊提供通用的接口,向下負責(zé)發(fā)送調(diào)度指令和接收結(jié)果,向上負責(zé)接收調(diào)度指令和發(fā)送結(jié)果.
(5)服務(wù)程序的主要功能:第三方服務(wù)程序,提供相應(yīng)的服務(wù).[
2虛擬實驗的實現(xiàn)
2.1虛擬實驗的運行環(huán)境
本系統(tǒng)的服務(wù)器試驗運行環(huán)境為:WindowsNT、MSIIS、JDK1.2.2、CoronaSAI包,客戶端的試驗環(huán)境為:WindowsNT、IE6.0、CoronaVRMLClient.在服務(wù)器端用IIS建立wWw站點,設(shè)置套接字端口號和VRML文件中一致,并運行服務(wù)器程序.客戶端瀏覽器裝載VRML插件,登陸服務(wù)器Html文件,連接成功后可進行相應(yīng)的操作.
2.2虛擬實驗的模塊實現(xiàn)
系統(tǒng)在服務(wù)器端和IIS建立irW站點,服務(wù)器端與客戶端設(shè)置套接字端口號,并在VRML文件中也設(shè)置一致的端口號,運行服務(wù)器程序.客戶機端瀏覽器裝載VRML插件,登錄服務(wù)器Html文件,經(jīng)過身份驗證后進行在線虛擬實驗系統(tǒng).用戶可以使用鼠標(biāo)或者鍵盤在場景中漫游,進行交互.
主要模塊描述如下:
(1)用戶的驗證登錄
實驗者首先通過輸入相應(yīng)的用戶名及密碼,經(jīng)過身份識別后才能進入相應(yīng)的頁面進行下一步的操作.如驗證通過。用戶就可以根據(jù)虛擬實驗環(huán)境提供的一些準備資料進行實驗準備,比如熟悉實驗設(shè)備器材、了解實驗?zāi)康?、學(xué)習(xí)實驗原理等,然后實驗者就可以進行實驗了.
當(dāng)用戶登錄系統(tǒng)時,首先在客戶端,根據(jù)服務(wù)器名和端口連接服務(wù)器,并啟動一個客戶端線程:
thread=newClientThread(this,hotname,port,UselTh~lrle,avatarURL);thread.star@
同時服務(wù)器端會根據(jù)客戶端的連接請求創(chuàng)建一個線程Vuser來負責(zé)交互,并把該線程加入到服務(wù)器端的線程列表中,同時通過user.sendALLFields((VU~r)user)把用戶添加到所有用戶的場景中去.如下:
sCene.setViewpointPosition((VSFVec3Ovalue);
scene.setViewpointOrientation((VSFRotation)value);
(2)虛擬實驗教室漫游
在虛擬環(huán)境的漫游中,建立了一個虛擬實驗教室環(huán)境,體現(xiàn)了虛擬實驗環(huán)境的真實感.虛擬實驗環(huán)境的交互控制,主要是改變用戶視點的位置或視線方向,從而實現(xiàn)在三維場景中的漫游.用戶可以通過左側(cè)及下側(cè)的控制按鈕來對這個虛擬實驗教室進行全方位觀察,三維場景根據(jù)用戶的交互控制命令連續(xù)不斷地改變視點位置或視線方向并渲染場景.另外,用戶也可以通過輸入設(shè)備f如鼠標(biāo)、鍵盤)完成多個視點的切換和視角的變換.VRML虛擬場景中的視點是一個在所瀏覽的立體空間中預(yù)先定義的觀察位置和空間朝向,使用視點控制,可以實現(xiàn)虛擬場景的自動漫游功能.對于場景的漫游,涉及到用戶視角的移動與變換,會觸發(fā)callback0,該函數(shù)執(zhí)行時會把當(dāng)前用戶視角的位置和方向參數(shù)送給服務(wù)器: