郭海鵬,李薇薇
(1.長春理工大學,長春 130022;2.長春理工大學 光電信息學院,長春 130012)
隨著社會的進步和發(fā)展,單純的依靠三維建模軟件對場景的再現(xiàn)和漫游已經(jīng)不能滿足要求,人們的視點開始轉(zhuǎn)向GIS技術(shù)。ArcGIS作為GIS基礎(chǔ)軟件的領(lǐng)軍人物,功能強大、應用廣泛,專門用于海量地理信息的處理,它能夠基于校園周邊的地理信息,快速的構(gòu)建校園三維場景[1-2]。本文就基于ArcGIS創(chuàng)建三維校園時的關(guān)鍵算法、技術(shù)以及出現(xiàn)的相關(guān)問題進行探討和研究。
在虛擬校園中漫游時,須實時、準確地判斷和虛擬物體是否發(fā)生了碰撞,這樣用戶才能感覺到虛擬對象是真實存在的。本文采用基于AABB包圍盒的碰撞檢測算法進行碰撞檢測。
AABB包圍盒滿足如下條件:
lx,ux,ly,uy,lz,uz分別是該AABB包圍盒在X、Y、Z坐標軸上投影的最小和最大坐標值。該算法的基礎(chǔ)是空間直線與空間多邊形的求交,可以判斷在漫游過程中是否與地形或建筑物發(fā)生碰撞。其檢測步驟為:
(1)獲取人的視點為V。
(2)獲取沿運動方向距離為d的點M。
(3)獲取周圍要素的長方體坐標范圍。
(4)判斷VM是否和周圍要素是否相交,如果碰撞則采取規(guī)避措施。
(5)不碰撞的話,則可進行到下一個位置M。
本系統(tǒng)中的漫游控制采取移動視點的控制方式,具體分為以下三種:
1.鍵盤控制方式:用戶通過鍵盤改變攝像機的x、y、z坐標,達到旋轉(zhuǎn)、上移、下移、左移、右移等效果。同時,通過變更移動因子的大小,還可以達到加速、減速的效果。
2.自動漫游方式:采取沿路徑飛行的方式進行自動漫游。步驟為:選擇場景中路徑要素,然后設(shè)置飛行時的參數(shù)(高度、視角、速度)來控制飛行過程中的視覺效果。
3.飛行漫游方式:調(diào)用ArcGIS中的“飛行”工具,可啟動對場景的飛行漫游,然后可以用不同的速度沿任意方向移動。
ArcScene沒有提供三維空間測量的接口,無法直接獲得三維空間中的距離。這里結(jié)合GDI+中的line方法,獲取二維屏幕坐標,然后通過坐標轉(zhuǎn)換,調(diào)用SceneGraph中l(wèi)ocate方法獲得該平面坐標點對應的三維地理坐標,最后通過計算得到線段的長度信息,并在屏幕中顯示出來。屏幕坐標與空間地圖坐標基于橫向和縱向的系數(shù)相似比來進行如下轉(zhuǎn)換:
窗口的高度和寬度用H、W表示。屏幕范圍的高度和寬度用H′、W′來表示。x0、y0為地圖起點坐標。 x、y為地圖坐標。 x′、y′為屏幕坐標。
1.多邊形消減策略:多邊形的面數(shù)和段數(shù)不但會增加模型的大小,而且會增加渲染的工作量,降低實時性和響應的及時性[3]。所以,在滿足效果的基礎(chǔ)上,應盡可能的減少模型的段數(shù)和面數(shù),同時,去掉在漫游時永遠不可見的面,比如建筑物的底面。
2.背面消隱技術(shù):本系統(tǒng)是室外漫游系統(tǒng),建筑物內(nèi)部在任何時候都是不可見的,在3DS MAX中應指定背面消隱選項,跳過建筑物內(nèi)部渲染。這將減少大約一半的渲染量。
基于物體的近似夾角來判斷動態(tài)遮擋物:
3.紋理映射技術(shù):本文在模型細節(jié)的刻畫上一般采用紋理映射,在對應位置的多邊形表面鋪上紋理圖片,用來代替詳細的模型。紋理映射并不會降低場景的逼真程度,而且還可以極大的減少模型的多邊形數(shù)目和場景復雜程度,提高圖像繪制輸出時的顯示速度。對比效果如圖1所示。
圖1 科技大廈貼圖前后效果對比Fig.1 The effect comparison diagram of the before and after chartlets of technology mansion
1.模型導入損失:模型以3DS格式導入Arc-Scene后,有時會出現(xiàn)部分損失的現(xiàn)象(如鏡像部分丟失等)。原因是3DS MAX克隆模型時選擇“實例”和“參考”得到的結(jié)果在內(nèi)存中只存有一個物理地址,多個物體顯示時通過指針調(diào)用,但在導入到ArcScene中時,指針信息丟失,顯示就會出現(xiàn)問題[4]。本文通過在3DS MAX下進行復制操作,實現(xiàn)模型在ArcScene中無損顯示。對比效果如圖2所示。
圖2 參考和復制的模型導入效果對比圖Fig.2 Effect comparison diagram of the referenced and copied models
2.紋理材質(zhì)損失:模型導入ArcScene后,有時會出現(xiàn)輪廓完整但紋理材質(zhì)丟失的現(xiàn)象。為解決該問題,須將建好的3DS模型及其紋理貼圖在同一路徑下保存。
3.顏色、亮度、光度損失:模型導入ArcScene后,其顏色、亮度、燈光效果會出現(xiàn)一定程度的失真,可通過3DEffects工具進行調(diào)節(jié)。
圖3 虛擬校園制作流程圖Fig.3 Virtual campus design chart
通過在ArcGIS中定義基本的場景模型之間的空間關(guān)系,利用ArcGIS中ArcMap的編輯、分析、瀏覽功能以及ArcCatalog的數(shù)據(jù)管理功能,建立起校園的二維數(shù)字場景;再利用ArcScene的強大的三維編輯、顯示、漫游以及二次開發(fā)功能進行三維場景的構(gòu)建。該系統(tǒng)詳細設(shè)計流程如圖3所示。
圖4 程序運行效果圖Fig.4 Program diagram
本文討論解決了基于ArcGIS創(chuàng)建三維虛擬校園時的關(guān)鍵技術(shù),其中包括碰撞檢測算法、漫游算法、空間測量算法,模型的優(yōu)化,以及模型導入時的相關(guān)問題。在此基礎(chǔ)上。實現(xiàn)了長春理工大學南校區(qū)的三維漫游系統(tǒng)。基于此系統(tǒng)可以進行一些擴展,比如路徑搜獲和基于人文、地理信息的自動規(guī)劃等高級功能。
[1]鄔倫,劉瑜.地理信息系統(tǒng)——原理、方法以及應用[M].北京:科學出版社,2011.
[2]穆?lián)P,柳錦寶,張永福.基于ArcGIS Engine的三維校園系統(tǒng)的設(shè)計與實現(xiàn)[J].航空計算技術(shù),2009,39(6):100-104.
[3]黃瑩瑩,彭敏俊,許岷.基于虛擬現(xiàn)實的數(shù)字校園漫游系統(tǒng)的設(shè)計與實現(xiàn).應用科技,2005,32(5):40-42.
[4]劉有貴,閆鈺鋒,馬宏.GPRS車載定位網(wǎng)絡服務系統(tǒng)研究[J].長春理工大學學報:自然科學版,2009,22(4):86-88.
[5]王艷,聶宜民,劉愛華,等.基于ArcGIS的三維虛擬校園究的研究與探討[J].山東農(nóng)業(yè)大學學報,2009,40(2):283-286.