• 
    

    
    

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

      ?

      基于VRML的虛擬樓房漫游系統(tǒng)的設計與實現(xiàn)

      2019-02-12 02:16:00崔林林崔衛(wèi)麗
      中原工學院學報 2019年6期
      關鍵詞:樓房漫游建模

      崔林林, 崔衛(wèi)麗

      (1.中原工學院 機電學院, 河南 鄭州 450007; 2.中原工學院 計算機學院, 河南 鄭州 450007)

      虛擬現(xiàn)實(Virtual Reality,VR)技術,是一門融合了多媒體、圖形圖像、計算機仿真、網(wǎng)絡技術和人工智能等多個技術分支的多學科綜合技術。該技術目前在許多領域都得到了廣泛應用,尤其是在建筑仿真和實時漫游等領域的應用,開創(chuàng)了人機交互的新局面。本文利用VRML設計開發(fā)一個虛擬樓房漫游系統(tǒng),并采用改進的LOD算法提高圖像渲染速度。用戶不僅可以像在真實世界中一樣對場景進行參觀瀏覽,而且還能通過鼠標、鍵盤等輸入工具對系統(tǒng)中的虛擬實體進行交互操作。

      1 虛擬樓房漫游系統(tǒng)的整體架構(gòu)和開發(fā)流程

      為了保證虛擬樓房漫游系統(tǒng)在普通PC機上的穩(wěn)定運行,并達到漫游者與場景對象實時交互的要求,本文對系統(tǒng)進行了功能模塊的劃分。系統(tǒng)包括三維場景模型構(gòu)建、場景漫游控制及用戶與虛擬場景的實時交互等模塊。各模塊在功能上相互獨立,它們之間利用數(shù)據(jù)接口進行聯(lián)系。虛擬漫游系統(tǒng)的設計架構(gòu)如圖1所示。

      圖1 虛擬漫游系統(tǒng)的設計架構(gòu)圖

      虛擬樓房漫游系統(tǒng)的實現(xiàn),重點是構(gòu)建三維場景模型、實現(xiàn)場景漫游和人機交互功能等。系統(tǒng)具體的開發(fā)流程如下:

      (1) 利用3ds MAX和VrmlPad等模型構(gòu)造軟件,依據(jù)設定比例和樣式分別構(gòu)建場景模型,包括建筑模型、花草樹木模型等。

      (2) 利用相應的接口技術,將利用3ds MAX構(gòu)造的對象模型以.wrl格式文件導出,然后導入到VRML場景中,在VRML中進行紋理、燈光處理,使模型得到優(yōu)化,實現(xiàn)場景模型的調(diào)度及虛擬漫游。

      (3) 完成系統(tǒng)人機交互功能的程序設計,使系統(tǒng)對用戶的操作進行實時反饋,并實現(xiàn)系統(tǒng)的碰撞檢測功能。

      圖2 系統(tǒng)的具體開發(fā)流程

      2 虛擬樓房漫游系統(tǒng)的實現(xiàn)

      2.1 三維虛擬場景的創(chuàng)建

      結(jié)合3ds MAX與VRML構(gòu)建虛擬場景模型,采用3ds MAX實現(xiàn)建筑物主場景的構(gòu)建,再把建好的模型導入到VRML環(huán)境中。虛擬樓房漫游系統(tǒng)的模型構(gòu)建流程如圖3所示:

      圖3 虛擬樓房漫游系統(tǒng)的模型構(gòu)建流程

      2.1.1 實體造型建模的原則

      針對漫游系統(tǒng)中場景細節(jié)和瀏覽速度之間的矛盾,系統(tǒng)在設計過程中遵循“速度優(yōu)先,兼顧細節(jié)”的設計原則。在保證場景瀏覽速度的前提下,盡可能滿足實體細節(jié)顯示的需求。通過USE機制對Shape節(jié)點進行重復調(diào)用簡化描述文件;利用模型差值信息漸增的思想改進傳統(tǒng)LOD算法,從而減少模型數(shù)據(jù)量;對大規(guī)模的虛擬場景進行分割調(diào)度,達到實時漫游的目的;采用刪除缺省節(jié)點域值和降低浮點數(shù)值精度等方法進一步優(yōu)化文件,提高場景顯示速度。

      2.1.2 建筑模型的建立

      由于建筑模型的復雜性,不可能利用VRML編碼實現(xiàn),需結(jié)合3ds MAX和VRML實現(xiàn)場景建模。對比3ds MAX環(huán)境下的幾種基本幾何體的構(gòu)建方法,并考慮3ds MAX導出生成的虛擬文件時可能因VRML程序坐標記錄太多而導致虛擬文件過大,進而影響到虛擬漫游速度的問題,本系統(tǒng)的場景建模主要采用line命令結(jié)合extrude命令實現(xiàn)。比如樓梯模型的構(gòu)建,通過line命令構(gòu)建出輪廓,再進行拉伸調(diào)整,可以減少不必要的面數(shù)和點數(shù),進而減小虛擬文件。除了建模方法,紋理貼圖也會影響漫游速度,因為從3ds MAX導出的虛擬文件和貼圖一起,才構(gòu)成整個VR場景系統(tǒng)。系統(tǒng)利用Photoshop軟件對場景的應用圖片進行壓縮,可減少文件數(shù)據(jù)量,提高虛擬漫游執(zhí)行的速度。

      下面以虛擬樓房漫游系統(tǒng)中的樓體造型為例介紹詳細的建模過程:

      (1) 將樓房的外部輪廓平面圖導入3ds MAX,再通過旋轉(zhuǎn)、平移和反轉(zhuǎn)等工具調(diào)整到合適位置,作為建立三維場景模型的參考圖。

      (2) 參照導入的平面圖建立模型。為了保證系統(tǒng)的漫游速度和場景的繪制速度,在不損失樓體真實性的基礎上,應盡量減少描述樓房對象表面的多邊形數(shù)量。對于在視覺感受上基本處于相同平面上的墻體和窗戶等實體,應先把它們構(gòu)造在同一平面上,再采用貼圖的方式實現(xiàn)繪制,最后貼到對應的面上。創(chuàng)建好的場景模型如圖4所示。

      圖4 樓房場景模型圖

      (3) 在所建模型的基礎上,通過UV編輯器展開樓房的UV,對其進行貼圖。先用Photoshop軟件處理拍攝的紋理圖和整體圖,再利用紋理映射技術對場景進行貼圖處理。渲染后的樓房場景效果如圖5所示。

      2.1.3 花草樹木、光源等輔助物設計

      系統(tǒng)采用紋理貼圖的方式構(gòu)建花草樹木等輔助對象的場景模型。以花草模型為例,其構(gòu)建的主要過程如下:

      (1) 首先采集創(chuàng)建對象的實物照片,然后利用Photoshop軟件對其進行處理,并采集出實物照片中的花草,保存。

      (2) 采用DEF機制重定義Shape節(jié)點,并對其中的appearance域進行圖像紋理映射定義。

      (3) 定義過Shape節(jié)點以后,利用Transformer節(jié)點對其進行相應的縮放、旋轉(zhuǎn)等設置。

      以上只是實現(xiàn)一簇花草模型的構(gòu)建步驟,若需要構(gòu)建多個模型,則可以通過USE機制來完成。

      圖5 樓房場景效果圖

      2.1.4 虛擬環(huán)境的背景設計

      VRML的空間背景可以看成是一個包圍空間周圍的球狀體,以地平線分割為天空和地面兩部分。創(chuàng)建空間背景的關鍵節(jié)點是Background節(jié)點。在VRML空間的坐標系中,以z-x平面為底平面,y軸正向指向天空,y軸負向指向大地。在實際創(chuàng)建中,可以建一個大的半圓球體再貼上天空圖像來表示天空,創(chuàng)建一個大的立方體表示大地。虛擬空間中天地背景的節(jié)點結(jié)構(gòu)如圖6所示。

      圖6 空間背景結(jié)構(gòu)圖

      在VrmlPad中,可以通過改變其中的skyColor和groundColor值來改變天空和地面的顏色,改變skyAngle和groundAngle值來改變天空角和地面角。

      2.2 場景模型的組合

      在完成三維虛擬場景的建模以后,需把可瀏覽的包含細化場景的樓房內(nèi)部場景和外觀場景組合起來,才能構(gòu)成一個完整的虛擬樓房漫游場景。場景模型的連接可以通過Inline內(nèi)聯(lián)節(jié)點來完成。

      模型組合以后可進行漫游的室內(nèi)外效果如圖7、圖8 所示。

      2.3 虛擬場景的優(yōu)化

      提高場景漫游速度是系統(tǒng)優(yōu)化的主要內(nèi)容,在該虛擬樓房漫游系統(tǒng)中,主要是采用了改進的LOD算法、限定視角和可視距離以及場景分割技術等場景優(yōu)化方式。

      2.3.1 改進的LOD算法的應用

      傳統(tǒng)LOD算法是根據(jù)物體大小和距離視點的遠近,采用不同的細節(jié)描述方法。比如較小的物體或距離視點較遠的物體,可以用粗糙一些的LOD模型繪制,而較大的物體或距離視點較近的物體,使用相對精細的LOD模型繪制[4]。對于數(shù)據(jù)量較少的植物模型來說,使用傳統(tǒng)的LOD算法比較適合。但對于數(shù)據(jù)量較多的樓房,如果使用傳統(tǒng)的LOD模型方法,為樓房建立多級模型,就會造成建模工作量大、文件數(shù)據(jù)過多和圖形跳變等問題。

      針對傳統(tǒng)LOD算法的不足,本文采用模型差值信息漸增的思想對LOD算法進行改進。對每個場景只建立一個清晰的模型,根據(jù)視距從近到遠的變化,把傳統(tǒng)LOD逐級模型中信息數(shù)據(jù)的差值設置成從高到低的顯示渲染級別,而且把最低級別模型的信息數(shù)據(jù)設置成在物體視點可視范圍內(nèi)永遠可見,這樣既避免了同一場景重復建模的麻煩,也不必考慮各層次模型之間的平滑過渡和重復渲染問題[4]。

      圖7 室外效果圖

      圖8 室內(nèi)效果圖

      2.3.2 限定視角和可視距離

      為了消除渲染速度造成的用戶視覺的跳躍感和停頓感,通過在一定范圍內(nèi)限定視角和可視距離,限定場景的大小,避免出現(xiàn)過大的場景,以減少場景中顯示的模型數(shù)量,進而提高場景渲染速度。這主要是利用Viewpoint節(jié)點來實現(xiàn)。

      2.3.3 場景的分割調(diào)度

      由于樓房場景文件的數(shù)據(jù)量較大,場景比較復雜,所以采用分割調(diào)度的方法,將大場景分成多個小場景分段進行調(diào)度,進一步提高系統(tǒng)運行效率。但是,為了保證漫游效果的真實性,需要無縫連接多個空間場景。本文利用VRML提供的內(nèi)聯(lián)節(jié)點(Inline)進行子場景的自動連接。

      2.4 虛擬場景的交互控制

      VRML實現(xiàn)交互功能的基本機制如圖9所示。

      在VRML中實現(xiàn)交互功能的方式有兩種:非編程交互和編程交互。非編程交互方式是在VRML自帶節(jié)點的基礎上實現(xiàn)的,它利用傳感器節(jié)點(如接近傳感器、可視性傳感器等)來感知虛擬場景中用戶的位置和操作,通過事件傳遞機制,實現(xiàn)用戶與虛擬場景中實體對象的交互。但非編程交互方式只能實現(xiàn)簡單的交互行為,對于復雜的動態(tài)交互則很難實現(xiàn),因而需要對VRML的交互能力進行擴展。可以將Java、JavaScript與VRML相結(jié)合,采用編程方式加強VRML的動態(tài)交互能力。具體的實現(xiàn)方式有以下兩種:

      圖9 VRML基本交互機制示意圖

      (1) 腳本編程接口(SAI,Script Authoring Interface)

      Script節(jié)點的工作原理如圖10所示。

      圖10 Script節(jié)點工作原理圖

      在Script節(jié)點中,eventIn域用來接受輸入事件的響應值;eventOut域用來發(fā)送事件的響應值;Field域主要用來表示在Java或JavaScript編寫的程序腳本中用到的變量;url域的域值指向由Java或JavaScript編寫的程序腳本。

      (2) 外部編程接口(EAI,External Authoring Interface)

      EAI的工作原理如圖11所示。

      圖11 EAI的工作原理圖

      EAI是SGI公司設計的Java類包,通過定義的Java Applet通信接口可以對VRML場景進行控制,還能通過網(wǎng)絡操作和其他媒體進行交互,進而創(chuàng)建更復雜的虛擬環(huán)境系統(tǒng)。

      本系統(tǒng)中,許多交互操作都是基于SAI實現(xiàn)的。比如當鼠標移到到某個可操控對象時,通過鼠標的單擊或雙擊操作,就可以實現(xiàn)對該對象的交互操作,如抽屜的開關、門的開關等。

      3 結(jié)語

      本文對虛擬漫游系統(tǒng)涉及的關鍵技術(如虛擬場景建模技術和場景的實時交互技術等)進行了研究,實現(xiàn)了基于VRML的虛擬樓房漫游系統(tǒng)。針對場景漫游過程中存在的實時性問題,通過對傳統(tǒng)LOD模型算法的改進,提高了虛擬場景的漫游速度。但由于時間和自身能力的限制,還需要在以下方面繼續(xù)研究:

      (1) 進一步完善系統(tǒng),如系統(tǒng)只有部分樓體內(nèi)可以進行交互操作,與現(xiàn)實世界相比還存在一定差距。

      (2) 進一步研究VRML技術,擴大改進的LOD算法的應用范圍,并研究從其他方面對系統(tǒng)進行優(yōu)化的辦法。

      猜你喜歡
      樓房漫游建模
      關于舊樓房改造處理技術探究
      樓房
      聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
      “樓房”與“平房”
      基于PSS/E的風電場建模與動態(tài)分析
      電子制作(2018年17期)2018-09-28 01:56:44
      不對稱半橋變換器的建模與仿真
      霹靂漫游堂
      樓房魔方
      NASA漫游記
      三元組輻射場的建模與仿真
      唐河县| 华容县| 黄冈市| 肥东县| 曲松县| 德兴市| 内乡县| 中西区| 社旗县| 惠来县| 靖边县| 平定县| 滨海县| 古浪县| 巫山县| 锦屏县| 百色市| 绍兴市| 崇左市| 搜索| 苗栗县| 玉山县| 九龙坡区| 昌江| 阳新县| 行唐县| 宜君县| 梁平县| 金塔县| 始兴县| 临清市| 正镶白旗| 建水县| 巴彦淖尔市| 北宁市| 福泉市| 白水县| 交城县| 阜新| 东丰县| 绥中县|