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