国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于VRML技術(shù)的地形三維可視化方法探討

2019-09-10 07:22趙迪陳哲夫莫操湖金古月
學(xué)業(yè) 2019年8期
關(guān)鍵詞:多邊形紋理分辨率

趙迪 陳哲夫 莫操湖 金古月

摘要:空間地形數(shù)據(jù)三維可視化進(jìn)程的關(guān)鍵在于適合3D模型的構(gòu)建。本文主要討論虛擬現(xiàn)實(shí)建模語(yǔ)言(VRML)在空間地形數(shù)據(jù)三維可視化進(jìn)程中的應(yīng)用,該語(yǔ)言可以基于Web使客戶端/服務(wù)器系統(tǒng)遠(yuǎn)程訪問(wèn)海量地形數(shù)據(jù)實(shí)現(xiàn)交互式3D地形渲染可視化,是一種3D虛擬世界描述的Web標(biāo)準(zhǔn),同時(shí)也闡述了VRML在構(gòu)建、訪問(wèn)和可視化3D地形模型中的優(yōu)缺點(diǎn)。

關(guān)鍵詞:VRML;3D模型;地形渲染;交互式

1引言

許多應(yīng)用程序,例如3D地理信息系統(tǒng)(GIS)、天氣模擬和飛行模擬等,其演示目標(biāo)是提供使用客戶端/服務(wù)器系統(tǒng)遠(yuǎn)程訪問(wèn)海量地形數(shù)據(jù)的實(shí)時(shí)交互式渲染[1]。對(duì)于感興趣區(qū)域,可能需要調(diào)用非常大存儲(chǔ)區(qū)域的數(shù)據(jù)集,但用戶可能僅需要完整地形模型的相對(duì)較小區(qū)域。

為了能夠?qū)崿F(xiàn)遠(yuǎn)程存儲(chǔ)的3D地形模型的實(shí)時(shí)交互式可視化,可以使用專(zhuān)用渲染服務(wù)器和定制客戶端程序的方法解決[2]。這樣,渲染由服務(wù)器程序完成,結(jié)果通過(guò)網(wǎng)絡(luò)發(fā)送,以便在客戶端的用戶界面中及時(shí)展示。但是,由于服務(wù)器需要大量的計(jì)算資源,因此只能同時(shí)服務(wù)于少量獨(dú)立客戶端,因此對(duì)于許多應(yīng)用不可行。

還有另外一種方法可以以專(zhuān)有的3D圖形格式創(chuàng)建數(shù)據(jù),用于通用3D可視化程序,例如SGI的OpenInventor或者3D GIS程序[3],可以從標(biāo)準(zhǔn)FTP或Web服務(wù)器下載數(shù)據(jù),然后將其加載到可視化程序中。在這種情況下,渲染在客戶端完成,相比服務(wù)器端渲染具有更強(qiáng)的可伸縮性。

本文主要探討后一種方法,但沒(méi)有使用專(zhuān)有的3D可視化程序和數(shù)據(jù)格式,而是研究虛擬現(xiàn)實(shí)建模語(yǔ)言(VRML)的使用。

2基礎(chǔ)知識(shí)

2.1 地形模型

通常,三維地形模型由兩個(gè)基本部分組成:數(shù)字高程模型(DEM)和衛(wèi)星圖像、航空照片等地理空間數(shù)據(jù)。DEM是特定網(wǎng)格包含的高度值矩陣。通過(guò)連接DEM中的點(diǎn),可以生成基于多邊形的地形3D。然后在DEM上覆蓋2D圖像以創(chuàng)建由紋理映射多邊形組成的3D地形模型,其中“紋理”指的是對(duì)多邊形著色的一組像素[4]。

紋理映射的替代方法是將顏色與多邊形的每個(gè)頂點(diǎn)相關(guān)聯(lián),然后使用插值算法為多邊形著色。但是,紋理映射需要減少要渲染多邊形數(shù)量的同時(shí)保持表面圖像的分辨率。為了減少足夠的計(jì)算資源以實(shí)現(xiàn)實(shí)時(shí)渲染,應(yīng)該最小化多邊形的數(shù)量以支持多分辨率地形模型表示,具體為允許渲染引擎使用較低分辨率模型。此外,對(duì)于通過(guò)廣域網(wǎng)訪問(wèn)的地形模型,客戶端可以根據(jù)實(shí)際可用帶寬選擇不同分辨率。

