?

探地雷達信息三維可視化研究淺論

2022-09-07 04:06蔡仁濂
信息記錄材料 2022年7期
關鍵詞:探地插值紋理

蔡仁濂

(大連交通大學計算機和通信工程學院 遼寧 大連 116000)

0 引言

我國提出探地雷達至今,探索工作已經十余年,而如今的儀器也日益商品化,因此亟需對可視化方法進行針對性探索??梢暬夹g是把復雜的數據通過成圖形為使用者提供了一種直觀的視角并審查處理后的結果,但因為探地雷達信息量過大,其三維可視化方法還存在著程序有效性、代碼復用性等主要問題。根據中國探地雷達的特點,很有必要運用軟件開發思路和計算語言,研制出功能強大的回波數據處理系統軟件。

從可視化方面來說,國內外主要有中國地質大學(武漢)的MAGS和武漢中地數碼科技有限公司的Mapgis,兩者都是我國地理信息科學的重要代表;國外企業如Geosoft和澳洲Encom集團的Modelversion,在工程可視化領域也做得非常優秀。

本文使用了網格文檔的輸入文檔格式,在對球體建模使用VC和MATCOM混合編程語言和OpenGL的基礎上,對探水雷達科技的三維數據可視化技術開展了深入研究,對探水雷達科技數據進行三維立體圖像的描繪,并對三維立體圖作切片、旋轉、分層顯示等操作。

1 三維可視化概述

近年來,電腦圖形學上有幾個熱點,第一是電腦可視化,第二是電腦視頻,第三是虛擬現實,三維圖形顯示是其核心競爭力。二維雷達剖面的局限性較強,三維可視化可以用來解決這種局限性。一般來說,在研究人員分析相同區域的剖面時,需要從各個角度觀察各個剖面,并得出分析結果,這樣三維可視化才擁有勘測地下目標體結構的功能,這種功能的整體性較強,可以從各個角度,各個層面出發來勘測地下目標體,還可以發現沒有被二維剖面發現的細微特征[1]。如果從探地雷達的角度出發,那么識別線性才是三維可視化的特點。若在勘測地區中,存在一些線狀連續物體,例如混凝土、電纜等,那么三維可視化可以輕松地識別它們。

隨著電腦繪圖技術發展得越來越快,三維顯示技術也越來越完善,而在社會上也產生了更多的三維建模開發語言以及建模軟件。OpenGL、Direct3D等都是使用頻率較高的三維開發語言,各有各的特色,有些是針對用戶,有些是針對文件格式?,F階段,較為完整的三維圖形標準便是OpenGL,其研發公司為SGL。因為PC機性能越來越高,因此,通過OpenGL來開發性能比較高的圖像產品的難度也會降低。

2 OpenGL工作原理

2.1 Windows下的OpenGL工作原理

設備啟動接口為Device Drive Interface,即DDI,而其中的繪圖啟動接口為Graphics Drive Interface,即GDI,是一個Windows繪圖程序使用的接口,使用軟件,比如畫筆、畫刷等來描繪圖像,是工程師們最先要思考的問題。因為Windows操作系統中如果采用了OpenGL,就相當于采用了一種完整的繪圖程序模型,程序員就能夠分解三維畫面,通常情況下都是分解多邊形比如三角形等等。之后OpenGL通過光照、紋理等數據來計算,并根據計算的結果為圖片上色,在開發工具交互場景的時候,主要通過一些成熟的應用程序,例如VC、VB等。

它和圖形硬件的相關程度也不高,它的本質是應用程序接口,也就是API,其中的變量只有200個左右,而利用這200個變量所開發出的三維景象,同真實世界特別接近。OpenGL可分為以下幾大類。

(1)核心函數:目前總共有115個最常用的核心函數出現在OpenGL中,前綴都是gl,在任何的OpenGL系統中,都能夠用到這些函數。圖形繪制、場景變換、紋理映射等都可以通過核心函數來完成。因為核心函數支持使用其他函數,所以其有300多個函數可供使用。

(2)實用函數:這種函數的等級要求略高于內核函數,但由于它重新構建并封裝了核心變量,因此提供了更加簡單的功能,從而大大減輕了開發人員的負擔,共計43種前綴為glu的實際變量,所有的OpenGL平臺中都可以使用這些函數[2]。紋理映射、多邊形劃分等都是實用函數的應用范圍。

