蔡美峰,李角群,楊志軍
(北京科技大學(xué)土木與環(huán)境工程學(xué)院,北京100083)
對(duì)于地下礦山工程項(xiàng)目,無論是在礦山設(shè)計(jì)階段或是生產(chǎn)過程中,建立礦工程三維實(shí)體模型具有重要意義[1-3]。在設(shè)計(jì)階段,該模型往往配合礦體三維實(shí)體模型及地表三維模型,直觀的反映設(shè)計(jì)意圖和思想,完整表達(dá)各種模型的空間關(guān)系,可以及時(shí)發(fā)現(xiàn)設(shè)計(jì)中出現(xiàn)的空間位置的錯(cuò)誤。在生產(chǎn)中,準(zhǔn)確的采礦工程三維實(shí)體模型的建立,不但給管理人員帶來直觀顯示,同時(shí)也是設(shè)計(jì)人員進(jìn)行采礦設(shè)計(jì)的重要依據(jù)[4]。例如:中深孔爆破是礦山生產(chǎn)中重要環(huán)節(jié),其爆破質(zhì)量對(duì)生產(chǎn)有很大影響,爆孔過深或者過淺都直接影響爆破質(zhì)量。中深孔爆破設(shè)計(jì)的優(yōu)劣主要取決于測(cè)量的準(zhǔn)確程度。通過建立采礦工程三維實(shí)體模型,可以進(jìn)行準(zhǔn)確的切剖,可保證中深孔爆破設(shè)計(jì)質(zhì)量[5-6]。
三角剖分算法包含如下幾個(gè)基本概念:1)“網(wǎng)體”與“實(shí)體”
在ACAD中的三維“實(shí)體”,與一些礦業(yè)軟件(如 SURPAC、DA TAM INE等軟件)中的“實(shí)體”是不同的兩個(gè)含義。前者是基于ACIS建立的實(shí)體,后者是一種由大量三角面圍成的閉合體。后者在ACAD中稱呼為“網(wǎng)體”。
2)“網(wǎng)體”轉(zhuǎn)換“實(shí)體”
在ACAD中,三維“實(shí)體”可以任意切剖,也可進(jìn)行實(shí)體布爾 (交、并、差)運(yùn)算。但實(shí)體建立方法還不能滿足礦山各種模型建立的需求。“網(wǎng)體”建模比較靈活方便。但ACAD中并沒有提供“網(wǎng)體”轉(zhuǎn)換“實(shí)體”的功能。筆者經(jīng)過多年研究,找到了“網(wǎng)體”轉(zhuǎn)換“實(shí)體”的方法,實(shí)現(xiàn)了網(wǎng)體轉(zhuǎn)換實(shí)體功能。
3)帶約束的三角剖分
如何把一個(gè)散點(diǎn)集合剖分成不均勻的三角形網(wǎng)格,這就是散點(diǎn)集的三角剖分問題。目前,三角剖分以Delaunay法的應(yīng)用最為廣泛。帶約束的三角剖分,則是有各種約束邊 (如內(nèi)、外邊界線,等高線等),每個(gè)約束邊必是三角形的邊。其算法是在無約束三角網(wǎng)剖分基礎(chǔ)上,逐個(gè)插入約束邊,將與約束邊相交的三角形刪除,形成空區(qū)的邊界點(diǎn)與約束邊,重新進(jìn)行三角形剖分,確保約束邊是三角形的一條邊。
4)擴(kuò)展數(shù)據(jù)
擴(kuò)展數(shù)據(jù)是一組可以與圖元幾何內(nèi)容無關(guān)的數(shù)據(jù),在ACAD中有個(gè)很有價(jià)值的功能,幾乎所有圖元都支持?jǐn)U展數(shù)據(jù)的存儲(chǔ)。此功能解決了三個(gè)問題:第一,圖元屬性問題;第二,圖元關(guān)聯(lián)問題;第三,數(shù)據(jù)存儲(chǔ)問題。本文中主要采用該格式進(jìn)行數(shù)據(jù)存儲(chǔ)。
在設(shè)計(jì)階段,完全可以采用拉伸或放樣功能實(shí)現(xiàn)采礦工程三維實(shí)體模型建立。本文重點(diǎn)介紹礦山生產(chǎn)過程中,如何在實(shí)測(cè)基礎(chǔ)上建立巷道三維實(shí)體模型。在礦山生產(chǎn)中,巷道實(shí)測(cè)數(shù)據(jù)是通過支距法測(cè)量得到的,但由于礦山往往沒有相應(yīng)的程序模塊,實(shí)測(cè)數(shù)據(jù)沒有進(jìn)一步規(guī)范整理與計(jì)算,只是輔助技術(shù)人員將巷道平面輪廓線繪制到平面圖中,效率非常底,且丟失頂?shù)装鍢?biāo)高數(shù)據(jù),使實(shí)測(cè)巷道數(shù)據(jù)缺失,僅由巷道輪廓腰線來反映實(shí)測(cè)巷道。針對(duì)測(cè)量數(shù)據(jù)完整與測(cè)量數(shù)據(jù)缺失兩種情況,采用了兩種不同的建模方法。
對(duì)于新施工進(jìn)行測(cè)量驗(yàn)收的巷道,其實(shí)測(cè)數(shù)據(jù)是完整的。對(duì)于實(shí)測(cè)數(shù)據(jù)結(jié)果,巷道三維模型的建模的基本步驟:
1)實(shí)測(cè)數(shù)據(jù)的整理與計(jì)算:通過 EXCEL電子表格進(jìn)行測(cè)量數(shù)據(jù)的規(guī)范整理,在EXCEL中調(diào)用基于VB編寫的模塊完成自動(dòng)計(jì)算;
2)巷道的平面展圖繪制:在ACAD中調(diào)用程序讀取EXCEL中的計(jì)算結(jié)果,在平面圖中自動(dòng)進(jìn)行巷道的平面展圖繪制;
3)巷道封閉曲面的構(gòu)筑:通過巷道導(dǎo)線的選取,自動(dòng)構(gòu)筑巷道封閉曲面,建立巷道三維實(shí)體模型。
巷道測(cè)量數(shù)據(jù)的整理和計(jì)算非常重要,它不但規(guī)范了數(shù)據(jù)電子化存儲(chǔ),也提高了平面實(shí)測(cè)巷道圖繪制的效率。根據(jù)支距法的特點(diǎn),在 EXCEL中,設(shè)計(jì)了給法空表格的自動(dòng)繪制,將實(shí)測(cè)數(shù)據(jù)錄入到表格后,調(diào)用計(jì)算程序模塊完成測(cè)量的自動(dòng)計(jì)算。計(jì)算結(jié)果如表1所示。
表1 支距法測(cè)量記錄計(jì)算表
通過計(jì)算,巷道的導(dǎo)線及左右腰線的坐標(biāo)都自動(dòng)填寫在表格中,為巷道的平面圖及三維實(shí)體模型生成做準(zhǔn)備。
由于平面展圖的坐標(biāo)數(shù)據(jù)都已經(jīng)在計(jì)算表中,通過調(diào)用程序讀取表格 (表1),可以自動(dòng)進(jìn)行巷道平面展圖繪制。主要方法是:將表格中各點(diǎn)左右頂?shù)讛?shù)據(jù),以擴(kuò)展數(shù)據(jù)的形式記錄在巷道的導(dǎo)線中,為巷道的三維實(shí)體模型生成做準(zhǔn)備,巷道平面示例如圖1所示。
圖1 實(shí)測(cè)巷道平面展圖
經(jīng)分析可知,巷道封閉曲面主要由兩部分組成:一種是沿走向的側(cè)面,由兩兩邊線三角剖分組成;一種是兩個(gè)端面,分別由一條閉合線三角剖分組成。
1)兩條對(duì)應(yīng)線三角剖分示意,如圖2所示。
圖2 兩條對(duì)應(yīng)線三角剖分示意圖
邊線a與邊線b對(duì)應(yīng),三角剖分方式如圖2所示。如果線有 n個(gè)點(diǎn)組成,分別取線a的 (a1,a2)、(a2,a3) ……. (an-1,an)與線b的 b1、b2……bn-1組成三角形,再分別取線 b的 (b1,b2)、(b2,b3) ……. (bn-1,bn)與線a的a2、a3……an組成三角形,完成最終剖分。
2)一條閉合線三角剖分示意,如圖3、圖4所示。
以矩形和1/3三心拱為例。矩形最為簡(jiǎn)單,剖分2個(gè)不交差或重疊三角形即可。三心拱共剖分5個(gè)三角形,剖分位置如圖所示。三心拱圖中的1、4、7三點(diǎn)的坐標(biāo)比較容易計(jì)算出,頂?shù)撞?(巷道凈高)包括了墻高和拱高。在實(shí)際礦山應(yīng)用中,往往假定墻高不變,拱高是變化的。據(jù)此假設(shè),2、6兩點(diǎn)也很容易求得,3、5兩點(diǎn)的坐標(biāo)根據(jù)式(1)、式 (2)計(jì)算,3、5兩點(diǎn)相對(duì)于2點(diǎn)變化增量 Dx,Dy分別為:
式中L0為巷道實(shí)測(cè)凈寬。
如前所述,巷道的實(shí)測(cè)數(shù)據(jù)都已經(jīng)保存在巷道導(dǎo)線中,對(duì)于不同巷道斷面,巷道封閉曲面的構(gòu)筑也不相同。對(duì)于矩形巷道最為簡(jiǎn)單,見圖5和圖6。
圖3 矩形三角剖分示意圖
圖4 三心拱三角剖分示意圖
圖5 矩形巷道邊線算法
圖6 三心拱巷道邊線算法
由以上計(jì)算方法,矩形斷面邊線坐標(biāo)計(jì)算如下:
邊線1:x1=x0-L1;y1=y0-H2
邊線2:x2=x0-L1;y2=y0+H1
邊線3:x3=x0+L2;y3=y0-H2
邊線4:x4=x0+L2;y4=y0+H1
三心拱斷面邊線坐標(biāo)計(jì)算如下:
邊線1:x1=x0-L1;y1=y0-H2
邊線2:x2=x0-L1;y2=y0+H-H2
邊線3:x3=x0-L2+Dx;y3=y0+H-H2+Dy
邊線4:x4=x0;y4=y0+H1
邊線5:x1=x0+L2-Dx;y1=y0+H-H2+Dy
邊線6:x2=x0+L2;y2=y0+H-H2
邊線7:x7=x0+L2;y7=y0-H2
其中:H為墻高;Dx,Dy同上。
由此,可以求出巷道的各個(gè)邊線,按兩條對(duì)應(yīng)線三角剖分方法,可以完成巷道側(cè)面剖分,從而完成巷道封閉曲面的構(gòu)筑。再通過“網(wǎng)體”轉(zhuǎn)換“實(shí)體”功能模塊,即可完成巷道三維實(shí)體模型的建立。三維巷道模型見圖7。
圖7 巷道三維實(shí)體模型圖
目前,大多數(shù)生產(chǎn)礦山?jīng)]有實(shí)測(cè)數(shù)據(jù)整理和計(jì)算程序模塊。雖然有實(shí)測(cè)巷道的平面展圖,但巷道的頂?shù)装鍢?biāo)高數(shù)據(jù)還是缺失的,僅由巷道輪廓腰線來反映實(shí)測(cè)巷道。對(duì)此種情況,建模過程為:
1)對(duì)巷道輪廓腰線進(jìn)行有約束的三角剖分;
2)根據(jù)剖分的三角形自動(dòng)構(gòu)筑巷道封閉曲面;3)建立巷道三維實(shí)體模型。
首先,對(duì)平面圖中巷道輪廓腰線進(jìn)行必要的處理,內(nèi)外邊界都連接成各自的閉合線。然后,采用VB編寫的帶約束的三角剖分程序進(jìn)行三角形剖分。三角剖分結(jié)果見圖8。
圖8 巷道帶約束的三角剖分圖
對(duì)于矩形斷面巷道,巷道封閉曲面的構(gòu)筑比較簡(jiǎn)單。首先,將已剖分三角形做為底面,完全復(fù)制并相對(duì)向上移動(dòng)到一個(gè)巷道高的位置后,完成了巷道頂面的構(gòu)筑。然后,同樣對(duì)每個(gè)內(nèi)外邊界進(jìn)行復(fù)制并相對(duì)向上移動(dòng)到一個(gè)巷道高的位置后,每個(gè)邊界與其復(fù)制的邊界進(jìn)行兩條對(duì)應(yīng)邊的三角剖分,完成巷道側(cè)面的構(gòu)筑。到此完成了矩形巷道封閉曲面的構(gòu)筑。
對(duì)于三心拱 (圓弧、半圓)斷面巷道,巷道封閉曲面的構(gòu)筑比較復(fù)雜。巷道底面與側(cè)面的構(gòu)筑與矩形相同,關(guān)鍵在于頂面的形成。頂面不是簡(jiǎn)單的復(fù)制,由于有拱高的存在,需要將頂面三角形進(jìn)行二次碎分。經(jīng)過分析可以看出,頂面三角形分三種類型,如圖9所示。
第1種類型:三角形的3個(gè)頂點(diǎn),在某邊線上是連續(xù)拐點(diǎn),它通常在巷道的端頭。
第2種類型:三角形的3個(gè)頂點(diǎn)中的2個(gè)頂點(diǎn),在某邊線上是連續(xù)拐點(diǎn),它在巷道的正常段。
第3種類型:三角形的3個(gè)頂點(diǎn),對(duì)任何邊線都沒有連續(xù)性,它在巷道的交叉位置。
圖9 巷道頂面三角形碎分圖
具體碎分過程如下:首先,對(duì)所有三角形進(jìn)行分類,圖9中三角形除了類型標(biāo)注的外,都屬于第2種類型。然后,對(duì)不同類型進(jìn)行不同的碎分。
針對(duì)第1種類型:需要進(jìn)一步判斷哪個(gè)邊是端頭,方法可以使用夾角去判斷,巷道端邊與壁邊的夾角往往趨近90°。確定端邊與壁邊后,將端邊4等分,并平行于壁邊將三角形分成4個(gè)區(qū)域,其中一個(gè)是三角形,另外3個(gè)是四邊形,將四邊形再分成2個(gè)三角形,完成了1類型三角形的頂面碎分。對(duì)于端邊,計(jì)算出4等份位置在端部的高程點(diǎn),將拱碎分成3個(gè)三角形,頂部1個(gè),下面梯形再碎分成2個(gè)。至此,完成了第1種類型三角形碎分。
針對(duì)第2種類型:與第1種類型的頂面碎分相同。
針對(duì)第3種類型:將每個(gè)邊進(jìn)行4等份,如圖9所示將三角形碎分成4個(gè)三角形和3個(gè)梯形,再將每個(gè)梯形分成2個(gè)三角形。至此,完成了第3種類型三角形碎分。
需要說明的是,一般都假設(shè)墻高 H不變。如果底板標(biāo)高為 E,則頂面三角形3個(gè)頂點(diǎn)的標(biāo)高為E+H。由實(shí)測(cè)數(shù)據(jù)可知,巷道凈寬L0和凈高 H0是變化的,即拱是變化的,頂面三角形碎分中都進(jìn)行了4等份,其中,中間點(diǎn)的標(biāo)高為 E+H0,兩側(cè)點(diǎn)的標(biāo)高根據(jù)巷道斷面類型不同,參照設(shè)計(jì)手冊(cè)將有不同的計(jì)算公式。以1/3三心拱斷面為例,兩側(cè)點(diǎn)的標(biāo)高為 (E+H0)-0.695×L0+
至此,完成了巷道封閉曲面的構(gòu)筑。再通過“網(wǎng)體”轉(zhuǎn)換“實(shí)體”功能模塊,最終完成巷道三維實(shí)體模型的建立,見圖10。
圖10 巷道三維實(shí)體模型圖
礦山巷道三維實(shí)體模型的建立,對(duì)礦山生產(chǎn)設(shè)計(jì)和管理有重要意義。本文分別針對(duì)具有完整測(cè)量數(shù)據(jù)和缺少測(cè)量數(shù)據(jù)的兩種情況,建立了巷道三維實(shí)體模型。主要得出以下結(jié)論:
1)在具有完整的實(shí)測(cè)數(shù)據(jù)前提下,運(yùn)用三角剖分法將二維的網(wǎng)體轉(zhuǎn)換為巷道的三維實(shí)體,使得礦山巷道更具實(shí)用及直觀性。
2)在缺少完整實(shí)測(cè)的數(shù)據(jù)前提下,運(yùn)用帶約束的三角剖分算法,在碎分的基礎(chǔ)上構(gòu)筑了巷道的封閉曲面,通過VB編譯模塊將網(wǎng)體轉(zhuǎn)換實(shí)體,建立了巷道的三維實(shí)體圖。
3)巷道的三維實(shí)體模型的三角剖分算法,進(jìn)一步完善了現(xiàn)有礦山巷道三維實(shí)體模型的建立的手段,有很強(qiáng)的實(shí)用性,為礦山中深孔設(shè)計(jì)提供較大的方便。
[1] 楊奎奇,潭海樵.面向?qū)ο蟮南锏廊S顯示與查詢系統(tǒng)模型 [J].煤礦現(xiàn)代化,2004,58(1):35-36.
[2] 汪云甲,伏永明.礦井巷道三維自動(dòng)建模方法研究 [J].武漢大學(xué)學(xué)報(bào) (信息科學(xué)版),2006,31(12):1097-1100.
[3] 吳立新.數(shù)字地球、數(shù)字中國(guó)與數(shù)字礦區(qū) [J].礦山測(cè)量,2000(1):6-9.
[4] 孫中昶,盧秀山,田茂義.礦山巷道3維建模算法研究及實(shí)現(xiàn) [J].測(cè)繪學(xué)報(bào),2009,38(3):250-254.
[5] 王建民.三維巷道建模及其應(yīng)用研究 [D].太原:太原理工大學(xué),2005.
[6] 梁建斌,張和生.應(yīng)用OpenGL進(jìn)行巷道三維顯示研究[J].太原理工大學(xué)學(xué)報(bào),2006,37(2):142-145.