APP下载

煤矿巷道绘图软件系统开发与应用

2019-07-11康庆微

采矿技术 2019年2期
关键词:交点绘图矢量

康庆微



煤矿巷道绘图软件系统开发与应用

康庆微

(新疆天池能源有限责任公司,新疆 昌吉市 831100)

为提高矿山巷道设计制图效率,设计开发自动化煤矿巷道绘图软件系统,采用自行设计的解析计算求交算法进行巷道自动化拓扑关系推断、绘图、结构标记、冗余裁剪以及图形修补;为进一步解决自动化拓扑推断计算带来的性能消耗及资源调配不合理等问题,提出基于多线程技术的矢量矩阵解析求交计算方法;并以国内某矿三采区308条巷道为例在不同配置测试平台中建立模拟仿真实验,将文中算法在AutoCAD绘图平台中应用,并与采用原生碰撞求交算法的软件系统进行性能对比,结果表明:矢量矩阵解析求交计算方法能大幅度提高软件系统的绘图效率,结合多线程技术使用时可发挥多核平台性能优势,优化绘图系统资源合理调配。

导线点;线巷道;数字化矿山;多线程技术;二维拓扑关系

0 引 言

在矿山工程中,地质剖面图和二维平面投影图均为矿山设计施工的重要图件[1],地质剖面图有助于地质储量核算及三维数字化构模,二维平面投影图有助于反映施工平面进度状态及作为底图满足相应的预警要求。巷道作为矿山工程的空间基础构筑物,其绘制和更新长久以来都是二维平面投影图绘制的一个关键问题,传统的双线巷道底图绘制采用AutoCAD软件手工绘制完成,图件绘制复杂且重复工作较多,拓扑关系处理需要逐一对底板高程计算后,手工裁剪、连线形成拓扑构型,一旦遇到测量和绘图错误,很难修改和更新。另一类经典解决方案是利用单线绘图来代替巷道构型,忽略繁琐的几何拓扑关系,自动生成单线巷道,该法速度较快,但由于模型简化后可视化及标志物信息消失,对于实际工程推演和灾害预警等方面的需求实际意义不大。

近年来,国内外学者针对上述问题进行了大量的研究和实践[2−10],取得了一系列的研究成果,刘伟[11]等提出基于导线点绘制巷道的解析几何计算方法;朱建平[12]等提出基于图论方法解算风流路径形成巷道;倪景峰[13]等构建等宽的巷道模型用于通风仿真系统底图的构建;魏连江等[14]通过构建“假双线”的方法实现构建双线巷道的效果;郝天轩[15]提出构建A、B两帮进行求交判断拓扑关系后,形成带有拓扑关系的巷道;王东瑞[16]采用中线作为求交判据进行了几何拓扑的判断;谭正华和黄韵歆[17]等通过构建闭环结构,只需偏移便可直接得到拓扑结构;上述方法虽均取得了较好的效果,但研究多集中于替代方案寻找以及利用硬性几何求交处理拓扑关系,并未从根本上解决浪费在拓扑计算上的性能开销。综上所述,笔者认为结合矿山实际情况,开发可快速判断空间拓扑关系的软件包,对于数字化矿山建设及指导实际施工具有深远的意义。

本文在研究基于导线点判断巷道拓扑关系的基础上,提出了一种新的快速生成巷道拓扑关系的新算法—多线程标记解析法,算法屏蔽了图形平台提供的“实体碰撞求交”处理拓扑关系的方法,从底层采用求解数值解析方程来实现图元拓扑关系的解析计算与判断。该算法虽架构业务逻辑性要求较为严格,但算法实现简单,资源性能开销小,算法普适性能力较强,在密集图形计算及快速图形生成方面均有较好的表现。经仿真实验证实,该方法可进一步提高二维巷道底图拓扑关系处理效率,且应用效果良好。

1 “多线程标记解析法”原理

1.1 数据准备

