許愛軍
(廣州鐵路職業(yè)技術(shù)學(xué)院,廣東 廣州 510430)
VRML協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)的研究與應(yīng)用
許愛軍
(廣州鐵路職業(yè)技術(shù)學(xué)院,廣東 廣州 510430)
協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)是在分布式虛擬環(huán)境基礎(chǔ)上發(fā)展起來的一種智慧環(huán)境,在情景創(chuàng)設(shè)、協(xié)同工作、高交互性和實(shí)時(shí)性等方面具有明顯優(yōu)勢。在梳理協(xié)同虛擬現(xiàn)實(shí)的定義與功能、模型與分類的基礎(chǔ)上,研究了協(xié)同虛擬現(xiàn)實(shí)的建模技術(shù)和模型優(yōu)化技術(shù),重點(diǎn)探討了協(xié)同感知的實(shí)現(xiàn)、用戶替身的實(shí)現(xiàn)和協(xié)同通訊環(huán)境的實(shí)現(xiàn)方法。為解決多用戶操作沖突,研究了采用對(duì)象鎖和優(yōu)先級(jí)控制法的并發(fā)控制技術(shù)。結(jié)合“協(xié)同搬凳”虛擬現(xiàn)實(shí)實(shí)例,闡述了協(xié)同虛擬現(xiàn)實(shí)的設(shè)計(jì)流程和關(guān)鍵技術(shù)。測試表明,基于VRML的協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)能滿足低帶寬、實(shí)時(shí)性要求,提出的定時(shí)采集和發(fā)送數(shù)據(jù)的方法,滿足多用戶協(xié)同虛擬現(xiàn)實(shí)的需要。
虛擬現(xiàn)實(shí);VRML;協(xié)同工作;協(xié)同并行控制
虛擬現(xiàn)實(shí)系統(tǒng)(Virtual Reality System,VRS)是由虛擬世界(環(huán)境)和與之發(fā)生交互的操作者(人)組成。與VRS相比,協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)(Collaborative Virtual Reality System,CVRS)更加突出多用戶間的“協(xié)同”,強(qiáng)調(diào)多用戶間的“相互感知”,在情景創(chuàng)設(shè)、協(xié)同工作、高交互性和實(shí)時(shí)性等方面,具有明顯優(yōu)勢。
對(duì)CVRS的研究,最初是在分布式虛擬環(huán)境的基礎(chǔ)上開始的,經(jīng)歷了從概念梳理逐步向應(yīng)用縱深推進(jìn)的過程,研究的重點(diǎn)涉及用戶替身描述、行為并發(fā)控制、多用戶感知,以及協(xié)同工作的表現(xiàn)形式等方面。目前,CVRS已經(jīng)廣泛應(yīng)用于生產(chǎn)和生活的諸多領(lǐng)域,如軍事、醫(yī)療、娛樂、教育等,典型代表有NPSNET-IV系統(tǒng)[1]、DIVE系統(tǒng)[2]等。
VRML是基于Internet的三維虛擬場景描述標(biāo)準(zhǔn)。探討基于VRML的協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)的相關(guān)概念、實(shí)現(xiàn)技術(shù),研究一套具有參考價(jià)值的實(shí)現(xiàn)方案是非常必要的。
1.1 定義與功能
CVRS是將協(xié)同工作(Computer Supported Collaborative Work,CSCW)技術(shù)、虛擬現(xiàn)實(shí)技術(shù)、人工智能技術(shù)、多媒體技術(shù)和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)等結(jié)合在一起,用戶在一組互聯(lián)的虛擬空間中以替身的方式相互協(xié)作,實(shí)現(xiàn)協(xié)同工作。與CSCW結(jié)合后,CVRS提供共享的極具真實(shí)感的虛擬空間,使人們能夠更加自然、協(xié)調(diào)地與他人進(jìn)行交互和協(xié)同,能打破時(shí)空限制,安全可靠,豐富了計(jì)算機(jī)作為交互和通信工具的職能和作用,已成為一種新型的數(shù)字智慧環(huán)境[3]。
1.2 模型與分類
由于VRML本身不支持多用戶環(huán)境所必須的共享行為和環(huán)境狀態(tài)的連續(xù)性,無法滿足Internet上多用戶環(huán)境的要求,但它提供了與外部程序(如Java)的接口,使得協(xié)同虛擬現(xiàn)實(shí)的實(shí)現(xiàn)成為可能[4]。基于VRML的協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)模型如圖1所示。
圖1 基于VRML的CVRS模型
一般而言,CVRS又可以分為遠(yuǎn)程協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)(Remote Collaborative Virtual Reality System,RCVRS)和面向本地的協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)(Local Collaborative Virtual Reality System,LCVRS)[5]。其中,RCVRS主要面向遠(yuǎn)程(廣域網(wǎng))實(shí)現(xiàn)協(xié)同工作,研究的重點(diǎn)涉及DIS(Distributed Interactive Simulation)協(xié)議、體系結(jié)構(gòu)、虛擬場景生成算法等,盡可能在降低網(wǎng)絡(luò)傳輸數(shù)據(jù)的前提下實(shí)現(xiàn)協(xié)同工作。LCVRS主要面向本地(局域網(wǎng))范圍實(shí)現(xiàn)協(xié)同工作,研究的重點(diǎn)是如何把軟硬件裝置與CSCW技術(shù)相結(jié)合,提高協(xié)同虛擬環(huán)境的真實(shí)性和協(xié)同工作的高效性。
2.1 協(xié)同虛擬場景設(shè)計(jì)
虛擬場景設(shè)計(jì)是實(shí)現(xiàn)協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)的基礎(chǔ)。虛擬場景設(shè)計(jì)的好壞直接關(guān)系到協(xié)同虛擬現(xiàn)實(shí)的逼真度和性能。協(xié)同虛擬場景設(shè)計(jì)的關(guān)鍵問題是如何在保證場景逼真度的前提下盡可能降低模型的復(fù)雜度、模型傳輸過程中的數(shù)據(jù)量。在實(shí)際設(shè)計(jì)過程中,模型越復(fù)雜,逼真度就越高,但模型數(shù)據(jù)量也越大。所以,協(xié)同虛擬環(huán)境的設(shè)計(jì),往往要在模型的復(fù)雜度和系統(tǒng)能夠承受的數(shù)據(jù)量之間取得平衡。
2.1.1 利用VRML原型節(jié)點(diǎn)建模
VRML提供了基本幾何節(jié)點(diǎn)、復(fù)雜群節(jié)點(diǎn)、場景效果節(jié)點(diǎn)、動(dòng)畫節(jié)點(diǎn)、動(dòng)態(tài)感知節(jié)點(diǎn)等基本節(jié)點(diǎn)。但光靠這些基本節(jié)點(diǎn)很難滿足協(xié)同虛擬場景設(shè)計(jì)的需要。為此,VRML允許設(shè)計(jì)者自定義節(jié)點(diǎn)功能,來擴(kuò)展建模能力。
VRML為用戶提供的自定義節(jié)點(diǎn)的功能,就是原型。設(shè)計(jì)者可以根據(jù)需要,利用原型創(chuàng)建一種新的節(jié)點(diǎn)類型,通過對(duì)節(jié)點(diǎn)類型實(shí)例化建立新節(jié)點(diǎn)。如果想要修改新節(jié)點(diǎn)的屬性,則可以添加各種域(通過域修改新節(jié)點(diǎn)的屬性)和事件(包括EventOut和EventIn),用路由(ROUTE)將事件連接起來,實(shí)現(xiàn)協(xié)同虛擬環(huán)境與外界環(huán)境的動(dòng)態(tài)交互。利用VRML原型節(jié)點(diǎn)建模的優(yōu)點(diǎn)是建模簡單、快捷,但建立的模型較為粗糙,并且只適合建立規(guī)則物體的模型,能提供的交互操作比較有限。
2.1.2 利用可視化軟件建模
協(xié)同虛擬環(huán)境是由若干個(gè)三維虛擬物體構(gòu)成的。三維虛擬物體的建立一般包含三維模型結(jié)構(gòu)設(shè)計(jì)和表面屬性配置兩個(gè)步驟[6]。
對(duì)室外樓宇建筑,可以先用VRML可視化工具(如VRMLPad)建立簡單的幾何模型,然后對(duì)各個(gè)面拼接紋理來建立模型。對(duì)室內(nèi)物體,可以先用復(fù)雜建模工具(如3DS Max)建立物體外圍輪廓,然后采用外擴(kuò)、擠出、拉伸及布爾運(yùn)算等操作生成簡單幾何形體的組合,貼圖后生成.WRL文件完成模型的建立。對(duì)地形和地表物體合成區(qū)域的場景模型,可以先將三維地形模型和復(fù)雜物體模型導(dǎo)入實(shí)時(shí)三維數(shù)據(jù)庫生成系統(tǒng)(如Multigen Creator),利用強(qiáng)大的大型地形和三維場景產(chǎn)生器、道路產(chǎn)生器等功能,建立場景層次模型數(shù)據(jù)庫。對(duì)有特殊要求的物體(如文物),模型非常復(fù)雜且真實(shí)度要求很高,也可以采取三維掃描技術(shù)獲取物體的三維數(shù)據(jù)信息模型[7]。
2.1.3 三維模型優(yōu)化技術(shù)
VRML是虛擬場境的三維描述格式規(guī)范,物體模型最終都以VRML文件形式存儲(chǔ)。因此針對(duì)VRML的語法特性進(jìn)行優(yōu)化是十分必要的。主要優(yōu)化方法有:重復(fù)物體的代碼重用、相似物體的原型封裝、VRML文件壓縮等。
重復(fù)物體的代碼重用(DEF/USE):在大型虛擬場景中,往往存在大量重復(fù)出現(xiàn)的物體,如樹木、路燈、垃圾箱、石桌、長凳等。可以先用DEF語句對(duì)其節(jié)點(diǎn)命名,再通過USE節(jié)點(diǎn)引用來獲得物體的完整復(fù)制,有時(shí)需要配合Transform節(jié)點(diǎn)對(duì)引用的物體進(jìn)行平移、旋轉(zhuǎn)或縮放等。DEF/USE實(shí)例引用技術(shù)能大大減少重復(fù)代碼[8]。
近似物體的原型(Proto)封裝:利用原型(Proto)封裝機(jī)制可以在已定義節(jié)點(diǎn)類型的基礎(chǔ)上重新定義出新的節(jié)點(diǎn)。因此,可以對(duì)結(jié)構(gòu)相同但位置和屬性(如顏色、紋理、長度等)各異的近似物體,先進(jìn)行原型定義,然后利用原型構(gòu)造技術(shù)(Proto和Externproto)創(chuàng)建擴(kuò)展節(jié)點(diǎn),快速構(gòu)建近似物體,同時(shí)減少文件量。
VRML文件壓縮:用3DS Max開發(fā)的物體模型保存為.WRL文件時(shí)會(huì)產(chǎn)生大量冗余數(shù)據(jù),可以采用VRML Pad提供的壓縮功能或?qū)iT的壓縮工具gzip進(jìn)行壓縮,壓縮過的VRML文件(*.wrz格式)體積只有原來的1/3[9],同時(shí)也不再是文本文件,在一定程度上增強(qiáng)了場景模型數(shù)據(jù)的保密性。當(dāng)然,為了獲得更大的壓縮潛力,在壓縮前需要將必要的注釋和空格保留外,其他不必要的空白間隔都予以消除。
2.2 協(xié)同感知技術(shù)
感知是一切行為的開始。虛擬環(huán)境也不例外,實(shí)現(xiàn)多用戶之間的協(xié)同感知,是協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)的基礎(chǔ)。對(duì)于協(xié)同感知的定義,M.Rounding和S.Greenber將其定義為:取得目前環(huán)境之信息,以便其他成員得知其所處的狀態(tài),并且據(jù)此決定如何進(jìn)行接下來的工作[10]。
2.2.1 協(xié)同感知的實(shí)現(xiàn)方法
在協(xié)同虛擬環(huán)境中,形成感知信息需要經(jīng)過三個(gè)步驟。首先是收集相關(guān)信息;然后是把收集到的信息分發(fā)給其他客戶端;最后是將分發(fā)的信息在各個(gè)客戶端呈現(xiàn),并更新客戶端的狀態(tài)。當(dāng)然,在收集、分發(fā)和呈現(xiàn)信息時(shí),還涉及信息的選擇與過濾問題。因?yàn)樵趨f(xié)同虛擬現(xiàn)實(shí)系統(tǒng)中,不可能也不需要把感知到的信息全部分發(fā),否則會(huì)造成信息風(fēng)暴,嚴(yán)重降低系統(tǒng)性能。
遠(yuǎn)程指針(Telepointer)是協(xié)同虛擬環(huán)境中常用的感知方法之一,其基本思想是:利用指針的多光標(biāo)形式,把協(xié)同感知的粒度劃分到事件層,把鍵盤和鼠標(biāo)事件都發(fā)送到其他客戶端,從而被他人感知。這樣,協(xié)同用戶就可以知道彼此的位置、移動(dòng)以及注意力焦點(diǎn)等。通過遠(yuǎn)程指針技術(shù)還可以實(shí)現(xiàn)在共享視圖中的手勢(gesture)效果。除遠(yuǎn)程指針技術(shù)外,其他常用的感知方法還有顏色標(biāo)識(shí)、直觀交互、WYSIWIS方法和感知部件等。
2.2.2 用戶替身的實(shí)現(xiàn)方法
用戶替身(Avatar)是協(xié)同虛擬環(huán)境不可分割的組成部分,用戶替身的生成主要有四種方式:
第一種由系統(tǒng)默認(rèn)。系統(tǒng)為用戶設(shè)置默認(rèn)替身模型,當(dāng)用戶第一次進(jìn)入系統(tǒng)時(shí),直接采用系統(tǒng)提供的默認(rèn)替身進(jìn)入系統(tǒng)。
第二種由用戶自行選擇。用戶第一次進(jìn)入系統(tǒng)時(shí),可以根據(jù)個(gè)人喜好,選擇自己喜歡的用戶替身后進(jìn)入系統(tǒng)。
第三種是自適應(yīng)推理。用戶進(jìn)入系統(tǒng)時(shí)采用缺省替身,通過不斷與系統(tǒng)交互,系統(tǒng)收集用戶的習(xí)慣、興趣等參數(shù)信息,根據(jù)自適應(yīng)推理機(jī)制形成符合用戶個(gè)性的替身和功能界面。經(jīng)過不斷收集用戶參數(shù)信息,反復(fù)推理,逐步形成適合用戶特征的替身模型。
第四種由用戶手動(dòng)修改。用戶進(jìn)入系統(tǒng)后,可以根據(jù)需要,自行修改界面參數(shù)信息和交互方式,系統(tǒng)根據(jù)用戶需求生成相應(yīng)的用戶替身,以便有效地支持協(xié)同感知交互活動(dòng)。
替身之間的交互通過行為機(jī)制來實(shí)現(xiàn),實(shí)現(xiàn)的基本方法是:首先,為替身設(shè)定一套容易被人辨識(shí)的動(dòng)作(如用戶間的打招呼問候、揮手告別、拿起電話進(jìn)行協(xié)商等),這些動(dòng)作能對(duì)動(dòng)作節(jié)點(diǎn)設(shè)置不同的位置插補(bǔ)器(PositionInterpolator)、朝向插補(bǔ)器(OrientationInterpolator)和一個(gè)共同的時(shí)間傳感器(Time Sensor)來實(shí)現(xiàn);其次,當(dāng)用戶之間有交互請(qǐng)求時(shí),啟動(dòng)行為機(jī)制,通過EAI調(diào)用Java Applet分別控制用戶來實(shí)現(xiàn)替身之間的交互行為。
2.2.3 協(xié)同通訊環(huán)境的實(shí)現(xiàn)方法
為了實(shí)現(xiàn)協(xié)同感知,需要在協(xié)同者之間傳遞用戶狀態(tài)信息和各種交互信息。VRML的網(wǎng)絡(luò)通訊和分布式控制需要與Java語言結(jié)合來實(shí)現(xiàn)。一般有EAI(External Authoring Interface)和SAI(Script Authoring Interface)兩種結(jié)合方式[11]。通過EAI可以調(diào)用Java Applet來改變場景內(nèi)容,控制較為靈活,但比較復(fù)雜的協(xié)同交互通常采用SAI方式。通過調(diào)用Java腳本語言,將復(fù)雜的網(wǎng)絡(luò)控制和文件訪問功能引入?yún)f(xié)同場景,從而建立起協(xié)同虛擬通訊環(huán)境,如圖2所示。
圖2 協(xié)同虛擬現(xiàn)實(shí)的通訊環(huán)境
在圖2所示的通訊環(huán)境中,利用VRML的臨近檢測器節(jié)點(diǎn)(ProximitySensor)感知用戶的操作并輸出位置(position_changed域)和方向(orientation_changed域)的變化值,利用視點(diǎn)節(jié)點(diǎn)(Viewpoint)接收到其他用戶的操作信息來調(diào)整虛擬物體的空間位置和方向[12]。通過SAI接口啟動(dòng)輸出線程,向服務(wù)器發(fā)送信息,調(diào)用其他客戶端的接收線程,更新其他客戶端的Viewpoint節(jié)點(diǎn),從而實(shí)現(xiàn)系統(tǒng)的協(xié)同感知。
2.3 協(xié)同并發(fā)控制技術(shù)
協(xié)同并發(fā)控制的目的是防止參與協(xié)同的多個(gè)用戶對(duì)同一個(gè)虛擬物體同時(shí)操作而引發(fā)操作沖突。解決這個(gè)問題的基本方法有對(duì)象鎖方法和優(yōu)先級(jí)控制法。
對(duì)象鎖方法的基本思想是[13]:當(dāng)用戶需要對(duì)某個(gè)虛擬物體進(jìn)行操作時(shí),先向服務(wù)器申請(qǐng)操作這個(gè)物體的控制權(quán)。服務(wù)器檢測到這個(gè)物體不被其他用戶操作時(shí),將權(quán)限分配給該用戶。用戶在對(duì)這個(gè)物體進(jìn)行操作時(shí),虛擬物體的操作控制權(quán)限設(shè)置為鎖定。這種方法的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,每個(gè)用戶按照先來先分配的原則平等申請(qǐng),但要考慮由于網(wǎng)絡(luò)中斷或其他問題引起死鎖現(xiàn)象的發(fā)生。
優(yōu)先級(jí)控制法的基本思想是:為每個(gè)用戶設(shè)置不同的優(yōu)先級(jí)控制權(quán)限。在同一時(shí)刻,權(quán)限越高者,優(yōu)先使用對(duì)某個(gè)虛擬物體的控制權(quán)限。這種方法的優(yōu)點(diǎn)是能滿足高級(jí)別用戶的權(quán)限控制需求,但要考慮低級(jí)別用戶長時(shí)間不能獲得對(duì)某個(gè)物體控制權(quán)限的問題。
基于這兩種常用的控制方法,也出現(xiàn)了“操作令牌”控制法[14]、基于客戶端的并發(fā)控制法等。
3.1 實(shí)例開發(fā)
文中實(shí)現(xiàn)了一個(gè)“協(xié)同搬凳”虛擬現(xiàn)實(shí)測試用例。實(shí)例中的協(xié)同虛擬環(huán)境相對(duì)簡單,包含一條長凳和兩個(gè)用戶替身。長凳直接采用VRML原型節(jié)點(diǎn)建模來實(shí)現(xiàn),替身模型采用Metacreations公司推出的人體造型軟件Poser建模,系統(tǒng)采用默認(rèn)的方式為用戶提供替身模型。
當(dāng)兩個(gè)用戶登錄系統(tǒng)后,系統(tǒng)為用戶分配默認(rèn)的替身模型,利用ProximitySensor節(jié)點(diǎn)跟蹤用戶的移動(dòng)和轉(zhuǎn)動(dòng)操作,在position_changed和orientation_changed域獲得用戶的位置和方向值。然后將這些信息通過協(xié)同通訊環(huán)境輸出給另一個(gè)用戶,并改變這個(gè)用戶端的替身狀態(tài)信息。
控制用戶替身位置變化信息的Java程序段為:
Nodebandengman=(Node)browser.getNode("Bandengman");
EventInSFVec3fbandengmanPos=(EVeritInSFVeC3f Obandengman.getEventIn("settranslation");
floatposition[]=newfloat[3];
position[0]=2.145 8;
position[l]=0;
position[2]=5.643 9;
bandengmanPos.setValue(position);
獲取用戶替身當(dāng)前位置的基本方法是:
Nodebandengman=browser.getNode("andengman");
floatnewPosition[]=newfloat[3];
NewPosition=((EventOutSFVec3O(bandengman.getEventOut("translationchanged"))).getValue();
當(dāng)bandengman節(jié)點(diǎn)定義的替身translation域發(fā)生變化(即位移發(fā)生變化)時(shí),協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)自動(dòng)調(diào)用callback()方法來執(zhí)行相應(yīng)的處理,主要Java代碼是:
Public class Observer implements EventOut Observer{
{Public void callback(EventOut value,double timestamp,Object data)
//對(duì)取得的EventOut的值進(jìn)行相應(yīng)處理
}
Observer observer=new Observer();
bandengman.getEventOut("translation changed").
advise(observer,null);
}
3.2 實(shí)例測試
在校園網(wǎng)絡(luò)環(huán)境中,兩個(gè)學(xué)生分別在不同客戶端登錄系統(tǒng),系統(tǒng)默認(rèn)分配用戶替身后,兩個(gè)學(xué)生先后走向待搬動(dòng)的長凳,到達(dá)適當(dāng)位置時(shí),用戶替身的右手自動(dòng)與長凳吸附,并隨著替身一起向前移動(dòng),如圖3所示。
圖3 協(xié)同搬凳實(shí)現(xiàn)效果
用戶替身在運(yùn)動(dòng)過程中,位移信息在不斷發(fā)生變化。如果將位移變化信息實(shí)時(shí)發(fā)送,容易使系統(tǒng)性能下降,甚至出現(xiàn)廣播風(fēng)暴。
為解決這個(gè)問題,系統(tǒng)采用定時(shí)采集和發(fā)送數(shù)據(jù)的方法,每隔一個(gè)時(shí)間間隔再獲取虛擬物體的方位值,并啟動(dòng)發(fā)送機(jī)制。時(shí)間間隔的設(shè)置采用VRML中節(jié)點(diǎn)的時(shí)間戳。當(dāng)Script節(jié)點(diǎn)收到EventIn后,從Event對(duì)象的Name、Value和Timestamp域中,用getsStamp()方法得到時(shí)間戳。這個(gè)方法大大降低了數(shù)據(jù)的傳輸頻率,并能較好地保證虛擬物體協(xié)同感知的連續(xù)性。
作為一種新型智慧環(huán)境,協(xié)同虛擬現(xiàn)實(shí)一經(jīng)提出就受到廣泛關(guān)注。相比2D(或者2.5D)協(xié)同虛擬現(xiàn)實(shí),基于VRML的3D協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)更加具有挑戰(zhàn)性。
文中通過探討協(xié)同虛擬現(xiàn)實(shí)的定義和功能、模型與分類,重點(diǎn)研究了協(xié)同虛擬現(xiàn)實(shí)的場景設(shè)計(jì)、協(xié)同感知和并發(fā)控制技術(shù),并實(shí)現(xiàn)了“協(xié)同搬凳”實(shí)例。測試表明,基于VRML的協(xié)同虛擬現(xiàn)實(shí)系統(tǒng)能滿足低帶寬、實(shí)時(shí)性要求,文中提出的定時(shí)采集和發(fā)送數(shù)據(jù)的方法,滿足了多用戶協(xié)同虛擬現(xiàn)實(shí)的需要。
[1] 何正偉,吳華意,陳 靜.基于Internet的大規(guī)模城市建筑三維場景可視化研究[J].系統(tǒng)仿真學(xué)報(bào),2009,21(10):2965-2970.
[2] 周博飛,李緒華,張學(xué)之.3維城市模型建模方法分類與建模流程探討[J].測繪與空間地理信息,2012,35(6):138-139.
[3] 許愛軍,張文金,黃正午.多用戶共享虛擬環(huán)境中VRML系統(tǒng)模型[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(1):27-30.
[4] 唐新明,張 過,祝小勇,等.資源三號(hào)測繪衛(wèi)星三線陣成像幾何模型構(gòu)建與精度初步驗(yàn)證[J].測繪學(xué)報(bào),2012,41(2):191-198.
[5] 林建明.CSCW環(huán)境下基于信息驅(qū)動(dòng)的群體感知建模及實(shí)現(xiàn)方法研究[D].杭州:浙江工業(yè)大學(xué),2001.
[6]FunkhotlserTA,SequinCH,TellerSJ.Managementoflargeamountsofdataininteractivebuildingwalkthroughs[C]//Proceedingsofthe1992symposiumoninteractive3dgraphics.NewYork,NY,USA:ACM,1992:11-20.
[7] 張瑞菊.SketchUp結(jié)合GoogleEarth在虛擬校園中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2013,33(S1):271-272.
[8] 畢碩本,曾曉文,潘秋羽,等.基于粒子系統(tǒng)的衛(wèi)星云圖三維仿真與簡化算法[J].系統(tǒng)仿真學(xué)報(bào),2014,26(11):2630-2635.
[9] 龐存岐,丘 均,蔡聲鎮(zhèn).大規(guī)模室外場景中漫游實(shí)時(shí)渲染技術(shù)研究[J].福建師范大學(xué)學(xué)報(bào):自然科學(xué)版,2013,29(3):37-41.
[10] 許愛軍,張文金,易 丹.基于虛擬現(xiàn)實(shí)技術(shù)的遠(yuǎn)程教育平臺(tái)研究與實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2007,16(8):23-26.
[11] 馬延周.虛擬場景中協(xié)同感知技術(shù)研究[D].鄭州:解放軍信息工程大學(xué),2008.
[12] 許愛軍,張文金,易 丹.基于VRML的虛擬現(xiàn)實(shí)技術(shù)及應(yīng)用[J].計(jì)算機(jī)與數(shù)字工程,2009,37(4):186-189.
[13] 行開新,田 凌.支持異地協(xié)同設(shè)計(jì)的異構(gòu)CAD虛擬裝配系統(tǒng)[J].清華大學(xué)學(xué)報(bào):自然科學(xué)版,2009,49(2):226-231.
[14]WangJiaojiao,WangLei,CaoWenmin,etal.A'drift'algorithmforintegratingvectorpolylineandDEMbasedonthesphericalDQG[C]//ProcofIOPconferenceseries:earthandenvironmentalscience.UK:IOPPublishing,2014.
Research and Application of VRML Virtual Reality System
XU Ai-jun
(Guangzhou Railway Polytechnic,Guangzhou 510430,China)
Collaborative virtual reality system is a kind of intelligent environment based on distributed virtual environment,which has obvious advantages in scene creation,cooperative work,high interactive and real-time,etc.In this paper,it gets research on collaborative virtual reality modeling technology and model optimization technology based on the definition and function,and model and category of virtual reality,and focuses on the realization of collaborative perception,user’s avatar and collaborative communication environment.To solve multi user operation conflict,the concurrency control technology is studied using object lock and priority control method,elaborating design process and key technology of collaborative virtual reality combined with the “cooperative move stool” example of virtualreality.Tests show that the VRML-based collaborative virtual reality system has low bandwidth and real-time,which can meet the requirements of multi user virtual reality.
virtual reality;VRML;cooperative work;cooperative parallel control
2015-08-03
2015-11-05
時(shí)間:2016-05-05
廣東省科技計(jì)劃項(xiàng)目(2015A030401005);廣東省教育科學(xué)“十二五”規(guī)劃2014年度教育信息技術(shù)研究項(xiàng)目(14JXN018)
許愛軍(1978-),男,研究生,副教授,CCF會(huì)員,研究方向?yàn)閿?shù)據(jù)管理系統(tǒng)與智能算法、虛擬現(xiàn)實(shí)技術(shù)。
http://www.cnki.net/kcms/detail/61.1450.TP.20160505.0828.062.html
TP391.9
A
1673-629X(2016)06-0115-04
10.3969/j.issn.1673-629X.2016.06.025