趙 坡, 白 林, 劉大寧, 楊永樂
(成都理工大學(xué)信息管理學(xué)院數(shù)學(xué)地質(zhì)四川省重點實驗室,四川成都610059)
隨著現(xiàn)代社會的發(fā)展,特別是城市的快速發(fā)展,使得人類對城市的依賴程度愈來愈大,在城市建設(shè)過程中,所要考慮的問題也越來越多樣化、細(xì)致化,諸如城市地下水排水系統(tǒng)、電纜鋪設(shè)管道總體布局等也越來越復(fù)雜化.如何使施工成本降低,避免不必要的施工事故,預(yù)測施工效果,已成為城市建設(shè)的重點,這就要求我們可以通過城市三維地質(zhì)建模的方法,構(gòu)造城市地下分布結(jié)構(gòu)模型.本文以城市三維地層模擬為研究點,主要介紹了基于MFC和OpenGL的有關(guān)城市地質(zhì)模擬的應(yīng)用,重點介紹了反距離權(quán)重插值原理,并用它進(jìn)行了具體實現(xiàn).
OpenGL主要應(yīng)用于三維圖形顯示,是一種開放的軟件包,具有很好的可移植性,可以十分方便地在各平臺移植[1-2].而 Visual C++ 可以與OpenGL緊密結(jié)合,再加上其良好的封裝性,可以保證算法的準(zhǔn)確性和可靠性.
MFC作為Visual C++的基本類型庫,包含了強大的基于Windows的應(yīng)用框架,并且包含了大量的窗口和事件函數(shù),日益成為了比較流行的工作平臺.在三維建模方面,OpenGL和MFC相結(jié)合已逐漸成為一種主流趨勢.
圖1 反距離權(quán)重插值流程圖
如表所示,首先就是導(dǎo)入鉆孔點的坐標(biāo)和屬性數(shù)據(jù),通過利用網(wǎng)格化確定所研究范圍,計算第個已知點數(shù)據(jù)到1點的距離,利用IDW插值算法根據(jù)數(shù)據(jù)屬性的相關(guān)性繼而估算出預(yù)測點的數(shù)據(jù)信息,在這一過程中可能有些點沒有求出,要做一個判斷,是否所有點都已求出,如果否,則重復(fù)上一步,否則輸出結(jié)果.
IDW插值算法是基于Tobler定理提出的插值方法.主要是根據(jù)空間中越靠近的事物其現(xiàn)象或?qū)傩跃驮浇咏?,由待測點周圍的各點的測量值的加權(quán)平均數(shù)進(jìn)行插值,距離待測點越近,其權(quán)系數(shù)就越大.所以,IDW在附近范圍內(nèi)插值,對其周圍空間位置有著較強的依賴性.
圖2 OpenGL顯示效果圖
圖3 地層的OpenGL 3D效果顯示圖
一般表達(dá)式為:
式中,Z0為0點的估計值;Zi為控制點i的Z值;di為控制點i與點0間的距離;n為在估算中用到的控制點數(shù)目,r為指定點的冪數(shù).
對于公式(1),取r=1進(jìn)行分析,將1/dr作為離散型的取值,則
可見加權(quán)平均就是期望,此時Z0取值的概率為加權(quán)平均的方差為:
由 piσ2(zi)= σ2得:
根據(jù)pi權(quán)與標(biāo)準(zhǔn)差σi的關(guān)系式:
標(biāo)準(zhǔn)差越小,權(quán)越大.如果標(biāo)準(zhǔn)差平方σ2的測量權(quán)p=1,則標(biāo)準(zhǔn)差平方為的測量的權(quán)pi為:
從而可以看出標(biāo)準(zhǔn)差的大小,直接由權(quán)值影響,所以決定了插值整體精度情況,對插值結(jié)果影響很大.
所選數(shù)據(jù)是某城市鉆井?dāng)?shù)據(jù),包括29個鉆井,表1是其中的部分?jǐn)?shù)據(jù),橫坐標(biāo)、縱坐標(biāo)分別是經(jīng)過處理過后的鉆井坐標(biāo),頂深1、頂深2、頂深3、頂深4、頂深5分別是根據(jù)地層巖性進(jìn)行的分層,所代表的數(shù)值是相對海平面的值,所選區(qū)域具有代表性.可以體現(xiàn)三維城市建模的實際意義.圖2是鉆孔的OpenGL顯示效果圖.
表2是原始數(shù)據(jù)經(jīng)過變換的反距離權(quán)重插值原理(IDW)插值后的部分分層網(wǎng)格點坐標(biāo)數(shù)據(jù),第一列和第二列分別代表x、y坐標(biāo),第三列各代表巖層相對海平面位置,在這里都經(jīng)過了處理,方便以后OpenGL顯示效果更加明顯.
圖3是地層的OpenGL 3D效果顯示圖,由已知數(shù)據(jù)的巖性知道該數(shù)據(jù)能分成5層,在這里分別用不同的顏色區(qū)分,可以直觀地看出鉆井的實際分層情況,該圖地層分布基本符合該區(qū)地層實際狀況,從而,通過利用反距離權(quán)重原理進(jìn)行數(shù)據(jù)處理,再利用OpenGL在三維顯示方面的優(yōu)勢,兩者的有機結(jié)合,能夠在地質(zhì)模擬方面達(dá)到滿意的三維圖形 顯示效果.
表1 鉆孔數(shù)據(jù)(單位:m)
表2 IDW插值結(jié)果(單位:m)
本文著重介紹了基于MFC和OpenGL的地質(zhì)模擬,其中詳細(xì)介紹了反距離權(quán)重插值原理,并用其對已知數(shù)據(jù)進(jìn)行了插值演算,得到了對應(yīng)的網(wǎng)格坐標(biāo),并利用OpenGL對其進(jìn)行了三維顯示,所得結(jié)果基本與實際情況符合,能直觀地反映該地區(qū)地層分布狀況,從而達(dá)到了預(yù)期效果.
[1]李軍,徐波,等譯.OpenGL Programming Guide[M].北京:機械工業(yè)出版社2010.3.
[2]候俊杰.深入淺出MFC第二版[M].武漢:華中科技大學(xué)出版社 2010.4.
[3]孫鑫,余安萍.Visual C++深入詳解[M].北京:電子工業(yè)出版社 2006.06.
[4]和平鴿工作室編著.OpenGL高級編程與可視化系統(tǒng)開發(fā)高級編程篇[M].北京:中國水利水電出版社2006.
[5]Zhu William.Relationship among Basic Concepts in Coveringbased Rough Sets[J].In - formation Sciences,2009,179:2478-2486.