引 言
DTM(數(shù)字地形模型)的定義為“以數(shù)字形式存儲的地球表面上所有信息的總和,是描述地面特征空間分布的數(shù)值的集合,是地形表面形態(tài)等多種信息的一種數(shù)字表示,是描述地形特征空間分布的有序數(shù)值陣列。”數(shù)字地形模型不僅包通過航、衛(wèi)片的立體像對生成的高程數(shù)據(jù),還包括公路、建筑物、河流等存在于地形表面的地物數(shù)據(jù)。地形可視化概念自形成以來,國內(nèi)外學者就針對不同的目的對數(shù)據(jù)模型、相關算法以及理論進行不斷研究,如今依托于計算機技術已經(jīng)成功建立起多種可視化模型。1997 年,Mark 等人提出了 ROAM(實時優(yōu)化適應網(wǎng)格)算法,ROAM 算法規(guī)則是對傳統(tǒng) LOD(層次細節(jié)技術)算法的改進,優(yōu)化后的的ROAM 算法可以極大地提高地形數(shù)據(jù)的運算效率,尤其適合應用于大規(guī)模地形數(shù)據(jù),因為它可以根據(jù)視點的位置實現(xiàn)對模型細節(jié)層次的動態(tài)計算。通過近年來的研究,我國學者提出一種基于地形特征和參數(shù)的地形生成方法,研究者將地形視為一個隨機統(tǒng)計過程,并綜合應用了實用回歸、分形幾何模型等多種技術。另外, 有學者將三角網(wǎng)地形生成方法與傳統(tǒng)的分割 - 合并法融合在一起,提出了基于不規(guī)則三角網(wǎng)模型的自適應分塊思想以及相應的地形簡化過程。
1 改進的 Delaunay三角網(wǎng)法算法
數(shù)字地面模型從數(shù)據(jù)結(jié)構的角度可以分為 2 大類,即TIN(不規(guī)則三角網(wǎng)模型)和 Grid(不規(guī)則網(wǎng)格模型),TIN是針對離散點數(shù)據(jù),其具有數(shù)據(jù)冗余小的優(yōu)點,而且可以充分顧及到地形特征,能夠?qū)⒌匦胃鞣N復雜的細節(jié)特征有效反映出來,但該方法的算法比較復雜,所以在實現(xiàn)方面存在一定難度,而且存儲以及空間操作上也很不方便 ;Grid是基于規(guī)則分布數(shù)據(jù)點,該方法拓撲關系簡單,算法容易實現(xiàn),存儲以及空間操作都非常方便,但其數(shù)據(jù)冗余較大,不能有效地對地形結(jié)構和特征進行描述。TIN是地形生成算法的基礎, 本文著重討論TIN的算法。三角網(wǎng)相對于TIN 和 Grid算法比較簡單,而且圖形靈活多變,改進的Delaunay三角網(wǎng)法可以有效提高 TIN的建網(wǎng)效率,下面就對Delaunay的改進算法的相關研究。
利用數(shù)據(jù)分塊建網(wǎng)再合并技術對Delaunay 算法進行優(yōu)化處理,因為 Delaunay 算法的原則同樣適用于TIN 建網(wǎng)和合并, 所以基于該方法的建網(wǎng)效率與采樣點增長呈線性遞減分布,使得Delaunay 三角網(wǎng)的生成速度得到大幅度提高。Delaunay 改進算法處理過程如下:
2 處理原始數(shù)據(jù)(切分采樣點)
圖 1所示是采用數(shù)據(jù)切分的過程圖,圖中的“A為原始采樣點。首先對原始采樣點 A插入二叉樹根節(jié)點,并根據(jù)采樣點的地理位置置入葉子節(jié)點,如果葉子節(jié)點中采樣點的最終數(shù)量大于三角網(wǎng)采樣點的最大允許數(shù)量值,將該葉子節(jié)點作成根節(jié)點形成兩個葉子節(jié)點,此時形成了兩部分數(shù)據(jù),實現(xiàn)了區(qū)域二分,反復進行此操作模式直到數(shù)據(jù)插入完畢”。圖 1中采樣點處理完畢后一共形成 4個三角網(wǎng),各個三角網(wǎng)的合并好結(jié)合其在二叉樹中的位置進行, 其中有父節(jié)點相同時先合并。圖 1中 11由110和 111 合并而成,1由10和 11合并而成,完整的Delaunay 三角網(wǎng)最終由1 和 0 合成。
3 基本三角網(wǎng)的生成
3 三維地形可視化系統(tǒng)的實現(xiàn)
3.1 系統(tǒng)設計
地形表面網(wǎng)格模型的構建根據(jù) DEM 數(shù)字高程模型,以 實現(xiàn)三維地形可視化系統(tǒng)的設計,并利用光照、立體視覺技術 以及紋理映射等實現(xiàn)地形地貌的真實再現(xiàn)。三維地形建模的 流程如下圖 2 所示。
3.2 系統(tǒng)設計結(jié)構
本 研 究 的 基 礎 設 施 為 Windows XP 操 作 系 統(tǒng) 以 及 VC++6.0、OpenGL,基于以上系統(tǒng)和軟件進行開發(fā),三維地 形可視化系統(tǒng)用到的關鍵數(shù)據(jù)結(jié)構可根據(jù)三角形面片使用單 鏈表形式定義,代碼如下:(來自 DEM 文件的數(shù)據(jù)多通過面 向?qū)ο蠓椒ㄔO計出的 Cterrain 類來處理,這里不再詳細介紹)。
4 結(jié) 語
采用逐點插入的方法對 Delaunay 進行三角劃分是三維地 形顯示中非常重要的環(huán)節(jié),在原有 Delaunay 算法基礎上采用 采樣數(shù)據(jù)分塊建網(wǎng),然后對基本三角網(wǎng)進行合并,這一方法極 大的提高的 Delaunay 三角網(wǎng)的生產(chǎn)速度。