李玉東,張 軍
(1.遼寧工程技術(shù)大學(xué) 測繪與地理科學(xué)學(xué)院,遼寧 阜新 123000;2.中國測繪科學(xué)研究院,北京 100039)
地形三維場景實時變換及可視化方法研究
李玉東1,2,張 軍2
(1.遼寧工程技術(shù)大學(xué) 測繪與地理科學(xué)學(xué)院,遼寧 阜新 123000;2.中國測繪科學(xué)研究院,北京 100039)
地形數(shù)據(jù)的三維可視化技術(shù)一直是3DGIS領(lǐng)域一項重要的研究技術(shù)。從地形實時渲染的需求出發(fā),提出大地坐標(biāo)系下的多分辨率地形組織模型,并對可視化過程中的坐標(biāo)空間變換方法進(jìn)行研究,提出一種適合大區(qū)域地形可視化的坐標(biāo)空間變換方案,使可視化的三維地形場景盡可能真實反映其自然的分布形態(tài),使影像紋理、地物與地形之間進(jìn)行精確的映射與匹配。
實時三維可視化;坐標(biāo)空間變換;紋理映射;地物匹配
地形的分布在三維地理空間內(nèi)呈現(xiàn)連續(xù)性,傳統(tǒng)的二維地圖將其投影至平面,不可避免地對其帶來變形甚至是在投影帶之間的斷裂。要直觀真實地反映地形場景分布狀況,需要改變對地形的二維表達(dá)方式,將其還原至三維空間,實現(xiàn)地形的三維可視化。但大尺度范圍的地形分布受地球曲率影響較大,局部的平面坐標(biāo)系很難適應(yīng)在橢球體表面進(jìn)行的地形三維可視化。選擇適合的坐標(biāo)參考系統(tǒng),并通過正確的空間變換過程將其框架下的地形實體映射至計算機(jī)顯示窗口坐標(biāo)系下,同時實現(xiàn)影像紋理與地形幾何數(shù)據(jù)的精確匹配是實現(xiàn)大區(qū)域地形三維可視化的關(guān)鍵。
1.1 大地坐標(biāo)系
地形場景在大尺度范圍內(nèi)受地球曲率影響較大,而且往往具有龐大的數(shù)據(jù)量。這些方面都決定了在三維可視化過程中不可能將其當(dāng)作一個整體進(jìn)行渲染,需要對地形進(jìn)行分塊處理,而且為了減少數(shù)據(jù)冗余提高場景渲染速度,還需要建立多層次的細(xì)節(jié)模型。組織起這些數(shù)據(jù)需要一個統(tǒng)一的坐標(biāo)系統(tǒng),并且使其能夠適應(yīng)橢球體地球表面各地形塊的無縫銜接,同時還要使選擇的坐標(biāo)系適宜在地形上的空間量算。
對于實現(xiàn)局部三維地形建模中經(jīng)常使用的平面坐標(biāo)系,無法適應(yīng)全球范圍的地形數(shù)據(jù)建模需求,使用它最直接的問題表現(xiàn)在大范圍內(nèi)的地形分布形態(tài)變形嚴(yán)重,在其上無法進(jìn)行精確的量算,如方位角、面積、長度等,所以不能用作全球地形數(shù)據(jù)組織的統(tǒng)一坐標(biāo)系來使用。
要突破局部坐標(biāo)系帶來的弊端,需改變傳統(tǒng)地圖投影帶來的局限,在地球參考橢球體上建立地理信息空間。空間直角坐標(biāo)系雖然能滿足地球橢球體表面地形建模需求,實現(xiàn)地形之間的無縫銜接,擺脫地形變形與斷裂,但它并不能直觀地標(biāo)識出參考橢球體表面地物的空間位置,尤其不能很好的反映地球表面點與點之間的距離與方位角,在生產(chǎn)生活中并沒有得到很廣泛的應(yīng)用,大多來源的數(shù)據(jù)都需要額外的坐標(biāo)系轉(zhuǎn)換過程。
大地坐標(biāo)系是一個在全球范圍內(nèi)統(tǒng)一的,能準(zhǔn)確、唯一描述地球上任一點的位置,并能動態(tài)適應(yīng)歷史的、現(xiàn)代的越來越精密的各種參考橢球體,可以作為大型 GIS和數(shù)字地球最適當(dāng)?shù)淖鴺?biāo)系[1]。而且它也是球心極坐標(biāo)系,地球上每一點都能用一個唯一的極坐標(biāo)表示,在球面上坐標(biāo)(B,L,H)呈現(xiàn)空間的連續(xù)分布性,進(jìn)行空間量算直觀性強(qiáng),數(shù)據(jù)來源面廣,比較適合組織地形數(shù)據(jù)。
由于當(dāng)前地形測繪手段的多樣化,需要使用不同參考坐標(biāo)系統(tǒng)下的地形數(shù)據(jù),這樣就需要將不同參考橢球不同參考坐標(biāo)系統(tǒng)下的地形數(shù)據(jù)統(tǒng)一到某一特定的大地坐標(biāo)系統(tǒng)下[2],論文實驗中 W GS84大地坐標(biāo)系使用的橢球體與全球范圍內(nèi)大地水準(zhǔn)面最為重合,在世界范圍內(nèi)得到廣泛應(yīng)用,很適合大范圍地形三維可視化的數(shù)據(jù)組織。對于在WGS84坐標(biāo)系下經(jīng)過投影的地形數(shù)據(jù),需要將其坐標(biāo)系統(tǒng)反算到大地坐標(biāo)系下,具體的反算公式在文獻(xiàn)2中可查閱。而不同參考橢球體下的數(shù)據(jù),需要根據(jù)參考橢球體參數(shù)將其坐標(biāo)修正到WGS84中。當(dāng)前在理論與實踐中有許多針對不同參考橢球體系下的坐標(biāo)系轉(zhuǎn)換模型與公式,其中布爾莎七參數(shù)模型使用已知坐標(biāo)點求解三個平移參量、三個旋轉(zhuǎn)參量與一個縮放參量Δx、Δy、Δz、ε、σ、τ、k的方法將空間坐標(biāo)系轉(zhuǎn)換到另一個坐標(biāo)系下,可得到較高的數(shù)據(jù)轉(zhuǎn)換精度。
1.2 地形數(shù)據(jù)存儲結(jié)構(gòu)
大尺度的地形三維場景數(shù)據(jù)量龐大,如果沒有合理的數(shù)據(jù)組織方式,對其進(jìn)行直接處理會極大地占用計算機(jī)內(nèi)存,同時造成計算機(jī)I/O巨大的吞吐量[3]。而且實時的地形可視化系統(tǒng)對計算機(jī)渲染幀速要求較高,只有合理組織全球范圍內(nèi)的三維地形數(shù)據(jù),減輕計算機(jī)圖形硬件負(fù)擔(dān)才能實現(xiàn)系統(tǒng)的實時瀏覽與交互。根據(jù)確定的坐標(biāo)系統(tǒng)建立科學(xué)合理的數(shù)據(jù)組織模型,降低渲染時計算機(jī)內(nèi)存中的冗余數(shù)據(jù)量,實現(xiàn)地形數(shù)據(jù)的分層分塊與快速檢索,可以說是全球三維地形建模工作中必不可少的一項。
數(shù)字高程模型(DEM)是當(dāng)前對地形進(jìn)行三維表達(dá)的最主要方法,從其表示方式分類,DEM主要包括規(guī)則格網(wǎng)(RSG)與不規(guī)則三角網(wǎng)(TIN)兩種。規(guī)則格網(wǎng)模型由于存儲數(shù)據(jù)量相對較小,結(jié)構(gòu)簡單,分層與分塊的難度較小,適宜作為大區(qū)域地形的表達(dá)方法與存儲方式[4]。
為了減少內(nèi)存空間的數(shù)據(jù)冗余,實現(xiàn)地形數(shù)據(jù)的高效調(diào)度,還需要對地形數(shù)據(jù)進(jìn)行分塊與分層的預(yù)處理。在對地形的橫向分塊中,使用一定間隔的等分經(jīng)緯格網(wǎng)將地形劃分為若干個地形子塊,從而有利于地形數(shù)據(jù)在大地坐標(biāo)下的快速調(diào)度,減輕大數(shù)據(jù)量對計算機(jī)內(nèi)存空間造成的負(fù)擔(dān)。在縱向的分層方面,需要對劃分出的地形塊進(jìn)行細(xì)節(jié)層次簡化,建立地形的多分辨率模型,在渲染時通過計算與視點之間的距離決定渲染的細(xì)節(jié)層次,從而減少地形數(shù)據(jù)在計算機(jī)屏幕空間的數(shù)據(jù)冗余。
按多層次細(xì)節(jié)的建立方式分類,地形LOD算法分為離散與連續(xù)LOD兩類。相對于離散LOD,連續(xù)LOD需要在場景時花費(fèi)額外的時間用于對DEM與紋理數(shù)據(jù)進(jìn)行插值,可能會造成渲染效率低下。所以,對大尺度的地形場景而言,離散LOD模型是最好的選擇??疾旄鞣N離散LOD模型的生成算法,等分四叉樹模型能與大地坐標(biāo)系實現(xiàn)較好的統(tǒng)一,在經(jīng)緯度下使用逐級四叉樹分裂的方式,能夠通過較少的計算量對地形與影像紋理進(jìn)行規(guī)則采樣。
經(jīng)過對地形進(jìn)行分層與分塊,將地形塊數(shù)據(jù)以數(shù)組的形式存儲至計算機(jī)。有必要在不同層次之間的地形塊之間建立空間索引,從而能夠視點位置實現(xiàn)地形塊數(shù)據(jù)的快速檢索。如圖1所示使用四叉樹方式將不同層次的地形數(shù)據(jù)進(jìn)行統(tǒng)一的組織,建立四叉樹狀的數(shù)據(jù)存儲結(jié)構(gòu),一方面能夠與大地坐標(biāo)系統(tǒng)實現(xiàn)統(tǒng)一,另一方面采用樹狀的分支結(jié)構(gòu),有利于進(jìn)行有效的數(shù)據(jù)裁剪,可有效地進(jìn)行視錐體裁剪,降低程序運(yùn)行的時間復(fù)雜度[5]。
圖1 地形數(shù)據(jù)存儲的金字塔模型與四叉樹結(jié)構(gòu)
除了表現(xiàn)地形起伏效果的DEM數(shù)據(jù),在構(gòu)建大尺度的地形場景時,影像紋理數(shù)據(jù)的存儲方法也是一個必須要考慮的問題。相似于對DEM數(shù)據(jù)建立LOD模型,對影像紋理數(shù)據(jù)也需要通過建立多分辨率模型來降低在紋理貼圖中存在的數(shù)據(jù)冗余。為了保持與DEM分塊管理上的一致性,對影像紋理也使用四叉樹結(jié)構(gòu)的數(shù)據(jù)存儲方式。同層節(jié)點對應(yīng)影像紋理可使用相同大小的數(shù)組進(jìn)行表示,不同層次的節(jié)點之間數(shù)據(jù)精度有所不同。四叉樹的每一個節(jié)點對應(yīng)該區(qū)域的DEM影像紋理塊,四叉樹的根節(jié)點對應(yīng)于整個地形區(qū)域,4個子節(jié)點分別為父節(jié)點的1/4區(qū)域,依次類推,每個子節(jié)點產(chǎn)生4個子節(jié)點,直到達(dá)到原始數(shù)據(jù)的最佳分辨率。
2.1 坐標(biāo)空間變換
要實現(xiàn)大尺度地形數(shù)據(jù)的可視化,地形渲染程序需要經(jīng)過投影變換將處于大地坐標(biāo)系下的地形數(shù)據(jù)變換到二維的屏幕坐標(biāo)系下,如圖2所示。也就是需要在大地坐標(biāo)系和屏幕坐標(biāo)系統(tǒng)之間建立一種空間變換模型,才能保證地形場景得到正確的渲染。大地坐標(biāo)系并非是空間直角坐標(biāo)系,大地高 H與經(jīng)緯度B、L存在尺度上的不統(tǒng)一,不能被當(dāng)作渲染過程中的世界坐標(biāo)系進(jìn)行使用。對于在大地坐標(biāo)系下組織起來的地形數(shù)據(jù),只有將大地坐標(biāo)系下的地形數(shù)據(jù)轉(zhuǎn)換到空間直角坐標(biāo)系下使用。
圖2 三維模型的顯示與繪制過程
對于使用四叉樹存儲結(jié)構(gòu)的地形數(shù)據(jù),四叉樹上的每個節(jié)點對應(yīng)于一個數(shù)據(jù)文件。整個四叉樹上的所有節(jié)點形成一個多分辨率的金字塔模型[6]。將地形數(shù)據(jù)以劃分為若干地形塊的方式組織起來以后,每個地形塊數(shù)據(jù)都記錄塊內(nèi)區(qū)域采樣點坐標(biāo),為了能夠在三維空間內(nèi)還原地形的真實分布形態(tài),需要將坐標(biāo)統(tǒng)一到空間直角坐標(biāo)系下。
由于地形數(shù)據(jù)的組織過程在大地坐標(biāo)系下進(jìn)行,在地形塊數(shù)據(jù)文件中記錄地形塊模型中頂點的大地坐標(biāo)(B,L,H)。在最終的渲染過程中將每一個頂點的大地坐標(biāo)轉(zhuǎn)換成空間直角坐標(biāo)系下的(X,Y,Z),轉(zhuǎn)換公式為
其中e是所使用地球參考橢球體的扁率,N為頂點所在卯酉圈平均半徑,具體計算公式為
場景渲染中的世界坐標(biāo)系是空間直角坐標(biāo)系,而各個地形塊是在大地坐標(biāo)系下組織起來的,在對地形塊進(jìn)行調(diào)度的過程中,需要事先把空間直角坐標(biāo)轉(zhuǎn)換到大地坐標(biāo)系下,用(B,L,H)進(jìn)行表示,然后根據(jù)建立的四叉樹索引機(jī)制找到對應(yīng)的地形塊,將其地形塊調(diào)入內(nèi)存,添加至繪制管線進(jìn)行實時渲染。
2.2 多分辨率地形紋理映射
在地形可視化過程中,除了利用光照模型使地形產(chǎn)生陰暗起伏的效果外,還需要通過貼加紋理圖像的方法來提供更豐富的信息來彌補(bǔ)幾何數(shù)據(jù)復(fù)雜描述的不足,提高地形的真實性。然而如果不能采用適當(dāng)分辨率的紋理圖像進(jìn)行映射,就會造成圖形顯示質(zhì)量的下降,降低系統(tǒng)的渲染效率[7]。
對于已經(jīng)建立起來的多分辨率紋理模型,如何確定映射到地形模型的紋理級別是實現(xiàn)紋理映射的關(guān)鍵。一般來說,分辨率的選擇與視點,地形塊位置、大小和紋理的原始分辨率都存在關(guān)系。根據(jù)紋理映射的原理,如果同一區(qū)域的兩個不同分辨率的紋理作為該區(qū)域表面的紋理屬性,該區(qū)域所對應(yīng)的顏色空間會存在一定的變化,并且該變化同樣會在投影面上產(chǎn)生一定的投影值,在一定的觀察條件下,如果該變化沒有引起視覺效果的變化,則可使用其中較低的分辨率作為該表面紋理屬性。根據(jù)視點與模型之間的關(guān)系建立影像與觀察位置之間的關(guān)系,設(shè)定一定的閾值判斷視覺效果是否發(fā)生變化,就可以動態(tài)的確定影像分辨率。
由透視投影平面與視點之間的幾何關(guān)系,參考
式中:k為紋理圖像的分辨率級別,d為紋理分塊距視點的距離,w為紋理分塊的大小,l為地形數(shù)據(jù)行間距與列間距的幾何平均值。通過對其設(shè)定閾值ρmin即可計算出對應(yīng)的紋理級別。
2.3 地物模型匹配
在三維地形可視化系統(tǒng)中,地形作為建筑物、樹木等其他地物的載體與定位依據(jù),必須與這些三維地物模型相匹配[8]。而每一個地物模型都具有自己的獨(dú)立坐標(biāo)系統(tǒng),如圖3所示 P-UVW為地物的獨(dú)立坐標(biāo)系,O-XYZ為世界坐標(biāo)系,要實現(xiàn)地物與地形的正確匹配必須將地物坐標(biāo)系轉(zhuǎn)換到世界坐標(biāo)系下,也就是將獨(dú)立坐標(biāo)系經(jīng)過一定的空間變換與世界坐標(biāo)系實現(xiàn)在方向、位置與尺度上的統(tǒng)一。文獻(xiàn)[6]中紋理誤差的計算方法,可得到
圖3 地物坐標(biāo)系與世界坐標(biāo)系
如圖3中 P(xp,yp,zp)點,經(jīng)過匹配地物坐標(biāo)系的豎直軸即圖中的 PW必須處在O P的延長線上。β角為 PW與世界坐標(biāo)系OZ軸之間的夾角,α為P點所在的子午平面與起始子午面之間的夾角。
從模型獨(dú)立坐標(biāo)到世界坐標(biāo)的轉(zhuǎn)換等價對獨(dú)立坐標(biāo)系做幾何平移、旋轉(zhuǎn)與縮放操作。變換過程如下:
1)如果存在獨(dú)立坐標(biāo)系與大地坐標(biāo)系尺度上的不統(tǒng)一,對其進(jìn)行縮放。
s為尺度縮放因子,例如厘米為地物模型的場景單位,而世界坐標(biāo)系又定義成以米為標(biāo)準(zhǔn)單位,那么就需要將模型單位從厘米轉(zhuǎn)換到米,則縮放因子s=0.01。
2)對獨(dú)立坐標(biāo)系坐標(biāo)軸進(jìn)行旋轉(zhuǎn),使其對應(yīng)到世界坐標(biāo)軸。
在 P點做與參考橢球相切的平面,作為建立地物模型的基準(zhǔn)面,并且經(jīng)過 P點存在參考橢球體大圓平面 POZ與基準(zhǔn)平面相交,將相交形成的向量 u作為獨(dú)立坐標(biāo)系中的x軸。以O(shè)P兩點連線形成的向量w作為獨(dú)立坐標(biāo)系的z軸。通過 z軸與x軸方向向量的叉乘可確定唯一向量v作為獨(dú)立坐標(biāo)系的 y軸。
通過對向量 u、v與w向量進(jìn)行歸一化處理可得到旋轉(zhuǎn)變化矩陣
3)平移模型坐標(biāo)系原點到世界坐標(biāo)系原點。
對于圖3中的 P(xp,yp,zp)點,獨(dú)立坐標(biāo)系到大地坐標(biāo)系的平移矩陣
完整的變換矩陣為
基于以上的地形數(shù)據(jù)組織方法,論文使用重慶市南川地區(qū)的DEM與高分辨率遙感影像數(shù)據(jù)建立區(qū)域內(nèi)三維地形模型。所使用數(shù)據(jù)的分布區(qū)域投影面積為10 700 km2,DEM采樣點間隔為80 m,采用對應(yīng)區(qū)域遙感影像總數(shù)據(jù)量為1.18 G。如圖4所示,通過使用四叉樹結(jié)構(gòu)對地形數(shù)據(jù)進(jìn)行多分辨率的數(shù)據(jù)組織,實現(xiàn)了區(qū)域內(nèi)三維地形場景的實時交互可視化。
圖4 多分辨三維地形格網(wǎng)
為了構(gòu)建多分辨率的紋理映射模型,首先對遙感影像進(jìn)行分塊處理,然后對每一塊影像子塊根據(jù)不同的采樣分辨率構(gòu)建紋理金字塔,根據(jù)地形與視點之間的位置選擇其所使用的紋理級別。圖5為使用多分辨率與統(tǒng)一分辨率紋理映射效果對比,圖5(a)為使用全局統(tǒng)一分辨率進(jìn)行映射的效果,隨著視點推近,紋理細(xì)節(jié)越來越不能適應(yīng)表現(xiàn)模型細(xì)節(jié)的需要,圖5(b)使用的多分辨率紋理模型充分考慮視點位置、角度信息,紋理細(xì)節(jié)能夠得到較好的體現(xiàn)。
圖5 多分辨率紋理映射效果
實驗使用WGS84參考橢球參數(shù)建立三維地球模型,將區(qū)域內(nèi)的三維地形加入到地球模型中,發(fā)現(xiàn)區(qū)域內(nèi)的地形能夠保持較真實的空間分布形態(tài),地球曲率對地形分布的影響得到較好的體現(xiàn)。通過對地表建筑物進(jìn)行空間變換,地物與地形實現(xiàn)較好的匹配,如圖6所示。
圖6 大區(qū)域地形場景與地物匹配效果圖
[1]胡鵬,吳艷蘭,楊傳勇,等.大型 GIS與數(shù)字地球的空間數(shù)學(xué)基礎(chǔ)研究[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2001,26(4):296-302.
[2]成英燕,李夕銀.適用于不同橢球的高斯坐標(biāo)正反算的實用算法[J].測繪科學(xué),2004,29(4):26-27.
[3]溫菊屏.三維地形數(shù)據(jù)存儲與調(diào)度方法研究[D].武漢:華中科技大學(xué),2004.
[4]S.Deb.Real-time Streaming and Rendering of Terrains[A],ICVGIP[C].國際圖形圖像處理學(xué)會,2006,276-288.
[5]趙文吉,胡卓瑋,陳永良,等.基于四叉樹的多分辨率地形數(shù)據(jù)三維可視化[J].中國圖形圖像學(xué)報,2007,12(8):1457-1462.
[6]黃全品.基于四叉樹和分塊調(diào)度技術(shù)的海量地形數(shù)據(jù)實時可視化研究[D].成都:成都理工大學(xué),2005.
[7]韓振東.多分辨率地形與影像紋理模型構(gòu)造與可視化的方法研究[D].阜新:遼寧工程技術(shù)大學(xué),2005.
[8]李惠,崔磊,林誠凱,等.一種超大規(guī)模地形的實時渲染方法[J].系統(tǒng)仿真學(xué)報,2004,16(4):736-739.
The real-time transformation and visualization method of large-scale terrain 3D scene
L IYu-dong1,2,Zhang Jun2
(1.School of Geomantic,Liaoning Technical University,Fuxin 123000,China;2.Chinese Academy of Surveying and Mapping,Beijing 100039,China)
Terrain 3D visualization isalwaysa hot research spot in 3DGIS,thispaper,w ith the needsof terrain’s real-time rendering,combined w ith the multip le solution organization methods of terrain model under geographical coo rdination system,made a serious research on spatial transfo rmation methods in visualization pipeline,and put fo rw ard a resolution on large scale terrain’s transfo rmation.Besides,themethods of p recise mapping and matching betw een image texture,features and terrain w as established,so that the visualized terrain 3D scene can reflect their real and natural distribution.
real-time 3D visualization;spatial transformation;texture mapping;feature distribution
TP391
A
1006-7949(2010)06-0043-05
2009-09-07
李玉東(1984-),男,碩士研究生.
[責(zé)任編輯張德福]