本文采用數(shù)據(jù)集選用西洞庭湖附近一個(gè)30米分辨率的Landsat衛(wèi)星圖像和一個(gè)100米分辨率的DEM,圖像數(shù)據(jù)約為3000x3000像素。由于地形模型覆蓋較大區(qū)域,因此通常通過(guò)平鋪將其分塊,每個(gè)小塊足夠小以便進(jìn)行可視化處理。論文主要設(shè)計(jì)了一種基于小波算法的網(wǎng)格優(yōu)化算法,以最小化模擬地形的多邊形數(shù)量。該算法通過(guò)對(duì)高度值指定誤差容限以生成不規(guī)則網(wǎng)格,然后使用Delauney三角網(wǎng)創(chuàng)建一組多邊形。由此產(chǎn)生的不規(guī)則網(wǎng)格DEM更加稀疏,地形更加平坦或者平滑,并且在海拔變化快的區(qū)域更加密集。即使在最低分辨率下,渲染圖像仍然能夠顯示地形的主要特征。

2.2 VRML

VRML是一種用于編碼3D虛擬世界的Web標(biāo)準(zhǔn),因此可以使用標(biāo)準(zhǔn)Web服務(wù)器和瀏覽器遠(yuǎn)程訪問(wèn),并使用查看器在客戶端上以交互方式進(jìn)行可視化。VRML 1.0標(biāo)準(zhǔn)提供的功能主要包括:(1)基本形狀,使用IndexedFaceSet節(jié)點(diǎn)對(duì)多邊形對(duì)象進(jìn)行編碼;(2)幾何,LOD允許在對(duì)象的描述中使用不同級(jí)別的細(xì)節(jié),其中包含多邊形對(duì)象的頂點(diǎn)集;(3)材料,可以為每個(gè)頂點(diǎn)或多邊形分配顏色,可以將紋理粘貼到多邊形;(4)網(wǎng)絡(luò)訪問(wèn)功能,能夠訪問(wèn)其他Web資源,可以將超鏈接嵌入到網(wǎng)頁(yè)中。

VRML 1.0是一種實(shí)現(xiàn)3D模型的便捷方式,但有以下幾個(gè)缺點(diǎn):(1)只允許靜態(tài)定義,與Web趨勢(shì)不相容,相比之下,Java和Javascript的成功表明了這一點(diǎn),它們?cè)试S更靈活和動(dòng)態(tài)的Web界面。此外,世界的靜態(tài)定義意味著客戶必須存儲(chǔ)和處理與整個(gè)世界大小成比例的信息,則迫使作者根據(jù)客戶端機(jī)器的有限內(nèi)存和CPU頻率,對(duì)使用者可以遍歷的VRML世界大小設(shè)置上限。另一個(gè)問(wèn)題是VRML對(duì)象浪費(fèi)大量帶寬。VRML 1.0專(zhuān)注于3D圖形對(duì)象的規(guī)范,很少考慮最小化下載的時(shí)間問(wèn)題。這兩種現(xiàn)象在表示大規(guī)模地形模型時(shí)尤其突出。

3基于VRML技術(shù)的地形3D可視化

實(shí)際使用中,VRML瀏覽器并未針對(duì)地形渲染進(jìn)行優(yōu)化,因此必須向?yàn)g覽器提供提示信息,以便在何時(shí)何地可以節(jié)省渲染工作。精心構(gòu)建的VRML文件可以增強(qiáng)瀏覽器的渲染性能,可以通過(guò)提供多個(gè)細(xì)節(jié)級(jí)別以及何時(shí)顯示詳細(xì)程度的說(shuō)明實(shí)現(xiàn)。通過(guò)設(shè)計(jì)的網(wǎng)格優(yōu)化算法,可以較快生成多分辨率地形模型。因此,基于觀看參數(shù),瀏覽器可以通過(guò)最小化地形模型渲染中多邊形的數(shù)量來(lái)提供更好幀速率的高質(zhì)量圖像。那么,地形模型必須首先拆分為可管理的切片,可以將其視為獨(dú)立的VRML世界。

地形模型的VRML文件具有許多內(nèi)置VRML功能,例如紋理貼圖和細(xì)節(jié)層次(LOD)。LOD節(jié)點(diǎn)用于通過(guò)在每個(gè)VRML世界中提供額外的內(nèi)部平鋪來(lái)進(jìn)一步細(xì)分地形模型。此平鋪的目的是允許為每個(gè)LOD節(jié)點(diǎn)提供不同分辨率的多個(gè)數(shù)據(jù)集就,這樣VRML瀏覽器就可以用適當(dāng)?shù)姆直媛输秩久總€(gè)LOD節(jié)點(diǎn),使得遠(yuǎn)離用戶的節(jié)點(diǎn)以較低的分辨率渲染,從而減少渲染工作量。使用LOD節(jié)點(diǎn)的另外一個(gè)優(yōu)點(diǎn)是啟動(dòng)瀏覽器時(shí)只需下載遠(yuǎn)端LOD節(jié)點(diǎn)的較低分辨率數(shù)據(jù),從而大大減少啟動(dòng)時(shí)間。當(dāng)用戶在地形上移動(dòng)時(shí),可以根據(jù)需要下載更高分辨率的數(shù)據(jù)。