导线点是矿山控制巷道延伸的重要测量数据,也是矿山制图的重要绘图依据,但由于测量条件限制及人为测量误差的存在,测量布点无法沿中线或某一铅直基线布置,布点位置常散布于巷道空间内。基于上述问题,一般只能采用手工制图处理,制图员需对导线点坐标位置处各边界节点进行手工计算,以便直接绘制双线巷道边线。但考虑采用机器制图时,直接计算边线节点无法满足拓扑推断要求,需通过导线点信息进一步判断巷道之间拓扑关系,为此文中提出巷道中线归一化方法,将各导线点向中线做归一化处理,并将归一化处理属性数据代入式(1)~式(3)中,计算各导线点处归一化中点位置,构造巷道的理论计算中线,并采用中线作为构建巷道边线以及计算拓扑关系的主要依据。计算满足原理如图1所示,即当C点为空间导线点,CD为导线点在X-Y平面的向量投影时,在C点建立坐标系,带入公式计算分别获得B、A、O 三点坐标,连续的O点可构建整条巷道的理论计算 中线。

图1 导线点归一化几何计算

式中:C点坐标=(,);CD与Y轴夹角,长度为;BC为巷道左边距,其长度为L;CA为巷道右边距,其长度为r。

1.2 拓扑类型推断及类型标记

通过对双线巷道底图的分析,将拓扑类型归纳为如图2所示的4种拓扑类型,进一步分析拓扑类型的图形差异,发现4种类型巷道中线间均存在交点,且不同类型相交方式存在差异且各具特点,如图2交点G为伪交点在两巷道间存在高程差,其余类型图中O、M、MorC均为实交点,但交点分布位置具有差异,其中图2中O点分布于线段间,而图2中M点分布MN端点,MorC点分布于BC和MN公共端点位置。因此,可通过设计程序对中线进行自动化求交计算并进一步针对上述交点类型分类,以获得整个底图的拓扑类型推断。

考虑多节点中线求交计算的性能消耗,为提高线段求交计算效率,研究中提出线段矢量矩阵求交计算方法,该方法可在矩阵中显示求交结果并标识出交点位置,具体矢量矩阵如式(4)所示,其中11为相邻节点构成的线段矢量,下角标分别代表矢量所属中线序号以及自身首节点编号。

式中:r、p为[0,n]区间内任意常数。

矢量矩阵中矢量间运算遵循两相交向量应保证其中一向量线段投影起止点位于另一向量线段投影两侧或位于投影线段上,即如式(5)所示计算结构用以判断相交关系。

式中:(1,1),(2,2),(xy),(xy)分别为向量的起止位置坐标以及起止位置坐标中的任意一点。

为定义运算方法,利用式(5)分别计算SS两个分项计算结果,并利用*=SS作为交点检验判据,当*≤0时线段两端点将分别位于线段两侧或存在公共交点,即认为线段存在交点,满足此判据即可采用运算符重载技术构建线段向量矩阵求交变换及类型推断算法,算法设计应注意如下几方面要求:

(1) 定义矢量矩阵变换方法需采用运算符重载技术;

(2) 规定矢量在下角标相同时不可以参与求交计算;

(3) 设置缓冲容器对参与计算过的进行驻留,用以剔除冗余求交现象;

(4) 当出现null等补位符时,仍使用补位符输出;

(5) 最终输出结果应包含一个标识位矩阵,如式(6)所示,用于为拓扑位置快速判断提供位置索引;

(6) 需对标识位矩阵映射一张巷道属性二维数据表格(见表1),用于处理拓扑时快速提供整体巷道的属性信息。

表1 推断结果映射的二维属性数据

表中:(3-6,,3,6)代表巷道编号1在2-3节点位置处相交于巷道编号3的6-7节点,相交类型为a类,该点距巷道左帮3 m,距右帮6 m。

1.3 分类型图形裁剪

(1) 裁剪位置计算。由图2的4种拓扑类型及演化的4种处理效果可知,需对双线巷道的两帮进行裁剪以及消隐处理,才可完成自动化巷道绘制。对不同类型关系的裁剪处理可归纳为如图3所示的3种结构,裁剪位置计算主要是对此3种结构蓝色虚线部分顶点进行坐标计算,实现方式是在矢量矩阵中获得拓扑位置关联矢量的位置索引,计算交点位置坐标,并提取相关巷道方位及巷道宽度属性。综合上述信息,裁剪位置计算问题可通过计算平行四边形已知边长、角度以及中心点坐标的顶点坐标反算来完成,设计程序实现上述问题模块化计算单元,并逐个结构计算待裁剪位置坐标,并对位置坐标追加扩展数据。