(3)輔助函數:這一類功能比較特殊,總共包括了31個前綴為aux的輔助參數,目前所有的OpenGL系統暫不能夠使用此類功能,其常用在Windows應用程序中,一般用其來管理函數窗口、繪制三維實體等。

(4)專用函數:它是由兩個函數所構成的一個函數,其前綴為wgl和Win32API函數,個數分別是6位和5位,在Windows平臺中針對較主要的平臺,一般使用它來進行opengl的應用程序。前者直接連接了Windows的OpenGL,主要功能是初始化窗口,支持通過OpenGL繪制窗口;后者負責交換緩存以及處理像素存儲格式。

三維效果的渲染:首先,OpenGL通過RGBA和索引模型來實現對模型顏色的指定。還支持配合明暗處理以及平滑明暗處理,也就是Flat和Smooth,這樣渲染出來的顏色與現實世界更加貼近。之后,它還可以提供光線以及材質,使得三維建模更為接近于真實物體。OpenGL支持4個燈光模式:放射光、環境光、鏡面光、漫反射光。而在定義材質的時候,可以依照不同性質光所表現出的反光特征來建立不同的模型表面,以完美的方式匹配光線,呈現出質量更高的渲染效果[3]。

2.2 OpenGL用于三維場景表達

經過設計之后,OpenGL的硬件,運行過程為流水線,見圖1。圖形和幾何圖形都是作為輸入輸出端,在通過光柵化以后的圖像就是最后的傳輸結果,而圖像在通過幀緩沖區以后,再通過硬件到現在的輸出設備上。如圖1所示,頂點集、多邊形集等都包含在模型中,圖片集、位圖集等也包含在圖片信息里面。進行了光柵化、片元管理等工作之后,保存到了緩存中,從這里我們可以得知,其通過以頂點或者是像素建模為主的基元,雖然簡化了操作步驟,但提高了建模難度。

經過各種變換,通過幾何基元得到的場景才可以真正地在屏幕上顯示出來,圖2是整個轉換過程。除此,OpenGL還利用光線、圖像的特征等信息來增強其真實感,這也降低了開發三維圖像的可視化難度,提高了建模能力。

2.3 三維場景和二維圖像的融合

由圖1可知,通過OpenGL技術能夠更好地融合三維圖形與二維圖像,從而創造了一個嶄新的融合機制。該融合機制一方面讀取了圖形數據以后,再通過數據加工形成合理的紋理圖像,最后再從模型上反映出來,這樣產生的三維場景的真實性會比較強,也就是紋理映射。另一方面則是支持操作幀緩存數據,也就是Framebuffer,其可以將圖像變換成一個像素塊,然后在三維空間中選取一個平面,將其融入進去。在攝像機攝取視頻圖像的時候經常會使用這種方法,AVI或者VCD都是攝取視頻圖像的文件格式,MJPEG以及MPEG是壓縮標準。

利用映射來把R二顯示在R三維上的某一物體上,這也叫作紋理映射。從物理觀點來看,雙變量紋理方程,也就是t(u,v)一般用于描述二維紋理,像是可以用長峰波函數來表示紋理函數。還有一些紋理,沒有明顯的規律性,找到合適的數學函數的難度較大,因此在表示這種二維紋理的時候,通常會使用數字化的圖像,也就是用一個矩陣T表示,該矩陣的規格為m×n×k。圖像的分辨率和取值范圍分別用m×n和2k表示。

還能夠通過使用雙線性插值法來在二維紋理圖形的區域內,構造出相似程度較高的紋理函數。我們在二維紋理中,假設一個(u,v),經過取整后,坐標點變為(U,V),那么這個坐標點紋理值可以通過雙線性插值得出,也就是(U,V)、(U+1,V)、(U,V+1)、(U+1,V+1),即:

設計出映射函數,也就是F(·),這就是紋理映射的最終目的,這樣才可以實現一一對應,特別是(u,v)與F(x,y,z)。(x,y,z)和(u,v)可以分別表示為在物體位置空間中被映射物品的方位,和為紋理范圍中的物品方位和紋理值。

3 三維插值方法

