劉 樂,樊 娟
(1.西安建筑科技大學(xué) 信息與工程學(xué)院,陜西 西安 710055; 2.中煤科工集團(tuán)西安研究院有限公司,陜西 西安 710000)
?
礦井巷道數(shù)據(jù)提取及三維巷道可視化研究
劉樂1,樊娟2
(1.西安建筑科技大學(xué) 信息與工程學(xué)院,陜西西安710055; 2.中煤科工集團(tuán)西安研究院有限公司,陜西西安710000)
摘要:針對傳統(tǒng)的獲取巷道數(shù)據(jù)的方式以及巷道模型通常需要借助Surpac,Skyline,3D Studio MAX等專業(yè)軟件進(jìn)行三維顯示等問題,文章提出通過分析AutoCAD繪制的二維煤礦平面圖提取出巷道三維建模所需的基本數(shù)據(jù),然后分析JSON格式的三維數(shù)據(jù)格式結(jié)合現(xiàn)有的三維建模算法得到JSON格式的三維巷道模型,最后采用最新的HTML5所推出的WebGL技術(shù),實(shí)現(xiàn)了基于移動端的三維巷道可視化。
關(guān)鍵詞:礦井巷道;WebGL;JSON;可視化
隨著數(shù)字化進(jìn)程在煤礦領(lǐng)域的發(fā)展,實(shí)現(xiàn)對煤礦的數(shù)字化管理、生產(chǎn)以及設(shè)計,并建立一個可視化的、三維的煤礦井下場景已經(jīng)成為煤礦建設(shè)發(fā)展的趨勢。目前巷道的三維建模以及可視化顯示是通過實(shí)地測量的方式得到巷道的基本數(shù)據(jù),然后將其導(dǎo)入到專業(yè)的礦山建模軟件中完成巷道的三維建模和可視化顯示[1]。但是對于一般的用戶而言,不僅需要獲取巷道的基本數(shù)據(jù),而且還要在電腦上安裝龐大的礦山建模軟件;對于專業(yè)人員,也只能在PC端進(jìn)行巷道的三維建模及其可視化,這給一般的使用者都帶來了很多不便之處。本文采用直接對AutoCAD所繪制的二維平面圖紙分析提取得到巷道的基本數(shù)據(jù),然后運(yùn)用WebGL的Three.JS渲染引擎對模型進(jìn)行可視化。對于用戶而言,只需要一張煤礦的平面圖紙就能看到巷道的三維模型,而且WebGL技術(shù)不需要安裝任何插件就能在頁面上顯示復(fù)雜的三維模型,這就使得巷道三維模型在移動端的可視化變?yōu)榱爽F(xiàn)實(shí),用戶可以通過手機(jī)等移動設(shè)備查看巷道的三維模型,這給用戶和專業(yè)的使用者都帶來了巨大的便利。
本次試驗(yàn)的數(shù)據(jù)來源是DXF格式的二維煤礦平面圖,如果將現(xiàn)有的礦井三維空間實(shí)體轉(zhuǎn)化為一張平面圖紙,那么必然是煤礦綜合工程平面圖紙,它包含了巷道、永久導(dǎo)線點(diǎn)、工作面參數(shù)、采區(qū)布置、地質(zhì)構(gòu)造狀況、通風(fēng)線路等詳細(xì)信息,是整個礦井生產(chǎn)及安全管理的真實(shí)反映。因此,把煤礦綜合工程平面圖作為創(chuàng)建巷道三維模型的數(shù)據(jù)來源是精準(zhǔn)、可靠的。
DXF是AutoCAD圖形文件中包含的全部信息標(biāo)記數(shù)據(jù)的一種表示方法,用于AutoCAD圖形應(yīng)用程序之間輸入、輸出的交互圖形文件。一個完整的DXF文件由標(biāo)題段、表段、塊段、實(shí)體段和一個文件結(jié)尾組成。實(shí)體部分(ENTITIES)包含了所繪制圖形的所有數(shù)據(jù),其中三維巷道建模所需要的基本信息(定義直線數(shù)據(jù)的起始坐標(biāo)和終點(diǎn)坐標(biāo)),可以通過對這一部分進(jìn)行分析提取,提取的流程圖如圖1所示。
圖1 巷道基本信息的提取流程
提取出直線的起始坐標(biāo)和終點(diǎn)坐標(biāo)以及高程信息后,結(jié)合礦圖文件的比例尺信息就可以計算出直線的三維空間坐標(biāo),進(jìn)而得到巷道的骨架圖(中心線)。
JSON格式是本文采用的可視化技術(shù)WebGL原始支持的三維數(shù)據(jù)格式,相比于其他的數(shù)據(jù)格式,JSON格式的輕量性、文本性和語言非依賴性令其成為了理想的網(wǎng)絡(luò)傳輸格式[2],因而本文采用JSON三維數(shù)據(jù)格式。JSON格式巷道三維模型的生成,首先是運(yùn)用分段法的建模思想將完整的巷道分為直巷道、彎曲巷道和交叉巷道分別進(jìn)行模擬,得到各個巷道段的線框模型;然后將其轉(zhuǎn)化為JSON格式的巷道段,最后基于巷道的骨架圖加載對應(yīng)JSON格式的巷道段得到JSON格式的巷道三維模型,其模型生成流程圖如圖2所示。
圖2 生成JSON格式三維巷道流程
2.1巷道的三維建模
對于復(fù)雜的巷道,采用分段法的思想將巷道分為直巷道、彎曲巷道和交叉巷道三部分進(jìn)行模擬[3]。直巷道的模擬重點(diǎn)在于斷面的模擬,本文采用應(yīng)用最為廣泛的直壁拱形斷面,斷面的模擬主要是通過離散巷道斷面上的特征點(diǎn)的方式完成,然后將巷道斷面沿某一方向進(jìn)行相應(yīng)拉伸得到直巷道段。彎曲巷道的模擬主要運(yùn)用貝塞爾曲線完成巷道彎曲處的平滑過渡,基本思想是首先基于導(dǎo)線點(diǎn)加載巷道截面,然后離散斷面上的特征點(diǎn),計算出各個特征點(diǎn)的坐標(biāo),最后將拱形斷面的相應(yīng)的特征點(diǎn)作為貝塞爾曲線的控制點(diǎn),繪制貝塞爾曲線,進(jìn)而完成彎曲巷道的三維模擬。交叉巷道的建模算法[4]首選計算出相鄰分支巷道的公共特征點(diǎn)以及相鄰分支巷道相交處拱形斷面上的特征點(diǎn),然后將巷道出拱形斷面進(jìn)行拉伸完成巷道支干的模擬,最后通過連接相鄰分支巷道相交處拱形斷面上的特征點(diǎn)完成巷道交叉處底面的頂面的構(gòu)建。
2.2JSON格式巷道段的生成
要完成各個巷道段的加載,首先要將上一步得出的各個巷道段的線框數(shù)據(jù)模型轉(zhuǎn)化為JSON格式的巷道段,以下是各個巷道段具體的轉(zhuǎn)換方法:
直巷道的轉(zhuǎn)換,是最簡單最基本的轉(zhuǎn)換,也是彎曲巷道和交叉巷道轉(zhuǎn)化的基礎(chǔ),通過對vertices域和faces域的構(gòu)建完成巷道格式的轉(zhuǎn)化,格式轉(zhuǎn)化的過程如圖3所示。
圖3 直巷道的轉(zhuǎn)換過程
vertices域(頂點(diǎn))是通過將直巷道的特征點(diǎn)按順序遍歷完成頂點(diǎn)域的構(gòu)建,faces域(模型的面)是根據(jù)特征點(diǎn)的幾何關(guān)系構(gòu)建相應(yīng)的三角面片,由于上一步出的巷道段的線框模擬是沒有材質(zhì)等信息的,所以根據(jù)JSON格式的規(guī)則[5],一個三角面片表示為:
faces [0, V1,V2, V3, 0, 0, 0, 0, 0, 0]
根據(jù)JSON格式的規(guī)則,第一個0是二進(jìn)制00 00 00 00的十進(jìn)制數(shù),表示模型的面是由三角面構(gòu)成,三角面沒有材質(zhì)、法向量以及頂點(diǎn)的顏色,V1,V2,V3表示三角面對應(yīng)頂點(diǎn)的索引,后面的6個零表示貼圖的索引和頂點(diǎn)法線的索引。按照這種方式,構(gòu)建出所有的三角面片,得到JSON格式的直巷道段。
彎曲巷道的模擬是采用Bezier插值算法實(shí)現(xiàn)的,巷道模擬的精度,由Bezier插值點(diǎn)生成線框模型的折線的線段數(shù)決定的,折線的段數(shù)越多時,巷道模擬的精度越高。生成的折線模擬方法也就是直巷道的模擬,所以彎曲巷道JSON格式的轉(zhuǎn)換是通過JSON格式的直巷道段一段一段拼接而成。
交叉巷道JSON格式轉(zhuǎn)化是通過將交叉巷道分為巷道支干和巷道交叉處頂面和底面分別進(jìn)行轉(zhuǎn)化實(shí)現(xiàn)的,巷道支干的轉(zhuǎn)換也就是直巷道的轉(zhuǎn)化,巷道交叉處三角面片的構(gòu)建是根據(jù)交叉巷道建模算法得出的相鄰分支巷道相交處拱形斷特征點(diǎn)的幾何關(guān)系完成的。
本文采用的可視化技術(shù)是WebGL的Three.JS框架,其渲染結(jié)構(gòu)主要包括:Renderer、Scene和Camera。三維模型的渲染是通過首先給三維模型設(shè)置場景,然后將相機(jī)和設(shè)置好的場景加入到渲染器中完成的。通過THREE.JSONLoader()可將巷道模型加載到場景中。三維模型的動態(tài)交互是通過鼠標(biāo)事件和動畫循環(huán)實(shí)現(xiàn)的,通過renderer.render()方法的設(shè)置便可實(shí)現(xiàn)動畫循環(huán)效果,巷道模型的平移、旋轉(zhuǎn)和縮放等基本交互操作是通過javascript的各類鼠標(biāo)事件控制相機(jī)的位置和視角實(shí)現(xiàn)的。在Three.JS中提供了loadTexture(),ShaderMaterial()等方法用于對三維模型進(jìn)行貼圖處理。在完成巷道的數(shù)據(jù)提取、三維建模、格式轉(zhuǎn)換以及可視化顯示,就已經(jīng)完成了本次論文的全部內(nèi)容。以某煤礦某號煤層采掘工程平面圖為例,實(shí)驗(yàn)結(jié)果巷道內(nèi)部效果如圖4所示。
圖4 三維巷道內(nèi)部效果圖
部分三維巷道顯示如圖5所示。
圖5 部分巷道顯示效果圖
綜上所述,隨著國民經(jīng)濟(jì)的不斷發(fā)展,物質(zhì)生活水平的不斷提高,使用一張煤礦的平面圖紙和移動設(shè)備就可以看到煤礦巷道的三維顯示,這對普通用戶進(jìn)和專業(yè)人士都提供了巨大的便利,加速了煤礦數(shù)字化的發(fā)展進(jìn)程。
[參考文獻(xiàn)]
[1]于慧影,黃士紅.基于OpenGL的礦井巷道的可視化研究[J].測繪科學(xué),2013(5):178-179.
[2]王珩瑋,胡振中.面向Web的BIM三維瀏覽與信息管理[J].土木建筑工程,2013(3):9-13.
[3]劉星,劉輝.基于O3D礦圖巷道三維轉(zhuǎn)換Web化的設(shè)計與實(shí)現(xiàn)[D].沈陽:東北大學(xué),2010.
[4]侯建光,朱月霞.礦山巷道三維建模數(shù)據(jù)組織與算法研究[J].國土資源信息化,2014(29):32.
Research on Mine Roadway Data Extraction and Three-dimensional Roadway Visualization
Liu Le1, Fan Juan2
(1.School of Information and Control Engineering, Xi'an University of Architecture and Technology, Xi'an710055, China;2.CCTEG Xi’an Research Institute, Xi'an710000, China)
Abstract:With the problem of the traditional way of obtaining roadway data and roadway models often need the help of Surpac, Skyline, 3D Studio MAX or other specialized software for three-dimensional display, In this paper, by analyzing AutoCAD drawing twodimensional coal mine plan to extract the basic data needed for three-dimensional modeling, then analyze the JSON data format and the existing 3D modeling algorithm to obtain a three-dimensional model of the roadway in JSON format, Finally, using the latest HTML5 launched WebGL technology, To achieve a three-dimensional tunnel-based mobile end visualization.
Key words:roadway, WebGL; JSON; visualization
作者簡介:劉樂(1988-),男,陜西西安,碩士。