專(zhuān)利名稱(chēng):虛擬分形場(chǎng)景三維漫游系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于虛擬現(xiàn)實(shí)技術(shù),特別涉及一種虛擬分形場(chǎng)景三維漫游系統(tǒng)。
背景技術(shù):
虛擬現(xiàn)實(shí)技術(shù)60年代首先在美國(guó)出現(xiàn),80年代末、90年代初取得了快速的發(fā)展。1986年末,NASA的一個(gè)研究小組集成了一個(gè)VR的3D環(huán)境,用戶(hù)可以用手抓住某個(gè)虛擬物體并操縱它,可以用手勢(shì)和系統(tǒng)進(jìn)行初步交流。1990年芝加哥開(kāi)設(shè)戰(zhàn)爭(zhēng)游戲中心,推出了許多比較成熟的軟硬件產(chǎn)品,但造價(jià)昂貴,應(yīng)用推廣較困難。我國(guó)在“幾何造型方法”和“建筑環(huán)境建造及其實(shí)時(shí)漫游技術(shù)”等方面進(jìn)行了研究,但缺乏對(duì)野戰(zhàn)虛擬戰(zhàn)場(chǎng)環(huán)境和虛擬駕車(chē)訓(xùn)練的研究。虛擬現(xiàn)實(shí)的三個(gè)基本要素之一是建立三維立體的虛擬境界。建立三維立體虛擬環(huán)境的關(guān)鍵技術(shù)是研究三維實(shí)體,虛擬境界中野外環(huán)境是必不可少的,如應(yīng)用于虛擬戰(zhàn)場(chǎng)、虛擬駕車(chē)訓(xùn)練等場(chǎng)景中的樹(shù)、山、云、高地、海浪等是構(gòu)成要件,但是目前的三維實(shí)體庫(kù)中還沒(méi)有這些要件。
發(fā)明內(nèi)容
本發(fā)明的目的是以分形圖形學(xué)與虛擬現(xiàn)實(shí)技術(shù)交叉相結(jié)合的方法,提供一種結(jié)構(gòu)簡(jiǎn)單、成本低、場(chǎng)景環(huán)境生成速度快、顯示效果立體感強(qiáng)的虛擬分形場(chǎng)景三維漫游系統(tǒng)。
本發(fā)明包括材質(zhì)生成單元、實(shí)體構(gòu)造單元、VRML瀏覽器、場(chǎng)景地圖編輯單元和虛擬場(chǎng)景瀏覽單元,材質(zhì)生成單元生成的材質(zhì)文件通過(guò)數(shù)據(jù)接口傳遞給實(shí)體構(gòu)造單元和虛擬場(chǎng)景瀏覽單元,實(shí)體構(gòu)造單元生成的實(shí)體以VRML文件的形式傳遞給VRML瀏覽器,并以實(shí)體文件的形式通過(guò)數(shù)據(jù)接口傳遞給場(chǎng)景地圖編輯單元和虛擬場(chǎng)景瀏覽單元,場(chǎng)景地圖編輯單元生成的地圖文件通過(guò)數(shù)據(jù)接口傳遞給虛擬場(chǎng)景瀏覽單元,虛擬場(chǎng)景瀏覽單元的數(shù)據(jù)通過(guò)數(shù)據(jù)接口傳遞給頭盔顯示器,本發(fā)明的工作流程是(1)開(kāi)始;(2)設(shè)備初始化,主要是將圖形設(shè)備初始化;(3)場(chǎng)景初始化,加載各種資源,即各種實(shí)體對(duì)象,進(jìn)行場(chǎng)景組織,構(gòu)成場(chǎng)景;(4)交互處理,接收用戶(hù)通過(guò)輸入設(shè)備——輸入的前進(jìn)、后退、仰視、俯視、左轉(zhuǎn)和右轉(zhuǎn)信息,并使3D模型和觀察的狀態(tài)做相應(yīng)的變換;(5)計(jì)算新對(duì)象信息,根據(jù)觀察的位置、角度等參量,根據(jù)場(chǎng)景組織本身的特性,提取出渲染的對(duì)象并重新計(jì)算獲得各對(duì)象的狀態(tài);(6)圖形渲染處理,將經(jīng)過(guò)處理生成的3D對(duì)象顯示在計(jì)算機(jī)屏幕上;(7)結(jié)束,否則系統(tǒng)返回到交互處理(4);(8)回收資源。
由于采用以上技術(shù)方案,本發(fā)明具有結(jié)構(gòu)簡(jiǎn)單、成本低、操作方便、場(chǎng)景環(huán)境生成速度快,顯示效果立體感強(qiáng)等優(yōu)點(diǎn),完善了虛擬現(xiàn)實(shí)的實(shí)體庫(kù),適用于虛擬戰(zhàn)場(chǎng)訓(xùn)練和虛擬駕車(chē)訓(xùn)練的需要。
圖1是本發(fā)明的結(jié)構(gòu)框圖;圖2是本發(fā)明的系統(tǒng)數(shù)據(jù)流程圖;圖3是本發(fā)明虛擬場(chǎng)景瀏覽的數(shù)據(jù)流程圖;圖中1材質(zhì)生成單元、2實(shí)體構(gòu)造單元、3 VRML瀏覽器、4場(chǎng)景地圖編輯單元、5虛擬場(chǎng)景瀏覽單元、6頭盔顯示器、7數(shù)據(jù)接口、8材質(zhì)文件、9 VRML文件、10地圖文件、11實(shí)體文件。
具體實(shí)施例方式
下面結(jié)合樹(shù)、山地虛擬場(chǎng)景實(shí)例進(jìn)一步說(shuō)明虛擬分形場(chǎng)景三維漫游系統(tǒng)和工作過(guò)程。
如圖1所示,虛擬分形場(chǎng)景三維漫游系統(tǒng)包括頭盔顯示器6、材質(zhì)生成單元1、實(shí)體構(gòu)造單元2、VRML瀏覽器3、場(chǎng)景地圖編輯單元4和虛擬場(chǎng)景瀏覽單元5,其中,頭盔顯示器6用數(shù)據(jù)線與虛擬場(chǎng)景瀏覽單元5相連,材質(zhì)生成單元1生成的材質(zhì)文件8通過(guò)數(shù)據(jù)接口7傳給實(shí)體構(gòu)造單元2和虛擬場(chǎng)景瀏覽單元5,實(shí)體構(gòu)造單元2生成的實(shí)體既可以以VRML文件9的形式傳給VRML瀏覽器3,也可以用實(shí)體文件11的形式傳給場(chǎng)景地圖編輯單元4和虛擬場(chǎng)景瀏覽單元5,場(chǎng)景地圖編輯單元4生成的地圖文件10傳給虛擬場(chǎng)景地圖瀏覽單元5。
如圖2、圖3所示,虛擬分形場(chǎng)景三維漫游系統(tǒng)運(yùn)行工作流程是首先建立材質(zhì)庫(kù),材質(zhì)生成單元1采用分形的方法生成樹(shù)干的紋理,來(lái)模擬自然界中樹(shù)干表面粗糙、凹凸不平的特點(diǎn),生成的材質(zhì)以材質(zhì)文件8的形式保存,為樹(shù)干提供紋理圖象;進(jìn)行實(shí)體編輯構(gòu)造,由實(shí)體編輯構(gòu)造單元2應(yīng)用基于分形圖形學(xué)的自相似原理和布朗運(yùn)動(dòng)原理,生成自定義的實(shí)體對(duì)象如分形山地、分形樹(shù)及其它3D模型等。本系統(tǒng)中主要采用分形理論中的“中點(diǎn)偏移法”和Diamond-Square算法來(lái)生成分形山地,利用自然界中存在的植物和樹(shù)在生長(zhǎng)形態(tài)上都具備分形特點(diǎn),即局部和整體的自相似性,使用遞歸的方式生成分形樹(shù),并以文件形式保存。將樹(shù)干和樹(shù)葉配合適當(dāng)?shù)募y理貼圖,設(shè)定其形態(tài)參數(shù)后,就可以得到具有真實(shí)感很強(qiáng)的分形樹(shù);然后進(jìn)行場(chǎng)景空間定義,由場(chǎng)景地圖編輯單元4將各種實(shí)體如分形山地、分形樹(shù)及其它模型種植到邏輯畫(huà)布上,再加上天空、環(huán)境的設(shè)定,形成場(chǎng)景空間,目標(biāo)是建立場(chǎng)景空間的整體感覺(jué),以地圖文件10的形式保存;虛擬場(chǎng)景瀏覽由虛擬場(chǎng)景瀏覽單元5進(jìn)行,其工作過(guò)程是(1)首先是設(shè)備初始化19,主要是將圖形設(shè)備初始化;(2)場(chǎng)景初始化20,加載各種資源,進(jìn)行場(chǎng)景組織,構(gòu)成場(chǎng)景。本系統(tǒng)中的資源即各種實(shí)體對(duì)象,地形、樹(shù)木、模型以及圖片、聲音等,載入實(shí)體文件,實(shí)質(zhì)上是對(duì)文件信息的解釋并轉(zhuǎn)換為三維實(shí)體對(duì)象,或分形實(shí)體對(duì)象,即文件數(shù)據(jù)到內(nèi)存數(shù)據(jù)的轉(zhuǎn)換過(guò)程,把場(chǎng)景空間設(shè)計(jì)成四叉樹(shù),場(chǎng)景的生成過(guò)程即為四叉樹(shù)的生成過(guò)程,加載實(shí)體時(shí),根據(jù)地圖文件中實(shí)體對(duì)象的位置信息,計(jì)算出實(shí)體所在分割單元在樹(shù)中的位置,每個(gè)分割單元是一個(gè)鏈表容器,用以容納所分配的實(shí)體,某些范圍內(nèi)不存在實(shí)體,就不生成相應(yīng)的分支;(3)交互處理21,接收用戶(hù)輸入信息,并使3D模型和觀察狀態(tài)做相應(yīng)的變換,主要的輸入設(shè)備是鍵盤(pán),利用計(jì)算機(jī)圖形學(xué)的圖形變換基礎(chǔ),通過(guò)OpenGL的坐標(biāo)變換來(lái)實(shí)現(xiàn)前進(jìn)、后退、仰視、俯視、左轉(zhuǎn)和右轉(zhuǎn),關(guān)鍵技術(shù)是利用坐標(biāo)變換矩陣計(jì)算出每走一步后的觀察點(diǎn)坐標(biāo),即用當(dāng)前的坐標(biāo)分別乘以旋轉(zhuǎn)和平移矩陣而得到新坐標(biāo),當(dāng)用戶(hù)進(jìn)入虛擬瀏覽時(shí),首先確定用戶(hù)的觀察點(diǎn)位置,當(dāng)接到旋轉(zhuǎn)指令時(shí),只需先把當(dāng)前觀察點(diǎn)坐標(biāo)矩陣與旋轉(zhuǎn)矩陣相乘以得到新的變換矩陣,從而實(shí)現(xiàn)旋轉(zhuǎn),然后再與平移矩陣相乘,因?yàn)榇藭r(shí)沒(méi)有平移動(dòng)作,Tx、Ty、Tz都為零,平移變換矩陣即為單位矩陣,所以此次操作不發(fā)生效果變化,這時(shí)因?yàn)橹皇窃匦D(zhuǎn),所以觀察點(diǎn)坐標(biāo)不變,如果接到平移指令,同樣先確定觀察點(diǎn)位置,然后當(dāng)前坐標(biāo)與旋轉(zhuǎn)矩陣相乘得到新變換矩陣,以恢復(fù)先前旋轉(zhuǎn)后的場(chǎng)景,再把新的當(dāng)前變換矩陣與平移矩陣相乘實(shí)現(xiàn)平移,這樣用戶(hù)就行走了一步,此時(shí)觀察點(diǎn)已不在先前的地方,需通過(guò)下列語(yǔ)句改變坐標(biāo)Tx+=Distance*(-sin(Angle*PI/180));Tz+=Distance*cos(Angle*PI/180);其中,Distance為步距,Angle為旋轉(zhuǎn)的角度,因?yàn)橐朁c(diǎn)只能在x、z軸上移動(dòng),所以y軸的值始終不變;(4)計(jì)算新對(duì)象信息22,根據(jù)當(dāng)前觀察的位置、角度等參量,根據(jù)場(chǎng)景組織本身的特性,提取出渲染的對(duì)象并重新計(jì)算獲得各對(duì)象的狀態(tài)以處理山地地形為例,利用的是地形單元重復(fù)拼接的方法,當(dāng)視點(diǎn)變化時(shí),把視點(diǎn)坐標(biāo)到世界坐標(biāo)原點(diǎn)的偏移坐標(biāo)(x,y)對(duì)地形單元的寬度求模,即可得出視點(diǎn)所在位置的地形狀態(tài);(5)圖形渲染處理23,將經(jīng)過(guò)處理最終生成的3D對(duì)象顯示在計(jì)算機(jī)屏幕上,也是采取(4)中同樣的原理,將被渲染位置的地形數(shù)據(jù)取出,然后貼圖處理后就可以提交顯示了。當(dāng)視點(diǎn)變化時(shí),距離視點(diǎn)不同距離的物體應(yīng)該采用LOD自動(dòng)調(diào)整層次,實(shí)現(xiàn)圖形的高速渲染;(6)結(jié)束24,若選擇yes,則回收系統(tǒng)資源25,結(jié)束整個(gè)系統(tǒng)的運(yùn)行,否則系統(tǒng)回到交互處理21,繼續(xù)運(yùn)行本系統(tǒng),用戶(hù)可通過(guò)佩戴的頭盔顯示器6,以第一人稱(chēng)的視角在虛擬場(chǎng)景空間自由觀察、漫游。
權(quán)利要求
1.虛擬分形場(chǎng)景三維漫游系統(tǒng),其特征是,該系統(tǒng)包括材質(zhì)生成單元、實(shí)體構(gòu)造單元、VRML瀏覽器、場(chǎng)景地圖編輯單元和虛擬場(chǎng)景瀏覽單元,材質(zhì)生成單元生成的材質(zhì)文件通過(guò)數(shù)據(jù)接口傳遞給實(shí)體構(gòu)造單元和虛擬場(chǎng)景瀏覽單元,實(shí)體構(gòu)造單元生成的實(shí)體以VRML文件的形式傳遞給VRML瀏覽器,并以實(shí)體文件的形式通過(guò)數(shù)據(jù)接口傳遞給場(chǎng)景地圖編輯單元和虛擬場(chǎng)景瀏覽單元,場(chǎng)景地圖編輯單元生成的地圖文件通過(guò)數(shù)據(jù)接口傳遞給虛擬場(chǎng)景瀏覽單元,虛擬場(chǎng)景瀏覽單元的數(shù)據(jù)通過(guò)數(shù)據(jù)接口傳遞給頭盔顯示器。
2.如權(quán)利要求1所述虛擬分形場(chǎng)景三維漫游系統(tǒng),其特征是所述虛擬場(chǎng)景瀏覽的工作流程是(1)開(kāi)始;(2)設(shè)備初始化,主要是將圖形設(shè)備初始化;(3)場(chǎng)景初始化,加載各種資源,即各種實(shí)體對(duì)象,進(jìn)行場(chǎng)景組織,構(gòu)成場(chǎng)景;(4)交互處理,接收用戶(hù)通過(guò)輸入設(shè)備——輸入的前進(jìn)、后退、仰視、俯視、左轉(zhuǎn)和右轉(zhuǎn)信息,并使3D模型和觀察的狀態(tài)做相應(yīng)的變換;(5)計(jì)算新對(duì)象信息,根據(jù)觀察的位置、角度等參量,根據(jù)場(chǎng)景組織本身的特性,提取出渲染的對(duì)象并重新計(jì)算獲得各對(duì)象的狀態(tài);(6)圖形渲染處理,將經(jīng)過(guò)處理生成的3D對(duì)象顯示在計(jì)算機(jī)屏幕上;(7)結(jié)束,否則系統(tǒng)返回到交互處理(4);(8)回收資源。
全文摘要
虛擬分形場(chǎng)景三維漫游系統(tǒng),該系統(tǒng)包括材質(zhì)生成單元、實(shí)體構(gòu)造單元、VRML瀏覽器、場(chǎng)景地圖編輯單元和虛擬場(chǎng)景瀏覽單元,虛擬分形場(chǎng)景三維漫游系統(tǒng)的工作流程是(1)開(kāi)始;(2)設(shè)備初始化;(3)場(chǎng)景初始化;(4)交互處理,接收用戶(hù)通過(guò)輸入設(shè)備——輸入的前進(jìn)、后退、仰視、俯視、左轉(zhuǎn)和右轉(zhuǎn)信息,并使3D模型和觀察的狀態(tài)做相應(yīng)的變換;(5)計(jì)算新對(duì)象信息;(6)圖形渲染處理;(7)結(jié)束,否則系統(tǒng)返回到交互處理(4);(8)回收資源。本發(fā)明具有結(jié)構(gòu)簡(jiǎn)單、成本低、操作方便、場(chǎng)景環(huán)境生成速度快,顯示效果立體感強(qiáng)等優(yōu)點(diǎn),完善了虛擬現(xiàn)實(shí)的實(shí)體庫(kù),適用于虛擬戰(zhàn)場(chǎng)訓(xùn)練和虛擬駕車(chē)訓(xùn)練的需要。
文檔編號(hào)G06T17/00GK1556505SQ200410021018
公開(kāi)日2004年12月22日 申請(qǐng)日期2004年1月8日 優(yōu)先權(quán)日2004年1月8日
發(fā)明者王琰, 王洪源, 程磊, 王珣, 楊大為, 王 琰 申請(qǐng)人:沈陽(yáng)工業(yè)學(xué)院