基于3D引擎的井下巷道建模算法设计与实现

2020-10-13 11:58蒋冬梅彭成东
关键词:测点断面巷道

蒋冬梅, 彭成东

(1.安徽水利水电职业技术学院,安徽 合肥 231603;2.合肥明信软件技术有限公司,安徽 合肥 230088)

将分布在不同地层、地质环境的井下工程空间数据和井下环境监控数据融合在三维可视化系统中,通过逼真的场景渲染和直观的数据展现,对煤矿安全生产管理有重要的意义。

本文基于明信软件MX-EMine三维可视化引擎,研究了对煤矿井下巷道的自动建模算法,并使用示例数据进行仿真,三维场景和虚拟漫游用户体验好。

1 三维可视化引擎

明信软件MX-EMine三维可视化引擎具备场景物体的坐标变换和投影变换处理、消除遮盖处理、光源明暗度处理、颜色与纹理的表面细节等渲染处理。

构建煤矿井下三维可视化环境,只需要使用适当的数学模型和建模算法对井下巷道和巷道中的物体进行对象建模,把对象变成MX-EMine可以加载的数据,由引擎实现对象的渲染和虚拟现实呈现。

2 巷道数据建模

2.1 巷道建模思路

巷道由一系列的局部巷道组成。由巷道中心线和巷道断面来表示局部巷道,其中巷道中心线确定巷道位置,断面确定巷道的空间形态,利用相邻巷道的断面对应点、线、面的相连构成三维模型[1]。巷道的建模的主要过程包括:巷道导线节点的网络拓扑关系处理、巷道断面加载及交叉处平滑、纹理处理。

2.2 巷道数据结构

(1) 巷道元素。主要有① 节点。节点表示同一水平巷道的交叉处,也表示水平巷道与上下山巷道的交叉处。② 弧段。在巷道网络中2节点之间链接的部分是弧段。③ 巷道线。每1条巷道都称之为巷道线。其基本组成元素是巷道弧段。一般来说,它代表着1条完整的巷道。

(2) 巷道元素的拓扑关系。如图1所示,巷道节点采用英文字母A、B、C、D表示,弧度采用数字1、2、3、4表示,采用希腊字母Ⅰ、Ⅱ、Ⅲ表示3条巷道。巷道的空间关系构成包括巷道线、节点,它们之间的拓扑关系就是巷道网络的拓扑关系。

图1 巷道元素及拓扑关系

(3)巷道中线计算方法。对井下巷道位置进行测量时,每个测点都有距离巷道两邦的邦左距离sL、邦右距离sR、测点坐标A(Xa,Ya,Za)、后视测点的方位角为α。通过中心线的逼近方法[2],可以逼近出巷道导线上的中心点坐标C(Xc,Yc,Zc)。 连接巷道中线点坐标即可形成巷道中线。

(4) 巷道断面计算方法。井下巷道的断面形状有矩形、拱形和梯形[3]。以拱形巷道为例,巷道断面算法描述如下:由已知拱形巷道断面参数拱半径r、宽度s、高度h可以计算出坐标原点处的断面数据如图2(a)所示。通过巷道断面的方位角a将图2(a)的旋转到图2(b),再将图2(b)巷道平移到实际位置如图2 (c)所示。图中P1和P2所在的断面就是巷道的真实断面。通过将巷道2个节点处断面相应的计算点相互连接起来就形成巷道表面模型。

图2 拱形巷道断面数据的计算

2.3 巷道生成算法

(1) 建模算法步骤。在巷道导线网络拓扑关系和巷道断面类型、节点坐标已知的情况下,巷道模型生成算法如下:

第1步在巷道导线结点处计算底面和顶面坐标,得出结点处断面。对于交叉节点使用插入法插入断面进行平滑处理;第2步从巷道起始点开始,以此断面上坐标向下一节点做平行线,与下一结点断面求得交点;依次类推,再向巷道导线中的下一节点做平行线和求交点。直至与导线中最后一个节点断面求交。第3步将所有断面上的交点坐标依次连接形成巷道外立面的多个四边形。将所有节点的断面交点坐标进行数据存储。通过以上3步实现巷道断面坐标计算和3D立体建模。