每個(gè)LOD節(jié)點(diǎn)包含四個(gè)子節(jié)點(diǎn),用于四種不同的地形數(shù)據(jù)集分辨率。使用用戶指定的誤差容限A創(chuàng)建第一組,則分別以2A、4A和8A的容錯(cuò)級(jí)別計(jì)算第二,第三和第四數(shù)據(jù)集。然后,使用WWWInline節(jié)點(diǎn)指定每個(gè)LOD節(jié)點(diǎn)中四個(gè)分辨率級(jí)別中的每一個(gè)數(shù)據(jù),每個(gè)節(jié)點(diǎn)具有用于特定區(qū)域和分辨率的自包含VRML文件的URL。由于使用CGI程序動(dòng)態(tài)生成VRML文件,因此URL不指向VRML文件,而指向CGI程序以檢索相應(yīng)的VRML地形數(shù)據(jù),以及有關(guān)邊界大小和位置的信息,瀏覽器決定WWWInline節(jié)點(diǎn)是否可見(jiàn)。

當(dāng)VRML瀏覽器激活其中一個(gè)WWWInline節(jié)點(diǎn)時(shí),Web服務(wù)器會(huì)生成一個(gè)CGI程序,以動(dòng)態(tài)生成指定的VRML地形數(shù)據(jù),地形數(shù)據(jù)作為小波系數(shù)存儲(chǔ)在數(shù)據(jù)庫(kù)中。CGI程序通過(guò)SQL命令訪問(wèn)該數(shù)據(jù),并選擇小波系數(shù)的子集將其傳遞到重建算法以創(chuàng)建稀疏DEM,生成的多邊形信息在VRML文件中進(jìn)行重新編碼,然后生成文件被發(fā)送到客戶端進(jìn)行演示。

4實(shí)施問(wèn)題和結(jié)果

VRML瀏覽器旨在為用戶提供交互式3D環(huán)境。如果瀏覽器在高端圖形工作站上執(zhí)行,可以始終在屏幕上維護(hù)詳細(xì)且完全紋理映射的地形模型。但是,為了使瀏覽器在具有較低功能的客戶端上渲染復(fù)雜場(chǎng)景時(shí)保持其交互響應(yīng)和合理的幀速,則必須使用計(jì)算要求較低的技術(shù)來(lái)渲染圖像。例如,為了避免CPU密集型紋理映射,當(dāng)用戶在地形上移動(dòng)時(shí),瀏覽器可以通過(guò)使用Gouraud著色或者線框表示來(lái)渲染圖像。當(dāng)用戶停止移動(dòng)時(shí),將在屏幕上呈現(xiàn)完全紋理映射的模型。但是,除了紋理貼圖外,大部分VRML瀏覽器只能進(jìn)行單色而不是彩色Gouraud著色,除非在VRML文件中提供彩色頂點(diǎn),此種現(xiàn)象大約增加VRML文件大小的25%。

另一個(gè)問(wèn)題是雖然VRML規(guī)范建議使用GNU壓縮工具gzip來(lái)減少數(shù)據(jù)大小,但目前還沒(méi)有找到一個(gè)可以接受來(lái)自WWWInline節(jié)點(diǎn)內(nèi)CGI程序的壓縮VRML數(shù)據(jù)瀏覽器,這是使用CGI程序即時(shí)創(chuàng)建VRML數(shù)據(jù)的一個(gè)主要缺點(diǎn),因?yàn)樗鼤?huì)導(dǎo)致演示過(guò)程中的長(zhǎng)時(shí)間延遲。如果所有VRML地形模型數(shù)據(jù)在客戶端本地可用,并且客戶端具有良好的圖形功能,則交互式探索的渲染性能和幀速使用VRML瀏覽器的地形模型效果良好,其中的關(guān)鍵問(wèn)題是:當(dāng)必須通過(guò)網(wǎng)絡(luò)下載數(shù)據(jù)時(shí)是否具有較高的延遲和低帶寬。

