諸葛政樺
ZHUGE Zhenghua
隨著我國(guó)地下空間工程建設(shè)的不斷發(fā)展,工程地質(zhì)分析越來(lái)越受到工程勘察部門、設(shè)計(jì)部門的重視。工程地質(zhì)三維剖切可以清晰地展現(xiàn)地下空間的內(nèi)部細(xì)節(jié),極大地增強(qiáng)工程地質(zhì)分析的直觀性和準(zhǔn)確性,其重要性日益顯現(xiàn),因此工程地質(zhì)三維剖切的實(shí)現(xiàn)成為工程地質(zhì)研究中的熱點(diǎn)[1]。近年來(lái),國(guó)內(nèi)外許多學(xué)者對(duì)此進(jìn)行了研究,如:以似三棱柱為體元表達(dá)的三維模型的切割操作[2- 3];通過(guò)切割多層DEM生成剖面[4]。這些方法利用構(gòu)成模型的各個(gè)面與邊與剖面求交線,最后構(gòu)成整個(gè)剖面的輪廓線,形成地質(zhì)三維模型的剖切面,需要對(duì)三維模型所有的線和面進(jìn)行搜索,計(jì)算量較大[5]。本文利用標(biāo)準(zhǔn)地層層序來(lái)建立工程地質(zhì)三維模型,以剖切平面生成的虛擬鉆孔來(lái)完成工程地質(zhì)三維模型的剖切。
工程地質(zhì)三維剖切的實(shí)現(xiàn)需要對(duì)工程地質(zhì)三維模型和剖切平面求加運(yùn)算,在計(jì)算機(jī)技術(shù)迅速發(fā)展的今天,面向?qū)ο缶幊?OOP)在廣泛開(kāi)拓與應(yīng)用[6],利用OOP技術(shù)對(duì)工程地質(zhì)三維模型進(jìn)行剖切,概念明確,可以簡(jiǎn)便地實(shí)現(xiàn)集成和抽象。
地層在空間上大體呈層狀分布,且每一層都由上下層面及邊界面構(gòu)成,因此,三維地層構(gòu)造就相當(dāng)于地層層面及邊界面的構(gòu)造[7]。為了正確反映地層層面的拓?fù)潢P(guān)系、符合原始資料獲取的特點(diǎn)、很好地表達(dá)土層尖滅的現(xiàn)象,本文利用標(biāo)準(zhǔn)地層層序來(lái)構(gòu)造工程地質(zhì)三維模型,以克里金(Kriging)插值法擬合層面高程,其流程見(jiàn)圖1。
圖1 三維地質(zhì)建模流程圖
地層層序定律表明,在正常情況下,老的地層沉積在下,新的地層沉積在上。按照地層層序定律,確定研究區(qū)域地層總數(shù)及層與層之間的空間關(guān)系,通過(guò)鉆孔遇到的巖土最大層數(shù)確定研究區(qū)域地層總數(shù),相同巖性并在垂直方向位置相似的看作一層,然后根據(jù)層與層的上下關(guān)系確定地層的排序,即根據(jù)鉆孔遇到的巖土層豎向Z坐標(biāo)的上下關(guān)系,確定地層排序[8],建立研究區(qū)域標(biāo)準(zhǔn)地層層序表。
由于某些區(qū)域存在地層缺失或地層尖滅現(xiàn)象,有些標(biāo)準(zhǔn)地層可能不在鉆孔揭示的地層中,不利于地層層面的構(gòu)造。因此需要標(biāo)準(zhǔn)化鉆孔資料,即令缺失地層的厚度為0,也就是該地層層底和層面的標(biāo)高相同,且均等于上層地層層底的標(biāo)高[9],然后比對(duì)標(biāo)準(zhǔn)層序表的內(nèi)容,將該缺少地層的信息添加進(jìn)鉆孔資料中。
根據(jù)標(biāo)準(zhǔn)化后的鉆孔數(shù)據(jù),采用不規(guī)則三角網(wǎng)(Triangular Irregular Network,TIN)來(lái)描述各地層層面。依次填充相鄰地層層面TIN垂直對(duì)應(yīng)的三角形,形成實(shí)體三維模型[9]。
工程地質(zhì)三維剖切的實(shí)現(xiàn),其實(shí)質(zhì)是根據(jù)剖切平面將工程地質(zhì)三維實(shí)體分割成兩個(gè)三維實(shí)體,其關(guān)鍵是拆分被剖切的工程地質(zhì)三維實(shí)體。而工程地質(zhì)三維實(shí)體由層面TIN構(gòu)成,層面TIN又有鉆孔點(diǎn)三角化形成,因此,拆分工程地質(zhì)實(shí)體需要拆分鉆孔點(diǎn)。
由于剖切平面垂直于xoy平面,因此,可以將剖切平面和工程地質(zhì)三維模型都投影到xoy平面,將三維問(wèn)題簡(jiǎn)化為二維問(wèn)題[10]。剖切平面在xoy平面的投影為一根直線,如圖2中的粗線,工程地質(zhì)三維模型在xoy平面的投影為層面TIN,如圖2所示的細(xì)線。剖切平面將構(gòu)成層面TIN的鉆孔點(diǎn)分解成兩組,P2、P3、P4、P5、P6為一組,P1、P7、P8為一組。
圖2 地質(zhì)TIN與剖切平面投影圖
虛擬鉆孔由兩類數(shù)據(jù)構(gòu)成,一類數(shù)據(jù)是虛擬鉆孔的地理數(shù)據(jù),即虛擬鉆孔在何處虛擬生成。為準(zhǔn)確表達(dá)工程地質(zhì)三維實(shí)體在剖切平面處的地質(zhì)情況,在剖切平面與層面TIN邊相交的交點(diǎn)處虛擬出鉆孔,如圖3中的X1、X2、X3、X4、X5、X6。
圖3 虛擬鉆孔圖
圖4 虛擬鉆孔插值計(jì)算示意圖
一類為虛擬鉆孔的層面數(shù)據(jù),即虛擬鉆孔各地層層面標(biāo)高,其數(shù)值需要進(jìn)行插值計(jì)算。計(jì)算時(shí)依次序從上到下遍歷標(biāo)準(zhǔn)地層層序表的每個(gè)地層面,虛擬鉆孔在該地層面的標(biāo)高按其到所在TIN邊的兩個(gè)鉆孔的距離線性插值確定,如虛擬鉆孔X1各個(gè)地層層面標(biāo)高可按下式(1)計(jì)算[11],如圖4。
(1)
式(1)中:i=1,2,…標(biāo)準(zhǔn)地層數(shù);
Zi為虛擬鉆孔X1第i個(gè)地層面標(biāo)高,Z1i為P1鉆孔第i個(gè)地層面標(biāo)高,Z2i為P8鉆孔第i個(gè)地層面標(biāo)高;l1為X1至P1鉆孔距離,l2為X1至P8鉆孔距離,l為P1、P8鉆孔之間的距離。
在生成各部分三維地質(zhì)實(shí)體時(shí),為反映地質(zhì)剖面的實(shí)際情況,應(yīng)將剖切時(shí)生成的虛擬鉆孔分別加入到上述拆分成兩組的構(gòu)成TIN的鉆孔點(diǎn)集中,以X1→X2→X3→X4→X5→X6剖面為約束條件,進(jìn)行有約束條件的Delauney三角網(wǎng)剖分,形成TIN模型,如圖5所示。
圖5 重生成的TIN模型
按照利用標(biāo)準(zhǔn)地層層序表建立工程地質(zhì)三維模型的方法分別生成兩部分三維地質(zhì)實(shí)體,并利用OpenGL實(shí)現(xiàn)工程地質(zhì)三維剖切。
工程地質(zhì)三維剖切概念明確,對(duì)象層次清晰,具有面向?qū)ο蟮奶攸c(diǎn),易于采用面向?qū)ο蠹夹g(shù)編程實(shí)現(xiàn)。
面向?qū)ο蠹夹g(shù)首先應(yīng)對(duì)問(wèn)題抽象成類,并且建立類之間的消息機(jī)制及類之間的關(guān)系,即進(jìn)行工程地質(zhì)三維剖切的概念設(shè)計(jì)。工程地質(zhì)三維剖切的概念設(shè)計(jì)如圖6。
圖6 工程地質(zhì)剖切概念設(shè)計(jì)
根據(jù)概念模型,抽象出工程地質(zhì)三維剖切類并采用類圖表示,如圖7。
圖7 工程地質(zhì)三維剖切類圖
如上圖7,工程地質(zhì)三維剖切主要類有CSolid(工程地質(zhì)三維實(shí)體類)、CDrillHoles(鉆孔集合類)、CPlane(剖切平面類)、OpenGLSense(圖形輸出類)。CDrillHoles類由CDrillHole類組合形成,并通過(guò)CDelauney類的Trangulate方法實(shí)現(xiàn)CTins類,由CTins類實(shí)現(xiàn)CSolid類,利用CPlane類中Cut方法實(shí)現(xiàn)工程地質(zhì)三維實(shí)體的剖切。OpenGLSense類中包含CDrillHoles和CSolid這兩個(gè)圖形繪制類,CDrillHoles類向場(chǎng)景中繪制鉆孔集,CSolid類向場(chǎng)景中繪制工程地質(zhì)三維實(shí)體。這些類的部分屬性和行為見(jiàn)表1。
表1 工程地質(zhì)剖切類
下面以C#為面向?qū)ο笳Z(yǔ)言,給出上表1四個(gè)類的部分代碼實(shí)現(xiàn)。
1)CDrillHoles(鉆孔集合類)
Public class CDrillHoles
{
Private _DrillHole;∥定義鉆孔
Public void Add()
{
∥向鉆孔集中添加鉆孔
}
Public void Delete()
{
∥從鉆孔集中刪除鉆孔
}
Public int Count()
{
∥統(tǒng)計(jì)鉆孔集中的鉆孔數(shù)量
}
public CdrillHole CreateVisualDrillHole()
{
∥生成虛擬鉆孔
}
}
2)CPlane(剖切平面類)
Public class CPlane
{
Private _StartPoint;∥定義剖切平面起始位置
Private _EndPoint;∥定義剖切平面終止位置
Public CSolid Cut()
{
∥由剖切平面剖切三維實(shí)體
}
}
3)CSolid(工程地質(zhì)三維實(shí)體類)
Public class CSolid
{
Private _Tins;∥定義三維實(shí)體的上下層面Tins
Private _Surface;∥定義三維實(shí)體的邊界面
}
4)OpenGLSense(圖形輸出類)
Public class OpenGLSense
{
Private _DrillHoles;∥定義鉆孔輸出類
Private _Solid;∥定義三維實(shí)體輸出類
Public Void Initialize()
{
∥ 初始化OpenGL
}
Public Void Render()
{
∥ 設(shè)置OpenGL場(chǎng)景
}
Public Void SetCameraView()
{
∥ 設(shè)置OpenGL相機(jī)位置
}
}
應(yīng)用本文方法對(duì)杭州某區(qū)工程地質(zhì)模型進(jìn)行了三維剖切分析。研究區(qū)位于錢塘江北岸沖積區(qū),面積約為60 km2,共收集該區(qū)具有代表性的典型鉆孔46個(gè),研究區(qū)鉆孔揭示地層屬典型第四紀(jì)沉積環(huán)境,沒(méi)有斷層、褶皺等特殊構(gòu)造地質(zhì)發(fā)育,共出現(xiàn)10個(gè)大層27個(gè)亞層,如下表2。以這27個(gè)互異地層的層位關(guān)系建立該區(qū)的標(biāo)準(zhǔn)地層層序表。
根據(jù)收集到的該區(qū)鉆孔數(shù)據(jù),和前文第二節(jié)所述方法構(gòu)建該區(qū)工程地質(zhì)三維實(shí)體模型,如圖8(a),圖中所示黑線為剖切平面在xoy平面投影,即在此位置對(duì)工程地質(zhì)三維實(shí)體進(jìn)行剖切。剖切過(guò)程如前文第三節(jié)所述:①定義并生成剖面類和鉆孔集類,依剖切平面位置將鉆孔集拆分為兩部分;②定在剖切平面與層面TIN相交處生成虛擬鉆孔;③將虛擬鉆孔加入拆分的兩部分鉆孔中分別構(gòu)成鉆孔集;④定義并生成地質(zhì)實(shí)體類和圖形輸出類,分別構(gòu)建剖切后的工程地質(zhì)三維實(shí)體并在OpenGL場(chǎng)景中輸出,如圖8(b),剖面圖如圖8(c)。
表2 研究區(qū)標(biāo)準(zhǔn)地層層序表
圖8 杭州某地區(qū)工程地質(zhì)模型三維剖切分析
1)基于虛擬鉆孔的工程地質(zhì)三維剖切方法計(jì)算量少,原理簡(jiǎn)單,易于編程實(shí)現(xiàn),可以很好的滿足層狀地質(zhì)結(jié)構(gòu)實(shí)際應(yīng)用的需要。鑒于地質(zhì)現(xiàn)象的高度復(fù)雜性和多解性,該方法對(duì)地質(zhì)構(gòu)造活動(dòng)強(qiáng)烈、扭曲變形嚴(yán)重的地層三維剖面效果較差,且未考慮復(fù)雜地質(zhì)構(gòu)造,如侵入體、透鏡體、復(fù)雜褶皺等的影響與作用,因此仍需隨著實(shí)際應(yīng)用的深入而逐步完善。
2)采用面向?qū)ο蟪绦蛟O(shè)計(jì)思想進(jìn)行工程地質(zhì)三維剖切分析,其對(duì)象及類的概念接近工程實(shí)際,本文基于OOP技術(shù),對(duì)其在工程地質(zhì)三維剖切中的應(yīng)用進(jìn)行了探討和分析,并給出了具體實(shí)現(xiàn),可為工程地質(zhì)分析提供另一條途徑。
[1] 黨曾明,胡建平.基于鉆孔數(shù)據(jù)的三維地層建模軟件的實(shí)現(xiàn)[J].天津城市建設(shè)學(xué)院學(xué)報(bào),2008, 14(1): 60-63.
[2] Wulixin. Topological Relations Embodied in a Generalized Triprism(GTP)Model for a 3D Geosciences Modeling System[J]. Computers and Geosciences,2004, 30(4): 405-418.
[3] Gong Jianya,Cheng Penggen,Wang Yandong. Three-dimensional modeling and application in geological exploration engineering[J]. Computers and Geosciences,2004, 30(4): 391-404.
[4] 趙德君,王寶軍.任意地質(zhì)圖剖面生成的方法探討[J].西部探礦工程,2005(106): 91-92.
[5] 陳俊智,侯克鵬.利用OpenGL對(duì)巖體三維模型進(jìn)行切剖面方法研究[J].云南冶金,2005, 34(1): 12-15.
[6] Coad P Y E. Object-Oriented Analysis[M]. New York: Yourdon Press, 1992.
[7] 周翠英,董立國(guó),劉祚秋,等.OpenGL三維地層切割面的實(shí)現(xiàn)技術(shù)[J].土木工程學(xué)報(bào),2006, 39(2): 35-61.
[8] 張渭軍,王文科.基于鉆孔數(shù)據(jù)的地層三維建模與可視化研究[J].大地構(gòu)造與成礦學(xué),2006, 30(1): 108-113.
[9] 陶海冰,蔣蓓.基于鉆孔數(shù)據(jù)的柵格法模擬三維土層研究[J].杭州師范大學(xué)學(xué)報(bào),2008, 6(7): 469-474.
[10] 明鏡,潘懋,曲紅剛,等.基于TIN數(shù)據(jù)三維地質(zhì)體的折剖面切割算法[J]. 地理與地理信息科學(xué),2008, 24(3): 37-41.
[11] 梁師俊.巖土工程勘察數(shù)字化技術(shù)與實(shí)現(xiàn)[D]. 杭州:浙江工業(yè)大學(xué), 2006.