(2) 消隐边搜索。巷道边线消隐是图形可视化的重要环节,也是对上述拓扑关系判断以及裁剪计算方法的可视化过程。巷道边线消隐处理存在两个关键环节,首先利用坐标的扩展数据作为索引获取待裁剪边线,并裁剪结构单元如图3中效果,对结构单元进行拓扑类型推断,分容器管理蓝色虚线,最后对容器整体进行批量的消隐处理。

图3 巷道拓扑裁剪位置

1.4 残缺巷道边线缝补

当两巷道相交存在如图4示意结构时,外边界由于自动化偏移而导致残缺,需要缝补形成巷道整体,为方便织补处理,文中采用1.3小节设计的坐标反算模块进行处理,直接计算巷道外延交点,在识别拓扑类型后,直接连接巷道外边线与外延交点,以缝补巷道残缺位置。

1.5 多线程解析计算

文中算法设计主要目的在于减轻手工绘图工程量以及提高自动化制图效率,为图形快速绘制以及预报、预警等辅助决策环境提供图形快速更新平台。针对上述需求,文中提供的计算算法虽可较为理想的替代传统图形引擎几何碰撞求交的性能消耗问题,但当巷道数量以及节点数据规模庞大时,对于普通绘图平台计算压力仍十分繁重,为充分利用现代计算机多核计算优势,系统设计采用多线程计算技术,从线程池中维护工作线程,由不同工作线程托管各自服务任务队列,数据预处理及求交计算部分业务逻辑伪代码实现流程如下:

算法伪代码实现逻辑:

/*实例化数据访问层接口*/

New DalInterface();

#region MultiThreads Technology Start;

2) for{

//查询巷道导线点数据;

new sqlconnection();→sqlcommand();

//调用自定义的巷道归一化处理方法;

NormDBpoint();

//规则化数据,并做存储标记;

InsertMidPoint();

}

# end region MultiThreads Technology End;

3) //统一处理数据保存入数据库;

SaveChanges();

4) //模块化向量间求交计算方法;

CalX();

5)//调用数据访问层接口;

New DalInterface();

#region MultiThreads Technology Start;

6) //实例化矢量矩阵模型

new DBPointMatrix();

7) //序列化导线点数据格式;

SerializeMatrixType();

8) //遍历数据编入矢量矩阵;

for{InsertDBPoint(dbpont_matrix);}

# end region MultiThreads Technology End;

9)//运算符重载定义矩阵内变换法则;

dbpont_matrix.reLoad();

#region MultiThreads Technology Start;

10)//遍历矩阵实施变换;

dbpont_matrix=>(a){a.Calx; }

11)//输出标示位矩阵;

OutPutSignMat();

12)//二维属性表转换

TransOper();

13)//数据写入

InsertDatabase();

# end region MultiThreads Technology End;

图4 巷道残缺时的位置缝补

2 仿真实验

2.1 测试平台

为体现性能提升效果,实验设计3组测试平台,测试平台机器配置如表2所示,为提供直观的效能对比,作者在AutoCAD图形平台,分别利用文中算法和AutoCAD SDK中提供的几何求交API制作了2套自动化巷道绘图软件,并以国内某矿三采区内308条巷道为例,应用表2中提供的3组测试机器进行测试实验。

表2 测试平台配置

2.2 性能测试结果对比

对3组测试平台应用两种算法的执行效率进行统计,其执行效率以及核心占用情况统计如表3。通过对比可知,解析计算优化算法对比于传统算法执行效率有较大幅度提升,应用多核技术后,核心平均占用率也明显高于传统算法。对于非多线程AutoCAD系统,通过实验结果反映可认为程序仍以单线程执行为主,各核心会按照核心数折减占用率,即对于I5 6600k的四核平台,其单核心执行效率不会超过25%,但当采用多核优化算法时,各核心平均占用可提高到70%~80%,可充分调用各核心资源,提高执行效率。在多线程环境中核心数及线程数对整体运算有较大影响,在I5 6600k平台以及I7 6700平台对比,在相同核心数条件下,线程数的提升对核心占用率有显著影响,可进一步提升各核心利用率,提高算法整体效能。3个测试平台提供了3组商用以及高端民用显示卡,但通过试验对比及对各级别显卡频率的检测发现,采用解析计算及传统求交方式处理拓扑关系时,对处理器性能要求较高,由于未引入CUDA技术,显卡性能对于此实验并未产生任何明显的影响。