在VRML 2.0版本中,使用Java腳本可以動(dòng)態(tài)下載VRML世界,從而消除VRML 1.0的靜態(tài)限制,以適應(yīng)客戶端可用的帶寬和計(jì)算能力。為了減少VRML世界中多邊形的數(shù)量,可以只使用用戶可見(jiàn)區(qū)域的圖塊以及一些其他用于緩沖的圖塊,這樣可以移除超出一定距離的分塊來(lái)模擬地球曲率的影響。為了隱藏訪問(wèn)新分塊所需的延遲,可以使用緩沖區(qū)并嘗試預(yù)測(cè)用戶的動(dòng)作。緩沖區(qū)可以降低由前向和后向運(yùn)動(dòng)引起的場(chǎng)景圖調(diào)整頻率,使得客戶端有時(shí)間在用戶飛過(guò)該區(qū)域前準(zhǔn)備新的瓦片。通過(guò)使用腳本,還可以在客戶端動(dòng)態(tài)調(diào)整VRML數(shù)據(jù),可以克服匹配不同分辨率LOD節(jié)點(diǎn)的邊緣問(wèn)題,大大減少需要下載的數(shù)據(jù)量。

5結(jié)論

通過(guò)實(shí)驗(yàn)表明,仔細(xì)選擇VRML文件的結(jié)構(gòu),包括使用傾斜技術(shù)分割大數(shù)據(jù)集、優(yōu)化不規(guī)則網(wǎng)格和紋理映射以減少多邊形的數(shù)量、LOD和WWWInline節(jié)點(diǎn)提供較低分辨率的數(shù)據(jù)集以及JPEG VRML文件的紋理貼圖和gzip壓縮的JPEG壓縮,都可以使用VRML 標(biāo)準(zhǔn)創(chuàng)建地形模型,可用于適度的地形區(qū)域。

VRML 標(biāo)準(zhǔn)還可以為更大區(qū)域的地形模型可視化提供更好的性能。使用傳感器和Java腳本可以更有效地利用可用帶寬,通過(guò)更有效的數(shù)據(jù)預(yù)讀取來(lái)隱藏延遲并動(dòng)態(tài)加載新的地形模型,以便于動(dòng)態(tài)調(diào)整數(shù)據(jù)可視化的分辨率,為用戶提供具有不同渲染幀速的網(wǎng)絡(luò)帶寬。

未來(lái)工作的另一種可能性是使用Java,特別是用于3D建模的新Java3D類(lèi)庫(kù),優(yōu)勢(shì)在于可以使開(kāi)發(fā)人員更自由地控制3D世界,而使用VRML的優(yōu)勢(shì)在于觀眾已經(jīng)存在。理想情況下,VRML和Java3D的結(jié)合將提供可以通過(guò)添加Java3D模塊實(shí)現(xiàn)用戶自由定制的查看器。

參考文獻(xiàn):

[1]王梅艷. 虛擬現(xiàn)實(shí)技術(shù)的歷史與未來(lái)[J]. 中國(guó)現(xiàn)代教育裝備, 2007, 1: 108-110.

[2]丁劍, 魏昕等. 基于Web的虛擬現(xiàn)實(shí)的研究與應(yīng)用[J]. 電腦知識(shí)與技術(shù), 2009, 5(33): 88-90.

[3]張巖. VRML技術(shù)應(yīng)用于虛擬仿真場(chǎng)景中的研究. 黑龍江科技信息, 2014, 27: 186-187.

[4]王鋼. 使用VRML技術(shù)構(gòu)建虛擬現(xiàn)代客廳. 科技信息, 2013, 22: 233-234.

作者簡(jiǎn)介:趙迪(1980- ) ,男,博士/講師,研究方向?yàn)镚IS空間數(shù)據(jù)庫(kù)、空間數(shù)據(jù)三維可視化。

通訊作者:陳哲夫,主要研究方向是地形數(shù)據(jù)可視化。

猜你喜歡
多邊形紋理分辨率
我國(guó)科學(xué)家發(fā)明計(jì)算超分辨圖像重建算法拓展熒光顯微鏡分辨率極限
肺紋理增多是病嗎?
童夢(mèng)
TEXTURE ON TEXTURE質(zhì)地上的紋理
多邊形內(nèi)外角問(wèn)題的巧解
消除凹凸紋理有妙招!
ARM發(fā)布顯示控制器新品重點(diǎn)強(qiáng)化對(duì)分辨率的支持
從600dpi到9600dpi
銳化與顯示器分辨率
有關(guān)多邊形邊數(shù)問(wèn)題的思考方法