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