洪玉玲
(煤科集团沈阳研究院有限公司,煤矿安全技术国家重点实验室 辽宁省抚顺市 113122)
煤矿巷道绘图软件系统的开发与应用对完善中国数字化矿山工程系统具有重要意义,矿山工程的信息化建设在煤矿巷道绘图软件系统的应用下可以提高传统煤矿巷道绘图的效率。传统的绘制和更新采用双线煤矿巷道底图在AutoCAD 上绘制,煤矿巷道的图件绘制往往复杂重复,在使用拓扑关系处理了煤矿巷道绘制的底板高程计算拓扑构型后,如果遇到了测量或者绘图的错误,很难在原有煤矿巷道图件中修改更新。因此,有了基于单线绘图代替手工巷道构型的模式,这样就能既忽略繁琐困难的几何拓扑的架构逻辑要求,也能够自动生成单线的煤矿巷道,但是这样的单线绘图虽然在绘制速度上有了跨越式提升,但简化后的可视性大幅下降,煤矿巷道内应有的标志物信息集体消失,对实际井巷工程推演、煤矿巷道内灾害预警等实际运用意义不大。
首先要获取煤矿巷道的中心线,煤矿巷道中心线是煤矿巷道绘图的基础数据,延中心线可根据实测导线自动计算或井下的记录资料进行手动绘制。需进一步明确中心线的空间坐标、巷道设计高程、墙高、边线数据索引等一切煤矿巷道中心线所需要的数据。其次可开展煤矿巷道的双边线计算,需要在建成煤矿巷道中心线后才能开始,如果采集到巷道内边线的空间位置坐标,那么煤矿巷道绘图软件就可以随即根据边线的数据煤矿巷道的中心线自动计算。最后是煤矿巷道的二维构建,煤矿巷道绘图一定要以真实的井巷工程为根基,二维图像需要依照实际井巷工程需要,可以针对巷道流通类型设计诸如三心拱、半圆拱、锚网支护等断面图。
根据上述煤矿巷道构建方法:
准备矿山控制巷道延伸的重要测量数据,导线点的测量是道比较复杂的工序,常常会受到井巷工程测量条件和人为测量误差的干扰,出现测量布点无法沿中线或者铅锤基线布置的情况,导致导线点的测量有所偏差。针对导线点布点位置经常凌乱散布于煤矿巷道空间的问题,只能退而求其次采取手工制煤矿巷道图的方式,制图员要自行对导线点坐标位置到各边界节点的坐标进行手工计算,在精准的计算逻辑和精确的煤矿巷道数据的支持下才能较为准确的绘制煤矿巷道的双边线。机械制图时,拓扑推断不能够直接应用在导线点坐标位置到各边界节点的坐标计算上,因为需要进一步的导线点信息,为此文中提出了巷道中线归一化法,为满足机械制图拓扑推断要求,将各导线点向中线做归一化处理。如图1,当选取C 点为机械制图中的空间导线点时,CD 做X-Y 平面向量投射,与C 点建立坐标系,分别代入式(1)~式(2)即可获得B、A、O 坐标。
式(1)中:
a——导线点在X 轴上的坐标;
b——导线点在Y 轴上的坐标;
α——做X-Y 平面向量投射的CD 与Y 轴夹角;
l——长度;
Ll——巷道左边距,图1 中对应BC;
Lr——巷道右边距,图1 中对应CA。
煤矿巷道的双边线计算由巷道中线归一化法完成后,其2 维图拓扑类型可归纳为4 种类型,但在这不同的图扑类型也有着一定的共通之处,其煤矿巷道中心线都存在交点,而且不同类型的拓扑类型其煤矿巷道中心线的相交点也有所不同,如交点G 为伪交点的就会使2 煤矿巷道存在高程差,而其他以O、Mor C、M 为交点的则不存在这种现象,均为实交点。对比O 点分布线段的端点交汇处也各有差异,M 点在拓扑类型分布图中以MN 为端点,而MorC 点分布于MN ∩BC 公共端点。
本文采取线段矢量矩阵求交算法求得拓扑多节点中线求交数据,因此需要在计算中考虑到段矢量矩阵求交的性能消耗。若要判断给出煤矿巷道绘制图矢量矩阵中的拓扑类型标记,则可以求矢量间的运算数据,需要遵循2 相交向量原则,也就是相交的量中的其中一条从投影起止点两端即使在无限延伸的情况下都不能和另一条向量线段投影形成重合在一个点上,否则应与另一条向量线段投影重叠,以式判断相交关系。
式中:
(x1,y1)、(x2,y2)——向量mrp的起止点位置坐标;
(xa,yb)、(xc,yd)——向量mqk起止点位置坐标中的任意一点坐标。
利用上述第二个公式可分别计算出Sab和Scd分项结果,检验交点后,若线段cd 端点分别位于线段ab 两侧或存在O、Mor C、M、G 的公共交点时,即认为该线段存在交点。拓扑类型推断的向量矩阵变换及类型推断方法要注意以下要求:
(1)必须采用与之相配的运算符重载技术;
(2)需要设置缓冲容器的,其定义M 矢量矩阵变换法应该对参与过计算的mab提出冗余求交现象,保证算量准确;
(3)规定mab下角标的,a 可同时不参与求交运算;
(4)最终输出结果应包含一个标识位矩阵。
图1:巷道中线归一化法几何计算
裁剪位置计算法需要对双线煤矿巷道的两帮进行裁剪,基于巷道中线归一化法的双边线计算有4 种拓扑类型及演化的4 类处理效果,采用裁剪位置计算法可以实现煤矿巷道绘制的自动化。根据煤矿巷道拓扑类型的不同,可以归纳为3 种煤矿巷道图形裁剪结构。确定煤矿巷道图形裁剪位置主要是根据3 种煤矿巷道图形裁剪结构虚线部分顶端坐标位置计算的,为实现计算需要在矢量矩阵中获得拓扑位置的煤矿巷道编号及相关数据,要在计算并取得煤矿巷道图形裁剪的交点位置坐标后,提取煤矿巷道属性信息。
综上述信息可知,煤矿巷道拓扑裁剪位置计算是通过计算二维煤矿巷道平行四边边长角度及中心点坐标取得的,煤矿巷道绘图软件系统需要自动获取这些必要信息,才能实现上述问题的模块化计算单元,逐个计算待裁剪的结构位置坐标。
本文残缺巷道边线修补体系分类型图形裁剪中需要运用的坐标位置,在其基础上反算模块进行织补作业,井巷工程中需要缝补的巷道边线残缺位置以及需要增加的缝补线段差距的数据就能简单获取。
本文采用的多线程标记解析算法旨在减轻传统手工煤矿巷道绘图工程量、提高自动化制图效率,使人们从传统的大量煤矿巷道信息数据中解脱。为此,多线程标记解析算法虽然较为理想的替代了传统实体碰撞求交算法中性能消耗的问题,但面对繁杂的煤矿巷道模型和大规模的节点数据时,普通绘图平台的计算压力可能应付不及,为充分发挥多线程标记解析算法的计算优势,利用好现代计算机多核多线程的计算技术,多线程标记解析算法从线程池中维护工作线程部分业务的逻辑伪代码实现流程如下:
表1:3 种测试平台配置信息
为表现煤矿巷道绘图软件系统在不同性能下提升的效果,本次基于导线点判断煤矿巷道拓扑关系的多线程标记解析算法应用实验设计了3 组测试平台,不同测试平台的机器配置如表1 所示。采取横向对比法开展基于导线点判断煤矿巷道拓扑关系的多线程标记解析算法应用实验,在AutoCAD 平台上分别用多线程标记解析算法和AutoCAD SDK 中提供的实体碰撞求交算法制作了2 套不同算法下的自动煤矿巷道绘图软件,以国内某井巷工程三采区内的308 条煤矿巷道作为基于导线点判断煤矿巷道拓扑关系的多线程标记解析算法应用实验的研究对象。
CPU 类型为I5 6600K、I5 3380M、I7 6700 的PC 机应用多线程标记解析算法和AutoCAD SDK 中提供的实体碰撞求交算法的执行效率分别为39s、64s、17s 和49s、74s、56s。
应用多线程标记解析算法后,相同性能的PC 机相较于运用传统实体碰撞求交算法的计算执行效率有大幅提升,除了处理器类型为I7 6700 外的PC 机,另两种配置的核心平均占用率也明显提高。非多线程的AutoCAD 系统上运用多线程标记解析算法从实质说上依旧可以将其作为以单线程执行为主的算法,即使对于处理器类型为I5 6600K 来说,采用传统算法后单核心平均执行效率都不会超过四分之一,但采取多线程标记解析算法后,I5 6600K 的4 个核心执行效率增进到70%~80%,充分调用各核心资源,这样的煤矿巷道绘图软件系统大大提高了执行效率。尽管在3 种测试平台配置信息给出了3 组不同的商用及高端民用显示卡信息,但在两种不同算法下煤矿巷道绘图软件系统应用的性能测试结果对比中暂未能发现各级别显卡频率对执行效率的显著影响,采用煤矿巷道绘图软件系统和实体碰撞求交算法处理煤矿巷道图示拓扑关系虽然对PC 机的处理器性能要求高,考虑到基于导线点判断煤矿巷道拓扑关系的多线程标记解析算法应用实验未引入CUDA 技术,因此级别显卡频率性能未对实验最终数据产生关键性影响。
井巷工程图件绘制在使用拓扑关系处理了煤矿巷道绘制的底板高程计算拓扑构型后,传统实体碰撞求交算法如果遇到了测量或者绘图的错误,很难在原有煤矿巷道图件中修改更新,多线程标记解析算法有着分类型图形裁剪和残缺巷道边线修补2 种功能,特别针对煤矿巷道的图件的更新修改,可以做到自动查询需要织补的巷道边线错误。多线程标记解析算法对煤矿巷道绘图软件系统的架构业务逻辑要求较为严格,但由于该算法有着普适性强、实现简便、资源开销小的特性,在密集2 维图形计算和快速生成煤矿巷道图形方面有着独特的优势,在进一步提高煤矿巷道图拓扑关系处理效率,提升实体碰撞计算精确程度的同时,也使人们从传统的大量煤矿巷道信息数据中解脱,为煤矿行业的设计决策提供了基于导线点判断煤矿巷道拓扑关系的可视化支持。在随后的基于导线点判断煤矿巷道拓扑关系的多线程标记解析算法应用实验中,基于实体碰撞求交算法的煤矿巷道绘图软件系统虽然在多核多线的PC 机上运行,各核心的平均执行效率不会超过核心资源的(100/n)%,而采用基于多线程标记解析算法的煤矿巷道绘图软件系统在多核多线的PC 机中表现出了高效的执行效率,充分调动了主机资源,使得计算性能得到明显的提升。传统算法没有考虑多线性计算模式,本质上还是采用单频计算,采取平均执行效率计算自然数据不高,多线程标记解析算法如果在主频较高的有着4 核8 线程的I7 6700 平台上运行时,计算效率还是有显著提升的。所选3 种机型都是多核多线的,这样的测试平台选用使得主频对计算效率的影响表现力不够明显,但依旧可以确定线程数量对执行结果有一定影响。