楊文環(huán) 尹 璐 孫久運
(中國礦業(yè)大學環(huán)境與測繪學院,江蘇 徐州 221116)
礦山鉆孔數(shù)據(jù)三維地層建模與可視化
楊文環(huán) 尹 璐 孫久運
(中國礦業(yè)大學環(huán)境與測繪學院,江蘇 徐州 221116)
三維地層建模與可視化是三維地理信息系統(tǒng)(Geological Information System,GIS)在地學中的重要應用,能夠直觀展現(xiàn)各類復雜的地質(zhì)信息,對于實際地質(zhì)分析大有幫助。為此,提出了一種基于引入四面體格網(wǎng)(Tetrahedral Network,TEN)的廣義三棱柱(Generalized Tri-prism,GTP)模型的三維地層模型構(gòu)建方法。該方法使用鉆孔數(shù)據(jù)進行三維地層建模,首先以鉆孔孔口數(shù)據(jù)生成地表面不規(guī)則三角網(wǎng)(Triangulated Irregular Network,TIN),然后根據(jù)地層空間分布順序,將TIN中的三角形逐個沿鉆孔向下擴展生成GTP體元模型,建立三維地層模型并對其進行四面體剖分,最后使用可視化工具包(Visualization Toolkit,VTK)開發(fā)出三維地層可視化系統(tǒng),實現(xiàn)了地層模型的三維顯示及屬性查詢,距離、角度量測與剖切等空間分析功能。某礦山鉆孔數(shù)據(jù)試驗結(jié)果表明:基于引入TEN的GTP模型有助于解決空間實體剖切問題,將VTK應用于實現(xiàn)三維地層可視化是可行的,在可視化性能與空間分析操作等方面均有著良好的效果,對于提高礦山地質(zhì)分析、地質(zhì)建模與可視化效率有一定的參考價值。
三維地層建模 可視化 鉆孔數(shù)據(jù) 四面體格網(wǎng) 廣義三棱柱 不規(guī)則三角網(wǎng) 可視化工具包
三維地層建模與可視化是GIS在礦山地質(zhì)中的一個重要應用,將計算機技術(shù)與GIS、圖形可視化工具相結(jié)合,實現(xiàn)三維環(huán)境下的空間數(shù)據(jù)管理、地層可視化表達與空間分析是礦山3DGIS深入應用的基本要求,也是當前GIS應用研究的一個熱點[1-2]。三維地層模型能夠完整表達地質(zhì)體的邊界條件與其所包含的復雜地質(zhì)構(gòu)造,相較于傳統(tǒng)的二維表示方法更加直觀形象,且支持空間分析操作,有助于進行地質(zhì)解譯[3]。近年來,國內(nèi)外學者針對三維地層建模進行了大量研究,提出了如多層DEM法、四面體格網(wǎng)法,地層水平法、三棱柱法等建模方法[1,4-8]。多層DEM法可精確描述地層表面信息,但無法表達地質(zhì)體的內(nèi)部結(jié)構(gòu);四面體格網(wǎng)法可以描述具有復雜邊界的空間實體,拓撲關(guān)系靈活,但算法復雜,生成效率不高;地層水平法適用于構(gòu)建相對簡單規(guī)則的地層模型;三棱柱模型主要針對垂直鉆孔,難以描述更符合實際情況的傾斜鉆孔數(shù)據(jù)。
目前常用的三維可視化工具主要有Direct3D,OpenGL,OSG,VTK。Direct3D是由微軟公司開發(fā)的交互多媒體應用程序接口,具有硬件無關(guān)性,主要應用于微軟Windows平臺的游戲開發(fā)、3D動畫、3D圖形計算和虛擬現(xiàn)實。OpenGL是SGI公司開發(fā)的專業(yè)圖形程序接口,具有跨編程語言、跨平臺的優(yōu)點[9],但OpenGL發(fā)展較為遲緩,主要用于專業(yè)高端繪圖領域;OSG是使用OpenGL技術(shù)開發(fā)的基于C++平臺的應用程序接口(API),主要用于仿真、游戲、虛擬現(xiàn)實及建模等領域。VTK是美國Kitware公司推出的一個開源的免費軟件系統(tǒng),具有強大的三維圖形功能與良好的可移植性,同時支持多種數(shù)據(jù)類型。
基于以上分析,本研究采用GTP模型作為建模單元,提出了基于鉆孔數(shù)據(jù)的三維地層模型構(gòu)建方法。該方法結(jié)合地層生成順序與分布規(guī)律,實現(xiàn)地層構(gòu)造推理和自動建模,在此基礎上引入TEN,對GTP模型進行四面體剖分,并采用VTK技術(shù)實現(xiàn)GTP模型的三維可視化操作。
1.1 鉆孔數(shù)據(jù)預處理
原始鉆孔數(shù)據(jù)預處理主要包括鉆孔空間位置信息的提取和鉆孔內(nèi)地層的劃分與排序。鉆孔空間位置信息主要包括鉆孔孔口坐標以及鉆孔長度。地層的層數(shù)可根據(jù)鉆孔資料中記錄的信息分析得到,巖性相同并且上下位置相近的可視為同一地層;根據(jù)鉆孔內(nèi)所包含巖層的Z坐標值大小可以確定各地層在垂直方向上的順序;地層編號采用自地表面向下依次遞增的順序,約定鉆孔中地層分界點的編號為下層地層的編號[10]。
1.2 地表面TIN構(gòu)建
地表面TIN定義了建模區(qū)域的外邊界,確立了各鉆孔之間的基本拓撲關(guān)系,便于后續(xù)利用GTP模型進行三維建模。建模區(qū)域包含的所有地層均以地表面TIN所確立的拓撲關(guān)系為依據(jù),從而保證上、下地層間拓撲關(guān)系一致,可降低后續(xù)建模的復雜度,增強算法的穩(wěn)定性[11]。目前,TIN構(gòu)建方法有逐點插入法、三角網(wǎng)生長法、分治算法等,其中逐點插入法實現(xiàn)簡單且便于擴展,為此,采用該方法構(gòu)建TIN,步驟[12]:①提取所有孔口坐標并對其進行排序,構(gòu)成數(shù)據(jù)點集;②求出數(shù)據(jù)點集的外包盒,選定1個初始三角形,將其放入倒三角形鏈表中;③依次插入每個數(shù)據(jù)點,確定其影響范圍,合并影響三角形,得到1個凸多邊形,連接該點至多邊形各頂點,構(gòu)成新三角形,插入到三角形鏈表中,更新其拓撲關(guān)系。
1.3 三維地層建模1.3.1 構(gòu)建GTP體元模型
在地表面TIN的基礎上,根據(jù)地層空間分布順序,依次將TIN中的三角形頂點沿所在鉆孔向下擴展至鉆孔底部點,生成GTP體元模型,由地表面TIN中所有的三角形生成GTP,組成地層整體描述模型。在沿鉆孔擴展生成GTP模型的過程中應遵循地層出現(xiàn)的先后順序,保證建模結(jié)果的合理性與唯一性。構(gòu)建GTP體元模型的步驟:①在生成的地表面TIN中選擇1個三角形作為所要構(gòu)建GTP體元模型的上三角形;②根據(jù)該三角形3個頂點所在的地層編號,按地層編號順序沿各自所在鉆孔向下擴展,由3個鉆孔相應的下一節(jié)點構(gòu)成新三角形(稱下三角形);③由上、下三角形及3個鉆孔相應孔段所包含的信息構(gòu)建GTP體元模型,記錄GTP體元模型拓撲關(guān)系,并將下三角形置為上三角形;④重復②、③,直至上三角形頂點均為所在鉆孔的底部點,即1個GTP體元模型構(gòu)建完成;⑤重復①~④,直至地表面TIN中的所有三角形遍歷完畢為止。當有新的鉆孔點插入時,僅需更新地表面TIN,根據(jù)新生成的TIN,按照上述步驟,可構(gòu)建新的GTP體元模型。
1.3.2 GTP體元的四面體剖分
由于構(gòu)建的GTP體元模型的側(cè)面不一定是平面,易導致對GTP體元模型進行剖切操作時出現(xiàn)空洞,因此需要對其進行四面體剖分[13-14]。本研究采用最小頂點標示法(Smallest Vertex Identifier,SVID)對GTP體元模型進行四面體剖分。該方法的基本原理為在GTP體元模型的側(cè)面使用從最小標識號頂點出發(fā)的對角線將其剖分為TEN[15]。為方便進行四面體剖分操作,對地表面TIN中所有三角形的頂點進行了排序編號(見圖1)。圖1中,GTP體元模型中上三角形3個頂點的編號依次為P1、P2、P3,在同一鉆孔中,下三角形頂點所在地層的編號大于上三角形頂點所在地層的編號,則P1、P2、P1分別是側(cè)面P1P11P22P2、P2P22P33P3、P3P33P11P1中編號最小的頂點,根據(jù)SVID法可選用P1P22、P1P33、P2P333條對角線對GTP體元模型進行四面體剖分[16]。
圖1 GTP體元模型四面體剖分
2.1 VTK體系結(jié)構(gòu)
VTK是一種用于三維計算機圖形學、圖像處理和可視化的開源免費軟件系統(tǒng),在建筑、氣象、醫(yī)學、生物學、航天航空學等學術(shù)研究及商業(yè)領域得到廣泛應用[17]。VTK是在三維函數(shù)庫OpenGL的基礎上采用面向?qū)ο蟮姆椒ㄩ_發(fā)的,內(nèi)核采用C++語言構(gòu)建,所有函數(shù)都封裝在600多個類庫中,同時包括Tcl,Java,Python等眾多翻譯接口層,方便用戶通過各種語言使用VTK。VTK的可視化設計是基于管線流[18-21]的設計模式,將數(shù)據(jù)視為在管線內(nèi)流動的介質(zhì),在不同階段對數(shù)據(jù)采用不同的處理方式。VTK的可視化管線主要包括可視化模型和圖形模型,前者將處理后的數(shù)據(jù)生成幾何體,后者負責繪制。
2.2 三維地層模型可視化
VTK無法直接讀寫比較專業(yè)的數(shù)據(jù)格式文件,在進行可視化之前應將構(gòu)建的GTP體元模型數(shù)據(jù)轉(zhuǎn)換成VTK專用的“vtkUnstructuredGrid”數(shù)據(jù)集類型數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)換流程見圖2。
圖2 VTK數(shù)據(jù)格式轉(zhuǎn)換流程
在VTK中“vtkDataSet”是所有數(shù)據(jù)集類的父類,是一個抽象的無法實例化的類,當“vtkDataSet”作為輸入的過濾器時可接受“vtkPolyData”、“vtkImageData”、“vtkStructuredGrid”、“vtkRectilinearGrid”和“vtkUnstructuredGrid”等類型作為輸入。在實現(xiàn)可視化過程中應首先利用“vtkDataSetReader”讀入VTK格式的數(shù)據(jù);然后考慮到所使用的數(shù)據(jù)屬于非結(jié)構(gòu)化數(shù)據(jù)集,利用“vtkUnstructuredGrid”對數(shù)據(jù)進行格式轉(zhuǎn)變,獲取數(shù)據(jù)的屬性表量范圍;最后利用“vtkLookupTable”采用顏色映射的方法實現(xiàn)地質(zhì)體的三維可視化。部分關(guān)鍵代碼如下:
vtkDataSetReader reader = new vtkDataSetReader();
reader.SetFileName("1.vtk");
reader.Update();
vtkUnstructuredGrid ungrid = new vtkUnstructuredGrid();
ungrid.DeepCopy(reader.GetOutput());
double[] range = new double[2];
ungrid.GetScalarRange(range);
vtkLookupTable table = new vtkLookupTable();
vtkDataSetMapper mapper = new vtkDataSetMapper();
mapper.SetInput(ungrid);
mapper.SetScalarRange(range[0],range[1]);
mapper.SetLookupTable(table);
vtkActor actor = new vtkActor();
actor.SetMapper(mapper);
vtkRenderer ren = new vtkRenderer();
ren.AddActor(actor);
ren.SetBackground(0.2,0.2,0.5);
vtkRenderWindow renWin = this.vtkFormsWindowControl1.GetRenderWindow();
renWin.AddRenderer(ren).
2.3 空間分析功能
(1)地層交互式屬性查詢。屬性查詢是三維地層可視化中常用的操作,基于VTK的三維地層可視化系統(tǒng)具有良好的交互式查詢功能。當用戶需要獲取某處或某一地層的相關(guān)屬性信息時,僅需使用鼠標選取指定對象或輸入查詢點位即可。
(2)地層交互式距離、角度測量。在交互式三維測量中,用戶可任意選取三維地層模型中的感興趣點,快速獲取所選任意2點所在的直線與其相交的任意一條直線的夾角。在基于VTK的三維地層可視化系統(tǒng)中應首先定義距離測量和角度測量的回調(diào)函數(shù);然后通過“AddObserver”方法為“vtkLineWidget”添加相應的觀察者(Observer)用來觀察“InteractionEvent”事件,當該事件發(fā)生時便調(diào)用相應的回調(diào)函數(shù)得到并顯示結(jié)果。
(3)地層交互式三維剖切。在基于VTK的三維地層可視化系統(tǒng)中利用VTK所提供的“vtkImplicitPlaneWidget”類與“vtkCutter”類實現(xiàn)對模型的交互式三維剖切,前者用于選擇切割平面,后者負責實現(xiàn)三維剖切。首先定義地層剖切的回調(diào)函數(shù);然后通過“AddObserver方法”為“vtkImplicitPlaneWidget”添加相應的觀察者(Observer),用于觀察“InteractionEvent”事件,當該事件發(fā)生時便調(diào)用回調(diào)函數(shù)進行響應,從而獲取當前狀態(tài)下的切割平面,并將其傳遞給“vtkCutter”對象進行三維剖切。
基于VTK可視化技術(shù),以Microsoft Visual Studio 2010為開發(fā)平臺開發(fā)了三維地層可視化系統(tǒng),選取兗州某礦區(qū)鉆孔資料進行試驗。研究區(qū)域面積約37 km2,區(qū)內(nèi)共有33個具有代表性的典型鉆孔,試驗中選取的鉆孔深65~90 m,平均深72.27 m,區(qū)內(nèi)鉆孔共出現(xiàn)3個互異地層,無斷層,褶皺等特殊地質(zhì)構(gòu)造發(fā)育。相關(guān)試驗結(jié)果如圖3~圖5所示。
圖3 三維地層模型可視化效果
圖4 三維地層模型距離、角度測量效果
由圖3~圖5可知:本研究開發(fā)的三維地層可視化系統(tǒng),建模速度快,可視化效果好,便于進行空間分析,直觀展現(xiàn)了地質(zhì)單元的空間展布及其相互關(guān)系,對于礦山地質(zhì)分析、礦體儲量估算與礦山生產(chǎn)可視化管理具有一定參考價值。
圖5 三維地層模型切割效果圖
針對離散的礦山鉆孔數(shù)據(jù),使用引入TEN的GTP模型進行三維地層建模,基于VTK技術(shù)開發(fā)了地層三維可視化系統(tǒng),實現(xiàn)了地層模型的三維可視化顯示與分析。試驗結(jié)果表明,本研究提出的三維地層建模與可視化思路具有一定的可行性,進一步完善復雜地質(zhì)構(gòu)造(如侵入體、透鏡體、復雜褶皺及多種地質(zhì)構(gòu)造混合)的地層建模方法,優(yōu)化可視化算法,加快數(shù)據(jù)顯示與交互處理速度,擴展空間分析功能是下一步研究重點。
[1] Lemon A M,Normanl J.Building solid models from boreholes and user-defined cross-section[J].Computers and Geosciences,2003,29(5):547-555.
[2] 王雷鳴,尹升華.GIS在礦業(yè)系統(tǒng)中的應用現(xiàn)狀與展望[J].金屬礦山,2015(5):122-128. Wang Leiming,Yin Shenghua.Application Status and Prospect of GIS in Mining System[J].Metal Mine,2015(5):122-128.
[3] 陳學習,吳立新,車德福,等.基于鉆孔數(shù)據(jù)的含斷層地質(zhì)體三維建模方法[J].煤田地質(zhì)與勘探,2005(5):8-11. Chen Xuexi,Wu Lixin,Che Defu,et al.3D modeling method of geological bodies including faults based on borehole data[J].Coal Geology & Exploration,2005(5):8-11.
[4] 朱發(fā)華,賀懷建.基于地質(zhì)雷達和鉆孔數(shù)據(jù)的三維地層建模[J].巖土力學,2009(S):267-280. Zhu Fahua,He Huaijian.3D stratum modeling based on ground penetrating radar and borehole data[J].Rock and Soil Mechanics,2009(S):267-280.
[5] 賀宇昊,陳 勇,苗作華,等.礦體三維建模方法研究進展[J].金屬礦山,2015(3):1-7. He Yuhao,Chen Yong,Miao Zuohua,et al.Research advances in three-dimensional orebody modeling methods[J].Metal Mine,2015(3):1-7.
[6] 張渭軍.基于四面體的地質(zhì)體可視化與剖分研究[J].金屬礦山,2011(1):85-88. Zhang Weijun.Visualization and incision of geobody based on tetrahedral network[J].Metal Mine,2011(1):85-88.
[7] 孟憲海,李吉剛,鄒靖晗,等.三維地質(zhì)體類三棱柱網(wǎng)格建模方法研究[J].計算機工程與應用,2010(4):142-144. Meng Xianhai,Li Jigang,Zou Jinghan,et al.3D geological modeling method using analogical tri-prism grid[J].Computer Engineering and Applications,2010(4):142-144.
[8] 魏永勇.多層DEM建模及其在地層可視化中的應用研究[J].工礦自動化,2011(1):9-13. Wei Yongyong.Research of multi-layer DEM modeling and its application in stratum visualization[J].Industry and Mine Autoumation,2011(1):9-13.
[9] 馬 巖,胡 君.加工仿真中OpenGL程序設計的優(yōu)化探討 [J].微計算機信息,2008(7):212-214. Ma Yan,Hu Jun.Research of optimization based on OpenGL program design in processing simulation[J].Control & Automation,2008(7):212-214.
[10] 車德福,陳學習,吳立新,等.基于廣義三棱柱體元的三維地層建模方法[J].遼寧工程技術(shù)大學學報:自然科學版,2006(1):36-38. Che Defu,Chen Xuexi,Wu Lixin,et al.3D stratum modeling method based on generalized tri-prism volume element[J].Journal of Liaoning Technical University:Natural Science Edition,2006(1):36-38.
[11] 朱良峰,吳信才,劉修國,等.基于鉆孔數(shù)據(jù)的三維地層模型的構(gòu)建[J].地理與地理信息科學,2004(3):26-30. Zhu Liangfeng,Wu Xincai,Liu Xiuguo,et al.Reconstruction of 3D strata model based on borehole data[J].Geography and Geo-information Science,2004(3):26-30.
[12] 武曉波,王世新,肖春生.Delaunay三角網(wǎng)的生成算法研究 [J].測繪學報,1999(1):30-37. Wu Xiaobo,Wang Shixin,Xiao Chunsheng.Study of delaunay triangulation creation[J].Acta Geodaetica et Cartographica Sinica,1999(1):30-37.
[13] 馬鈞霆,陳鎖忠,何志超,等.面向GTP的三維地質(zhì)模型空間剖切方法與應用[J].地球信息科學學報,2015(2):153-159. Ma Junting,Chen Suozhong,He Zhichao,et al.Research on cutting method for 3D geological model based on GTP[J].Journal of Geo-information Science,2015(2):153-159.
[14] 李昌領,張 虹,朱良峰.含內(nèi)孔多面體的約束Delaunay四面體剖分算法[J].武漢大學學報:信息科學版,2014(3):346-352. Li Changling,Zhang Hong,Zhu Liangfeng.Algorithm for dividing a polyhedron with holes into constrained delaunay tetrahedrons[J].Geomatics and Information Science of Wuhan University,2014(3):346-352.
[15] 陳學習,吳立新,史文中,等.GTP模型中對角線引入的最小頂點標識(SVID)法[J].地理與地理信息科學,2004(3):17-21. Chen Xuexi,Wu Lixin,Shi Wenzhong,et al.Diagonal Generation by smallest vertex identifier in GTP model[J].Geography and Geo-information Science,2004(3):17-21.
[16] 胡 剛.基于VTK的地質(zhì)體三維可視化研究[D].長沙:中南大學,2011. Hu Gang.Research of 3D Visualization of Ggeologic Body Based on VTK[D].Changsha:Central South University,2011.
[17] 宋金星,劉玉芳,文廣超.VTK在三維地層可視化中的應用研究[J].測繪科學,2010(4):214-216. Song Jinxing,Liu Yufang,Wen Guangchao.Application research of 3D stratum visualization based on VTK[J].Science of Surveying and Mapping,2010(4):214-216.
[18] 呂曉琪,李許峰,賈東征.基于可視化工具VTK的幾何體構(gòu)建技術(shù)[J].內(nèi)蒙古科技大學學報,2012,31(6):167-170. Lu Xiaoqi,Li Xufeng,Jia Dongzheng.Geometry construction technologies based on VTK[J].Journal of Inner Mongolia University of Science and Technology,2012,31(6):167-170.
[19] 賈延延,楊 飛,左旺孟,等.基于VTK的虛擬心臟切面交互式可視化方法[J].哈爾濱工業(yè)大學學報,2010(5):770-774. Jia Yanyan,Yang Fei,Zuo Wangmeng,et al.VTK based interactive visualization of virtual heart[J].Journal of Harbin Institute of Technology,2010(5):770-774.
[20] 黃善清,龍鵬程,李 佳,等.基于ITK與VTK的配準融合方法的研究與應用[J].計算機應用,2010(S):140-142. Huang Shanqing,Long Pengcheng,Li Jia,et al.Research and application of registration and fusion based on ITK and VTK[J].Journal of Computer Applications,2010(S):140-142.
[21] 鐘海波,余偉巍,席 平,等.基于VTK的醫(yī)學三維圖像模型構(gòu)建與切割[J].工程圖學學報,2010(4):94-98. Zhong Haibo,Yu Weiwei,Xi Ping,et al.Construction and cutting of medical 3D image model with VTK[J].Journal of Engineering Graphics,2010(4):94-98.
(責任編輯 王小兵)
Three-dimensional Stratum Modeling and Visualization of Borehole Data
Yang Wenhuan Yin Lu Sun Jiuyun
(SchoolofEnvironmentScienceandSpatialInformatics,ChinaUniversityofMiningandTechnology,Xuzhou221116,China)
Three-dimensional stratum modeling and visualization are the important application of three-dimensional geological information system (GIS) in geosciences,and it can completely and unambiguously define the various geologic structures information,which is very helpful for actual geological analysis.On the basis of this,the three-dimensional strata model establishing method is proposed,which is based on tetrahedral network(TEN),generalized tri-prism(GTP) and visualization toolkit(VTK).The borehole data is used to establish the three-dimensional strata model by the method.Firstly,the triangle irregular network (TIN) is generated by the borehole collar data;then,according to the spatial sequence of strata,each triangle of TIN is expanded downward to obtain GTP voxel model along the borehole,and the GTP voxel model is tetrahedron subdivided by building the three-dimensional strata model;finally,three-dimensional display and spatial analysis functions such as property inquiry,distance and angle measurement and cut are realized by the three-dimensional strata visualization system developed by visualization toolkit(VTK).The experiments are conducted based on the borehole data of a mine,the results show that the GTP model based on TEN contributes to solve the problem of space entity subdivision and cutting,the application of VTK in three-dimensional stratum visualization is feasible,and the performance of VTK in visualization function and spatial analysis is perfect.Therefore,it has some reference for enhancing the efficiency of mine geological analysis and mine geological modeling and visualization.
Three-dimensional strata modeling,Visualization,Borehole data,Tetrahedral Network,Generalized tri-prism,Triangulated irregular network,Visualization toolkit
2015-06-28
國家自然科學基金項目(編號:41171343),江蘇高校優(yōu)勢學科建設工程基金項目(編號:SZBF2011-6-B35)。
楊文環(huán)(1990—),男,碩士研究生。通訊作者 孫久運(1974—),男,副教授,博士,碩士研究生導師。
TD672
A
1001-1250(2015)-10-130-05