• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      具有協(xié)同交流功能的虛擬物理實驗室①

      2019-04-10 05:07:44陳昭喜許愛軍
      計算機系統(tǒng)應用 2019年2期
      關鍵詞:服務器端協(xié)同實驗室

      陳昭喜,許愛軍

      1(廣州中醫(yī)藥大學 醫(yī)學信息工程學院,廣州 510006)

      2(廣州鐵路職業(yè)技術學院 創(chuàng)新創(chuàng)業(yè)學院,廣州 510430)

      作為信息技術新的增長點,虛擬現(xiàn)實技術(VR,Virtual Reality)在近年得到蓬勃發(fā)展.為克服純粹的場景模擬和單用戶操作帶來的缺陷,支持多用戶協(xié)同工作的協(xié)同虛擬環(huán)境成為當前研究的熱點和難點.

      關于協(xié)同虛擬環(huán)境的研究,目前主要集中在多用戶協(xié)同工作的方法和技術方面,如協(xié)作模型、任務劃分方法,以及時間、空間一致性等,并已取得一些重要進展.如文獻[1]提出基于VRML白板(VRML Whiteboard)的方法,使異地分布的用戶同步參與產(chǎn)品設計制作過程;文獻[2]建立一個面向教育者的分布式遠程教育和交流交互平臺,實現(xiàn)了協(xié)同虛擬環(huán)境在地理教學中的應用;文獻[3]采用VRML Automation接口實現(xiàn)了虛擬模型協(xié)同設計和瀏覽的新方法;文獻[4]提出并實現(xiàn)了基于角色訪問控制的分布式協(xié)同虛擬環(huán)境系統(tǒng)模型;文獻[5]構建了一個多用戶協(xié)同工作的分布式虛擬環(huán)境等.可見,協(xié)同虛擬環(huán)境能廣泛應用到多個領域,在網(wǎng)絡化、虛擬化、集成化、智能化、標準化方面取得一些研究成果.但從現(xiàn)有文獻看,將協(xié)同虛擬環(huán)境應用到物理實驗教學的研究還相對較少.

      物理實驗是提高學生動手實踐能力、加深理解物理原理的重要手段.在實驗教學中,學生往往缺乏對儀器設備的基本認知,導致實驗操作效率低下.同時,學生在預習實驗時往往缺乏實驗環(huán)境,導致預習效果不佳.為解決實驗教學中的這些問題,本文采用VRMLJS-Java通信機制,設計實現(xiàn)了具有協(xié)同交流功能的虛擬物理實驗室,在實驗教學中取得良好應用效果,為大學實驗教學改革提供了借鑒和案例.

      1 虛擬物理實驗室總體設計

      1.1 需求分析與場景層次設計

      虛擬物理實驗室作為真實物理實驗的有效補充,用戶進入虛擬實驗室后應有身臨其境之感.為此,虛擬物理實驗室要滿足以下需求:

      (1)能真實展示物理實驗室的整體環(huán)境和實驗場景,如: 門、窗、書柜、試驗臺、實驗設備等;

      (2)能逼真展示若干個虛擬實驗,如游標尺測量等;

      (3)在實驗過程中能與其他用戶交流,協(xié)同完成部分實驗內(nèi)容等;

      (4)在漫游過程中能與環(huán)境進行簡單交互,如點擊門窗能開關、點擊窗簾能升降等功能.

      為滿足以上需求,將虛擬物理實驗室分為實驗室環(huán)境設計和三維人體設計兩大部分.其中,實驗室環(huán)境設計包括裝潢設計(如: 門窗、黑板、天花)和設施設備設計(如: 課桌椅、試驗臺、書柜),三維人體設計包含教師和學生人體設計等.本文選取物理實驗室大門作為參照物,依照由外至內(nèi)、由下至上、從左至右的原則,形成虛擬場景層次結構如圖1所示.

      1.2 開發(fā)工具與交互功能設計

      文獻[6,7]詳細闡述了VRML虛擬實驗系統(tǒng)的設計流程,大體思路是: 首先在三維建模軟件中進行物體模型設計;其次用可視化編輯軟件將單個模型進行合成;再次在VRML文本編輯工具中添加交互節(jié)點;最后對模型文件進行壓縮和優(yōu)化,并進行發(fā)布,具體流程如圖2所示.

      本文采用的三維建模工具是3D Studio Max、可視化編輯工具是CosmoWorld、VRML文本編輯工具是Vrmlpad、三維人體模型設計工具是Poser、預覽瀏覽器是Cortona VRML.

      交互設計是虛擬實驗系統(tǒng)最為核心的功能,本文采用的交互設計原理如圖3所示.

      圖3 虛擬物理實驗室的協(xié)同交流原理

      2 虛擬物理實驗室的三維場景構建

      構建三維場景的目的是模擬真實物理實驗室,營造出一種更逼真的環(huán)境氛圍,大體可以分為實驗室框架設計、裝潢設計、設施設備設計、視點燈光設計等.

      2.1 實驗室框架設計

      虛擬實驗室的整體空間是一個幾何立方體空間,本文采用多個Box節(jié)點,分別為實驗室四周的墻體、天花板進行建模,然后“拼接”出一個長為38.5、寬3、高16.6(均為VRML單位)的封閉幾何體作為實驗室的整體框架.

      2.2 實驗室裝潢設計

      實驗室裝潢設計主要利用VRML的幾何節(jié)點(如:Box、Cone等)來設計裝潢幾何體的形狀及大小,利用外觀節(jié)點(Appearance)中的材質節(jié)點(Material)定義裝潢幾何外觀的材料屬性.除窗戶的背景圖和黑板是通過文理包裝節(jié)點實現(xiàn)外,其他物件大多采用Box節(jié)點實現(xiàn),或是對它們分別建模后,通過Inline節(jié)點進行連接,再設置translation、rotation和scale值,將坐標、旋轉角度和縮放比例分別調整.

      2.3 實驗室設施設備設計

      設計實驗室設施設備之前,要先進行取樣,以獲取真實模型的大小和尺寸,再對每個設施設備分別建模設計.下面以實驗椅子為例介紹模型構建過程.

      從幾何結構看,實驗椅子可以分解為塑料椅面、金屬支架、金屬底座和滑輪.椅面采用擴展幾何體的“切角圓柱體”,金屬支架使用基本幾何體的“管狀體”,金屬底座使用基本幾何體的長方體,滑輪使用一個切角圓柱體和擴展幾何體的“紡錘”進行組合.金屬支架的高度略大于椅子面的半徑,金屬底座中長方體的長度略小于金屬支架的半徑.創(chuàng)建完上述物體后,根據(jù)三視圖將各個物體進行移動,然后根據(jù)實際更改物體的尺寸,得到如圖4所示效果圖.

      圖4 實驗椅的建模過程

      然后,在前視圖中將金屬支架沿y軸向下旋轉,調整滑輪位置,將支架和滑輪連接成組,克隆選項選擇為“實例”.最終效果圖如圖5所示.

      2.4 視點和燈光設計

      所謂視點是指用戶的3D替身登錄虛擬物理實驗室后能在各個位置觀察實驗室中的設施設備,并根據(jù)個人意愿參與到實驗中去.在虛擬實驗室的場景中,用Viewpoint節(jié)點對場景進行視點的設置.系統(tǒng)中設置3個視點,分別是實驗室后方視點、前方視點以及外部視點.

      圖5 建模后的椅子

      燈光的作用是使虛擬物理實驗室具備足夠的光線[8].本文的虛擬實驗室設置了6束平行光,分別是x、y、z軸的正方向和負方向各3束.系統(tǒng)設置了一個LightSwitch的Script節(jié)點.節(jié)點中設計了一個布爾類型的switch_changed出事件,當switch_changed為true時,打開光源,相應的域值發(fā)生變化;當switch_changed為false時,改變相應的域值關閉光源.節(jié)點中與光源開關相關的域值分別為SwitchOn和SwitchOff.

      3 虛擬物理實驗室的交互設計與實現(xiàn)

      3.1 服務器端

      虛擬物理實驗室的協(xié)同討論功能類似于聊天室,實現(xiàn)流程圖如圖6所示.

      由于用戶間需要交流討論,服務器需要負責監(jiān)聽客戶端的連接和實驗系統(tǒng)的連接,采用Socket和線程來實現(xiàn)與客戶端的連接,并存儲在線用戶情況和客戶端連接服務器的請求情況.

      服務器端主要由接受程序和分發(fā)程序組成.接收程序的主要功能是將監(jiān)聽到的用戶交互信息、位置更新信息等存儲到服務器端;分發(fā)程序的主要功能是將收到的信息分發(fā)給其他用戶,以便實時感知其他用戶的狀態(tài)信息[9].除此之外,服務器端還包含用戶登錄界面和主要系統(tǒng)操作界面.登錄界面提供用戶注冊和登錄窗口,操作界面顯示用戶的個人信息、對系統(tǒng)的操作按鈕、與其他用戶間的討論內(nèi)容,以及虛擬討論場景的顯示等.

      圖6 服務器端的程序流程圖

      3.2 客戶端

      客戶端主要提供用戶的登錄和操作功能.本系統(tǒng)中,用戶主要分為教師和學生兩種類型.用戶登錄時可以選擇用戶類型.用戶在客戶端的操作界面中輸入用戶名、服務器主機的IP地址和服務程序的端口號,點擊“連接”按鈕與服務器端進行連接,即可進入到虛擬物理實驗室中;通過“斷開”按鈕,與服務器端斷開連接.客戶端也有一個用戶列表來顯示當前系統(tǒng)上的在線用戶列表.其他用戶的位置可以在本用戶的Java控制臺上顯示,本用戶的行為也可以發(fā)送到其他用戶的Java控制臺上顯示,從而實現(xiàn)場景的一致性.

      3.3 用戶間的交互與感知

      在協(xié)同多用戶系統(tǒng)中,用戶間要彼此感知狀態(tài)與行為的變化,通常利用VRML的Proxim-itySensor節(jié)點跟蹤用視點的移動獲得位置和方向值.通過向其他用戶發(fā)送這個值的變化信息,其他用戶就能感知該用戶的移動方向和變化狀態(tài).而當用戶登錄或者退出時,場景中的替身也會同步地增加或消失.

      本文的虛擬實驗系統(tǒng)采用開放式的登錄方式,設置了用戶信息數(shù)據(jù)庫和用戶信息文本文件.用戶只要訪問了包含有聊天討論Applet程序的HTML網(wǎng)頁,與聊天程序的服務器進行連接后,即可進入實驗室參與討論.用Socket和線程控制來實現(xiàn)多個用戶之間的協(xié)同交流.

      在門、窗交互方面,系統(tǒng)定義了Touch觸摸傳感器、Time時間傳感器.當單擊實驗室入口的門板時,信息被觸摸傳感器Touch獲取,通過事件路由ROUTE/TO將事件touchTime傳遞給事件startTime.將門板的坐標位置信息進行改變,完成開門動作;門開動作完成后,又通過事件路由ROUTE/TO將門的坐標信息恢復到關閉狀態(tài),完成門的自動關閉.

      3.4 VRML虛擬場景與Java的接口

      本文采用Java程序對虛擬場景進行控制.JS是嵌套于網(wǎng)頁中的腳本語言,既可以訪問VRML虛擬場景又可以訪問Applet小程序,因此基于網(wǎng)頁腳本交互的基本思想,通過JS語言編寫函數(shù)作為橋梁,采用VRMLJS-Java的通信機制實現(xiàn)VRML和Applet之間的通信.以JS為橋梁實現(xiàn)VRML與Java Applet之間參數(shù)傳遞的步驟及代碼如下.

      第一步,用VRML文本編輯器在場景文件中添加Script節(jié)點和觸發(fā)器,對需要訪問的節(jié)點用DEF定義名稱,在文件后端添加路由.在Script節(jié)點入事件處理函數(shù)中調用網(wǎng)頁腳本的代碼為:

      Browser.loadURL(‘javascrip:fun(+參數(shù)+)’,’’);

      其中,Browser為瀏覽器的對象實例,loadURL為瀏覽器的接口函數(shù),fun為腳本函數(shù)名.

      第二步,分析各功能模塊及調用關系,設計Java Applet子類,編譯成目標文件,兩項主要工作是:

      一是引用jsobject包.由于項目實施中使用JDK1.6版本,高于1.4版本,jsobject包在plugin.jar中.需要將其加入到classpath中,以便能夠順利地在開發(fā)時編譯.

      二是調用JavaScript函數(shù).在Applet的init()方法中,可通過“win=JSObject.getWindow(this);”語句獲取JavaScript窗口句柄,引用當前文檔窗口.有了win參數(shù),才可以調用JS的相應函數(shù).在相應的方法中,通過“win.eval(“javascript:方法名(“+參數(shù)+”)”);”語句,將獲得的參數(shù)傳遞到JS相應的函數(shù)中,再由JS函數(shù)將得到的參數(shù)付給VRML虛擬場景中的相應結點,這樣便實現(xiàn)了對虛擬場景的控制.

      第三步,在網(wǎng)頁源文件中添加VRML場景文件、Java Applet以及腳本函數(shù).加入網(wǎng)頁腳本函數(shù)一般有兩種類型,一種是加入的函數(shù)使VRML可以通過JS調用Applet小程序;另一種是定義VRML虛擬場景的引擎,獲得對虛擬場景的引用.

      4 虛擬物理實驗室的效果測試

      4.1 虛擬物理實驗室的發(fā)布

      虛擬物理實驗室設置了黑板、教師工作臺、學生課桌椅、兩個書柜、一臺空調、一臺飲水機以及門窗等模型.將這些模型組合完成后,可以采用微軟IIS服務器進行發(fā)布,發(fā)布時將Web服務器的MIME類型設置為model/VRML,整體效果圖如圖7所示.

      圖7 虛擬物理實驗室內(nèi)部效果

      4.2 游標卡尺實驗的實現(xiàn)效果

      在虛擬物理實驗中設置了若干個實驗,用戶單擊試驗臺上的相應實驗,就調出實驗系統(tǒng),圖8是游標卡尺實驗效果圖.在實驗界面的左上角,設置了退出實驗、查看讀數(shù)、退出讀數(shù)三個按鈕,在正上方設置了輸入讀數(shù)的文本框.

      圖8 游標卡尺實驗效果

      4.3 實驗交流的實現(xiàn)效果

      虛擬討論系統(tǒng)需要將VRML虛擬場景和Java Applet程序一起嵌套到HTML網(wǎng)頁文件中.用戶通過訪問服務器主機上的HTML網(wǎng)頁文件,進入到虛擬討論系統(tǒng)中.服務器端的程序要始終運行,用戶方可連接服務器,實現(xiàn)與其他用戶的信息交流.HTML網(wǎng)頁的訪問情況如圖9示.

      4.4 其他交互的實現(xiàn)效果

      為逼真模擬出虛擬物理實驗室,我們在實驗系統(tǒng)中添加了一些鼠標交互動作,如用鼠標單擊窗簾,窗簾可拉開,再次單擊則窗簾關閉,實現(xiàn)效果如圖10所示;用鼠標點擊實驗大門,大門可以打開,再次打擊則大門關閉,實現(xiàn)效果如圖11所示.

      圖9 實驗交流場景效果圖

      圖10 窗簾交互效果

      圖11 開門交互效果

      5 結論與展望

      本文實現(xiàn)了一種具有協(xié)同交流功能的虛擬物理實驗室,并具有以下特點:

      (1)具有操作簡單、使用方便、逼真度高等特點,用戶只需要下載VRML插件就可以訪問,實現(xiàn)對虛擬物理實驗室的在線瀏覽;

      (2)具有交流便利、協(xié)同工作的特點,用戶登錄系統(tǒng)后通過選擇角色,可以實現(xiàn)師生之間的溝通交流,協(xié)同完成實驗內(nèi)容;

      (3)具有良好的層次性、可重用性和互操作性,支持跨平臺運行,易于擴展和維護.

      本文以JS為橋梁實現(xiàn)VRML與Java Applet之間傳遞參數(shù),從而實現(xiàn)了具有交流功能的虛擬物理實驗室,解決了虛擬實驗過程中學生交流不暢的問題.在實驗內(nèi)容上,目前僅完成游標卡尺的測量,未來將增加其他物理實驗內(nèi)容,并進一步提升系統(tǒng)的伸縮性、兼容性和開放性,這也是今后研究工作的重點.

      猜你喜歡
      服務器端協(xié)同實驗室
      蜀道難:車與路的協(xié)同進化
      科學大眾(2020年23期)2021-01-18 03:09:08
      “四化”協(xié)同才有出路
      汽車觀察(2019年2期)2019-03-15 06:00:50
      電競實驗室
      電子競技(2019年22期)2019-03-07 05:17:26
      電競實驗室
      電子競技(2019年21期)2019-02-24 06:55:52
      電競實驗室
      電子競技(2019年20期)2019-02-24 06:55:35
      電競實驗室
      電子競技(2019年19期)2019-01-16 05:36:09
      淺析異步通信層的架構在ASP.NET 程序中的應用
      成功(2018年10期)2018-03-26 02:56:14
      三醫(yī)聯(lián)動 協(xié)同創(chuàng)新
      在Windows中安裝OpenVPN
      協(xié)同進化
      生物進化(2014年2期)2014-04-16 04:36:26
      马鞍山市| 东平县| 南江县| 安达市| 收藏| 保山市| 合作市| 营山县| 吉安县| 阳朔县| 罗定市| 台前县| 额济纳旗| 嵩明县| 通城县| 微山县| 都兰县| 桃园市| 盈江县| 万荣县| 斗六市| 桃园县| 木里| 玉树县| 桐城市| 红桥区| 鄂尔多斯市| 新建县| 大城县| 准格尔旗| 铜鼓县| 金阳县| 逊克县| 平塘县| 会东县| 鹿邑县| 临泉县| 鄂伦春自治旗| 贺兰县| 英山县| 泾川县|