(2) 算法时间复杂度。假定巷道导线中结点的数量是 n,断面轮廓线条数为m,任意相邻的3个巷道中点都不在1条直线上,该算法的时间复杂度为:T(n)=O(n)+O(m)+O(n*m)=O(n*m)。

2.4 巷道模型加载及渲染

使用MX-EMine三维图形渲染工具对上述算法构建的巷道模型进行渲染。如图3所示。

图3 巷道模型数据加载及渲染流程

流程中的关键点说明如下:

(1) LoadContent()方法。使用素材管道加载计算好的巷道节点、断面模型,并获取模型面片和初始变换矩阵。

(2) Run()方法。开始引擎的循环,反复调用 Update()和 Draw()方法完成巷道模型的渲染和更新。

(3) Update()方法。读取巷道模型计算结果数据,对巷道模型中的节点和断面对象进行更新;通过子线程实现对设备对象实时数据的异步更新,以在场景中同步实时数据。

(4) Draw()方法。巷道断面及场景中设备对象的3D渲染代码实现。

3 建模算法实例

以某矿1段交叉的3段巷道的部分测点数据为例,按照巷道节点法计算巷道中位线、加载巷道断面、交叉点处理,形成巷道的空间模型。

3.1 巷道测点数据

巷道测点数据包括测量点位号、坐标(X,Y,Z),及其帮距、高度、宽度、断面、岩层属性、支护方式(混凝土、锚网、锚喷、U型钢棚等)属性参数。3段巷道的测点坐标数据如表1所列,导线拓扑关系如表2所列。

表1 巷道测点的坐标数据

表2 巷道导线的测点数据

3.2 巷道节点与导线网络

由每条巷道2相邻节点构造巷道导线,由此可得到巷道的节点和导线网络拓扑,如图4所示。对U型断面按左邦、右邦、顶面(8个插入点),依次链接形成巷道三维模型效果,如图5所示。

图4 巷道节点与导线空间关系

图5 巷道断面三维模型效果

3.3 巷道断面处理

(1) 巷道交叉处理。当1个节点的度大于2时,在生成巷道时已经出现了面的交叉,需要进行裁面或者补面才能够保证巷道的完整性。遍历每个节点的度,对于遍历到的某个节点(后面称为基点),记录所有与该基点相连接的边的出点,将记录下来的点集合按照固定规则进行排序形成1个新的点集合,依次取出点集合中的2个点并将其与基点构成的边所在平面进行求相交处理,保存交点坐标,循环遍历直到遍历完点集合中的所有点。巷道交叉处理后的效果与井下实际环境就较为接近了,交叉处理后外部效果如图6所示。

图6 交叉处理后外部效果

(2)纹理贴图处理。按支护方式(混凝土、锚网、锚喷、U型钢棚等)对建模的巷道面进行材质加载,以是的生成巷道与实际环境一致,其纹理贴图处理后内部效果如图7所示。

图7 纹理贴图处理后内部效果

3.4 巷道三维场景应用

在系统中可以按照井下工作地点搜索定位到巷道的位置及巷道内部情况,在3D场景下定位到巷道内部,其2D效果如图8所示。通过构建的巷道虚拟场景,还可以渲染井下生产设备及采集设备的实时运行数据的3D效果如图9所示。

图8 井下地点查询定位

图9 3D场景中加载生产设备数据

4 结束语

本文对井下巷道设计数据结构和算法建模,在3D引擎的基础上实现巷道三维场景渲染,以虚拟现实的方式进行效果呈现,用户体验逼真、数据展示直观。

猜你喜欢
测点断面巷道
高应力岩层巷道钻孔爆破卸压技术
一种精确的轮胎断面束缚方法
高深度大断面中深孔一次成井技术探索与应用
基于CATIA的汽车测点批量开发的研究与应用
超大断面隧道初期支护承载力学特性及形变研究
基于小波包位移能量曲率差的隧道衬砌损伤识别
三维矿井巷道体间节点连接算法研究
广州市老城区夏季室外园林空间人体舒适度评价①
室外风环境实测及PHOENICS 模拟对比分析研究*
——以徐州高层小区为例
坚硬岩石巷道中深孔爆破技术的应用