在構建出三維地質體模型之后,想要讓模型更加貼合于擬合空間實體,就必須進行插值運算。比如線行插值、樣條插值、多項式插值、克里金插值等都是使用頻率較高的插值算法。

3.1 線性插值法

線性插值方法是使用頻率最高以及最簡單的一種方法。在形成三維曲面時,通常會使用分段線性差值的方法來完成,公式(3)是這種方法的計算式,其中分段線性插值函數用ln(X)來表示,區間[Xk,Xk+1]上的所有函數都代表線性函數。通過線性差值來完成三維建模,不僅可以提高計算速度,還可以簡化計算步驟,在地質體形態中經常使用這種方法,特別是層狀地質體或者區塊地質體[4]。通過插值計算出來的單元體界面的棱角比較分明,這也是該方法的缺點。

3.2 多項式插值法

多項式插值法又稱為拉格朗n次多項插值法,其作用是用來模擬三維曲面,其公式為(5)。

其中:

多項式插值法的優勢在于當多項式處于低頻率時,模擬處理的曲面是光滑且沒有棱角的,能模擬出最真實的地質地貌特征。但如果多項式的次數過多模擬就會出現振蕩誤差與實際地質地貌存在很大的差距。

3.3 克里金插值法

克里金插值法更適用于地質地貌特征不規則的情況下,其建立的三維模式更容易生成準確的三維曲面圖。本文設計的模型有兩種,首先是球狀模型,其次是指數模型。公式見(7):

其中Zi是一組離散值(i=1,2...,n),λi由下組公式求出:

協方差函數C(h)與驗前方差C(0)以及變差函數Y(h)之間的關系為:塊金常數用來C0表示,拱高用來C1表示,變程用來a表示。

對于指數模型,塊金常數用來C0表示,拱高用來C1表示,a不再是變程,變程是3a。利用克里金插值法計算數據時,會將身處變程內的所有數據統計算一遍,這樣使得計算出來的數據與實際情況存在一定的相關性,不僅能更好地模擬地質地貌特征,還能模擬出地質的內部結構圖[5]。但由于會將變程內所有數據計算一遍,所以計算速度相對比較緩慢。

3.4 樣條插值法

若:yj=f(xj),(j=0,1,2,...,n),則3次樣條插值函數為:

其中aj(x)和βx(x)是插值基函數,由下式計算:

mj由下式計算:

其中:

與多項式插值法相比,樣條插值法能更好地克服高次多項式導致的振蕩現象,模擬出來的地質空間形態更加符合實際情況,而且計算量比克里金插值法小得多。

4 實現結果

實測某路段探地雷達原始數據的三維成像效果見圖3,對原始數據進行切片處理后的結果見圖4,從兩圖可以看出探地雷達對不同層面探測的細節區別。對原始數據切片處理后又做旋轉處理的效果見圖5,可從其中不同角度觀察測量體的特征。對原始數據進行透明顯示的效果見圖6,通過打開或關閉特定的顯示圖層可以幫助我們更加深入地探測目標體不同底層的特征。

5 結語

綜上所述,三維可視化技術在探地雷達數據分析中的實際運用,采用了Opengl繪圖,大幅精簡了原來煩瑣的計算機圖形學算法,設計簡潔,實現方便。通過混合程序進行對三維空間信息的圓滑,結合浮動水平面方法繪出三維空間圖形。整個編寫過程中采用了軟件工程開發思維并充分地引入面向對象理念,把核心的繪圖程序封裝成類,以此增強了復用度,從而改善了原有的物探編程方法,著重于計算邏輯而不是物理實現。當然,上述研究成果并不能結合數據處理算法進行圖像加強計算,是對三維空間信息可視化的探索性工作。

猜你喜歡
探地插值紋理
探地雷達法檢測路面板脫空病害的研究
滑動式Lagrange與Chebyshev插值方法對BDS精密星歷內插及其精度分析
基于超表面的探地雷達增強探測研究
全極化探地雷達系統
基于BM3D的復雜紋理區域圖像去噪
肺紋理增多是病嗎?
基于pade逼近的重心有理混合插值新方法
基于自動反相校正和峰度值比較的探地雷達回波信號去噪方法
混合重疊網格插值方法的改進及應用
TEXTURE ON TEXTURE質地上的紋理
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合