表3 测试结果对比

3 结 论

(1) 利用计算机技术及图形学算法构建的自动化绘图系统,可有效克服传统利用导线点手工绘图时产生的主观错误,大幅度提高制图效率;

(2) 从性能测试结果来看,传统算法在多核多线程机器上运行时,随各核心具有分担计算,但各核心资源占用不会超过核心资源的(100/)%,多核解析计算方法能大幅度提高自动化巷道绘图软件执行效率,充分调动宿主机器资源,提高计算性能;

(3) 采用传统算法在执行计算任务时,本质上还是采用单核计算,因此当主频较高时对计算效率有较为明显的提升;

(4) 采用文中算法应用在多核多线程测试平台时,主频影响并不明显,但核心数以及线程数对执行效率有显著提升。

[1] 张幼蒂,王玉浚.采矿系统工程[M].北京:中国矿业大学出版社,2000.

[2] 王学伟,邵亚琴,汪云甲.基于ArcGIS Engine 的矿井巷道三维自动建模方法的研究与实现[J].工矿自动化,2009(5):22−25.

[3] 荣向东,徐金陵,刘德成.陈四楼煤矿通风及检测系统仿真研究[J].煤炭科学技术,2010,38(10):55−58.

[4] 赵千里,刘 剑.用矿井通风仿真系统(MVSS)确定通风系统优化改造方案[J].中国安全科学学报,2002,12(2):14−18.

[5] 刘忠海,郭达志,余姚平.计算机绘制矿图中巷道立体交叉的自动判别和隐藏巷道的消除[J].中国矿业大学学报,1992,21(3): 33−39.

[6] 谭正华,王李管,陈建宏,等.基于中心线的双线巷道自动生成算法与实现[J].计算机应用研究,2009,26(11).

[7] 周志勇,陈建宏,汤其旺,等.巷道自动成图及三维建模[J].测绘科学,2010,35(4):182−183+216.

[8] 魏连江,郝宪杰,张宏捷,等.矿井通风仿真系统区分井巷层位关系的新方法研究[J].金属矿山,2008,384(6):105−107.

[9] 李 刚,陈开岩,何学秋,等.矿井通风巷道自动绘制方法研究[J].煤炭科学技术,2006,34(6):50−53.

[10] 熊绵国,朱权洁,刘晓云,等.基于Blender的矿山井巷模型自动生成研究[J].武汉科技大学学报,2012,35(4):261−261+271.

[11] 刘 伟,张荣海,余劲松弟.煤矿巷道自动生成模块的研究与开发[J].测绘科学,2007,32(6):128−129.

[12] 朱建平,张水平.矿井通风系统网路解算及优化的可视化研究[J].有色金属,2009,61(3):130−134.

[13] 倪景峰,刘 剑.矿井通风系统可视化固定宽度巷道双线处理[J].辽宁工程技术大学学报,2005,24(5):636−638.

[14] 魏连江,朱华新,张雷林,等.矿井通风仿真系统双线巷道图[J].中国安全科学学报,2008,18(11):55−59.

[15] 杨应迪,张国枢,秦汝祥.矿井通风系统平面图专用绘制软件研制[J].2008,18(4):121−125.

[16] 王东瑞.一种新的基于中心线的双线巷道自动生成算法[J].工矿自动化,2011(3):51−54.

[17] 黄俊歆,王李管,张 力,等.一种新的矿井通风系统双线巷道自动生成算法[J].计算机工程与应用,2011,47(24).

(2018−08−23)

康庆微(1987—),男,辽宁沈阳人,工程师,主要从事采矿工程方面的研究,Email:276205433@qq.com。

猜你喜欢

交点绘图矢量
来自河流的你
“禾下乘凉图”绘图人
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
阅读理解
垂涎三尺
借助函数图像讨论含参数方程解的情况
试析高中数学中椭圆与双曲线交点的问题
基于矢量最优估计的稳健测向方法
三角形法则在动态平衡问题中的应用