基于Blender的矿山井巷模型自动生成研究

2012-09-14 07:29熊绵国朱权洁刘晓云盛建龙
武汉科技大学学报 2012年4期
关键词:井巷开源导线

熊绵国,朱权洁,刘晓云,吕 垒,盛建龙

(1.武汉科技大学资源与环境工程学院,湖北武汉,430081;2.北京科技大学土木与环境工程学院,北京,100083;3.中钢集团武汉安全环保研究院,湖北武汉,430081)

基于Blender的矿山井巷模型自动生成研究

熊绵国1,朱权洁2,刘晓云1,吕 垒3,盛建龙1

(1.武汉科技大学资源与环境工程学院,湖北武汉,430081;2.北京科技大学土木与环境工程学院,北京,100083;3.中钢集团武汉安全环保研究院,湖北武汉,430081)

以开源三维软件Blender和矿山基础信息库为资源,利用Python编程语言提出矿山井巷几何模型的计算方法,并通过Blender自带Python API调用Blender建模引擎,从而实现对矿山井巷三维模型的自动生成。运行结果表明所设计的模型简单易行,完全开源后无需软件费用。

三维可视化;三维矿山;自动建模;Blender;Python语言

矿山井巷工程是矿山工程的重中之重。对于数字化矿山建设而言,矿山井巷三维模型的构建同样重要。矿山井巷三维模型构建方式主要有:①提取巷道顶板中心线数据和断面数据,通过计算得出巷道断面上其他特征点坐标,然后利用“点构面、面构体”的方式构建巷道模型[1];②由导线点逼近中线点并在巷道节点处加载断面的算法建立井巷三维模型[2];③应用“导线截面法”形成井巷三维模型,并将井巷看作是其截面沿一定导线轨迹运动形成的实体[3]。传统的矿山井巷三维模型构建大都是利用商业软件,根据已有的矿山井巷信息通过手动方式来实现,因而在一定程度上满足了矿山建设对于井巷三维模型的需求。但是,随着矿山作业不断深入和商业软件不断更新,现有矿山井巷三维模型很难与后期矿山建设的需求无缝衔接。如何快速构建矿山井巷三维模型,是业内研究者需要解决的一个难题。

目前,我国矿山井巷三维模型构建尚处于初级阶段,相关研究主要是利用专门的商业软件进行三维建模开发,或通过开源的OpenGL平台进行地层开发[4-6]。实践表明,利用商业软件虽能提高开发速度,但其后续的再次开发存在瓶颈,如不公开的源代码使二次开发不可实现;而开源的OpenGL平台虽然公布了源代码,但其基于C/C++的底层编程方式需要耗费大量的人力和物力资源。为此,本文基于开源软件Blender提出一种新的矿山井巷三维模型快速构建方式,并利用矿山已有的数据信息资源,在Blender开源三维软件平台下实现了对矿山井巷三维模型的自动生成。

1 井巷模型生成流程

根据现有矿山资料和数据资源,对矿山三维巷道进行自动生成构建,其流程如图1所示。矿山井巷三维模型自动生成流程如下:为建立矿山巷道实体模型,其关键控制点是数学模型表达,先利用Python编程语言将其转化为计算机识别的程序模型,再通过Python API编写可供Blender运行的脚本。执行脚本代码后,Blender调用矿山信息数据库中的相应数据,通过脚本中的命令流进行自动建模操作。

图1 矿山三维井巷自动生成流程Fig.1 Auto-generation flow chart of 3D laneway

2 井巷模型的构建

本研究中井巷模型的建立是基于巷道截面建模方式,根据已有数据计算得出巷道截面顶点坐标连接成面,同理绘制一系列截面,然后将这些截面上边界线相连接,构建巷道实体表面。其主要思路如下:①通过已有地质资料或现场测量方式,分析计算得出巷道中心线坐标;②建立巷道截面模型,根据已有中心导线坐标,计算得出巷道截面各关键点坐标,并依次连接各关键点,使之成为一个闭合的内部中空截面;③对于水平正对方向巷道而言,可以直接将两相邻截面连接成体(巷道内部为中空,无需考虑内部);对于转折、倾斜巷道,需要对转折处进行加密(中间截面)的方式使巷道转折更加圆滑真实。

2.1 模型算法的建立

巷道截面是巷道几何建模的重要参数。巷道截面有拱形、矩形、梯形以及斜梯形等多种形态。本文以梯形巷道为例进行研究。图2为梯形巷道的截面参数,其中:H 为截面垂直高度,m;W 为截面水平宽度,m;O为设定的中心导线在横截面上的坐标点。

图2 梯形巷道的截面参数Fig.2 Sectional parameters of trapezoidal arch

在已知巷道中心导线的前提下,要实现巷道断面的加载,需要利用巷道截面的参数分别求出截面上关键点的坐标位置。由图2可看出,若巷道中心导线点O为(x0,y0,z0),则巷道左帮右帮关键控制点的坐标为

图3为巷道关键控制点的计算及面的构成。由图3可看出,代码生成巷道边界关键控制点是1~8点,它们分别为面A、B上的点。以当前截面A为起始面,B为第二截面,连接AB截面,即可组建一段实体巷道模型。

选择A平面上的点构建A平面的边界,然后选取A平面上相邻的两点和对应B平面上的两点构建巷道外壁。如1、2、5、6四节点构建一个平面,2、3、6、7四节点构建另一平面,就可直至遍历巷道截面上的边界关键控制点。然后取B截面作为起始点,构建BC段巷道模型,依此类推,直至巷道的结点,其生成的简易效果图如图4所示。

图3 巷道关键控制点的计算及面的构成Fig.3 Calculation of the key control points and constitution of the faces on laneway

2.2 巷道网络

矿山巷道是整个矿山井巷工程的核心部分,在实际工程现场,由于受地质条件及采矿方法的影响,井下巷道纵横交错,其拓扑关系异常复杂,而且巷道与巷道之间由于功用的不同也存在着很多差异[7]。因此,在实际巷道建模过程中,以巷道平面为单位,建立矿山井下巷道网络体系。水平上的结点以水平直线段为单位连接成巷道弧度,然后连接各弧度组成该水平上的巷道网络。

图4 简单巷道模型生成示意图Fig.4 Simple diagrams of laneway model

矿山巷道以巷道网络的方式来表达,把巷道中线抽象为弧线段,用巷道的起点、终点和承接点来分别表达弧线段的结点和节点。整个矿山井巷工程可以看作是由众多弧线段连接而成的整体[7]。

2.3 数据库的构建

矿山三维井巷模型的自动生成建模是以矿山测量和勘探的信息数据作为基础,利用系统数据导入功能,将测得的数据导入数据库中作为基础数据。

通过前期准备的资料,整理出巷道掘进相关参数,主要由巷道中心点、节点、巷道终点的平面坐标和高程等信息来确定其断面形状,整理后保存于初期表单中,或通过导线测量的方式,测量井下中心导线点的坐标以及倾角等相关数据。

根据建模需求,还可设计若干表单,以用于矿山建模数据的存储与查询。

3 井巷模型的自动生成

3.1 模型的生成

通过前期模型的建立、数据的存储,即可迅速生成矿山井巷三维模型。图5为利用代码实现的矿山模型示意图,其中图5(a)为普通巷道,图5(b)为两相交巷道生成后的结果,图5(c)为某矿-65~-305 m矿体的生成图,图5(d)为地表生成示意图。与传统的手动绘制三维模型相比,Blender提供的Python API可以通过命令流的方式进行三维模型的绘制。通过编制代码可以快速生成矿山模型,便于模型的修改和添加,同时开发速度便捷迅速。

3.2 巷道转折及连接处的处理

图5 生成的相应矿山井巷模型Fig.5 Corresponding models generated

对于复杂的矿山井巷工程而言,巷道不可能保持水平垂直进行延伸。在巷道的掘进过程中,需要不断从经济利益、安全等角度出发来考虑矿体及运输距离等,因此,其方向会不断发生变化。在巷道的自动生成建模中需要对此因素进行分析,对相交的或转折的巷道作一些处理。例如,当巷道转折较大时,可以选择直接将巷道靠外侧界面上的点直接相连接,以保证巷道联通的真实性。

4 应用前景

利用Blender三维开源软件平台和Python编程语言可实现矿山井巷三维模型的快速自动生成。此外,基于Blender与Python开发平台,可从以下几个方面展示其应用前景:

(1)矿山动态生产模拟研究。在矿山虚拟环境中,用户选定设置好的运输车模型,输入相应的控制指令后,系统以三维立体图动态显示“装矿-运矿-卸矿”的生产过程。

(2)Python语言拥有众多的数学分析、工程仿真等模块,借助这些模块编程可以实现矿山的生产优化、仿真以及线性规划,并可以提供模糊数学等理论为矿山开采安全提供帮助。

(3)基于Blender平台的数字化矿山基础信息平台的开发研究。矿山基础信息平台的搭建一直是矿山信息化进程的关键之一,将虚拟现实技术以Web3D方式展示可完善矿山信息化的内容。

图6为基于Blender平台的数字化矿山开发研究平台结构体系。本研究所开发的软件平台已运行正常,整个结构体系基本上实现所设计的系统目标。

图6 基于Blender的数字化矿山开发研究平台结构体系Fig.6 Architecture of development platform for digital mine based on Blender

5 结论

(1)完全应用开源软件进行开发,为后续的研究提供了保证。利用Blender和Python语言建立矿山模型基本上解决了传统构建矿山井巷三维模型所存在的问题。

(2)利用编程的方式实现矿山井巷三维模型的快速建立。在模型的基础上,调用数据库中的数据即可快速生成矿山井巷三维模型。

(3)Blender自身拥有物理仿真功能,而且Python提供了系统仿真和分析软件包SimPy,这为矿山井巷三维可视化仿真提供了有利条件。

[1] J Dimitrov,Y Lybenov.Adapting of some free programs for constructing the elements of mining tech-nology[C]//International Scientific Conference Computer Science’2008,2008:532-534.

[2] B Wiki.Python script[EB/OL].(2009-08-29)[2009-12-11].http://wiki.blender.org/index.php/Doc:Manual/Extensions/Python.

[3] 沈殊璇,薄亚明.适合于科学计算的脚本语言Python[J].微计算机应用,2002(9):289-291.

[4] 李贺英,龚春秀,杨鹏.基于OpenGL的矿山井巷工程三维设计[J].矿业工程,2006(3):58-61.

[5] 朱权洁.基于Blender引擎的矿山虚拟现实自动建模与运输仿真研究[D].武汉:武汉科技大学,2010.

[6] 葛永慧,王建民.矿井三维巷道建模方法的研究[J].工程勘察,2006(10):46-49.

[7] 汪云甲,伏永明.矿井巷道三维自动建模方法研究[J].武汉大学学报:信息科学版,2006(12):1 097-1 100.

Auto-generation of mine shaft engineering model based on Blender

Xiong Mianguo1,Zhu Quanjie2,Liu Xiaoyun1,Lu Lei3,Sheng Jianlong1
(1.College of Resources and Environmental Engineering,Wuhan University of Science and Technology,Wuhan 430081,China;2.School of Civil and Environmental Engineering,University of Science and Technology Beijing,Beijing 100083,China;3.Wuhan Safety and Environmental Protection Research Institute,Sinosteel Corporation,Wuhan 430081,China)

Based on the open-source 3D software Blender and mining-based information database,this paper uses the Python programming language to arrive at the calculation method of mine geometric model.By calling Blender modeling engine through Python API,it has realized the auto-generation of 3D model of the mine shaft engineering.The model is found to be simple,feasible and what’s more,costless thanks to the use of completely open-source software.

3D visualization;3D digital mine;auto modeling;Blender;Python language

TD214

A

1674-3644(2012)04-0260-05

[责任编辑 徐前进]

2012-02-10

熊绵国(1984-),男,武汉科技大学硕士生.E-mail:chy-88621@163.com

盛建龙(1964-),男,武汉科技大学教授.E-mail:wkdsjl@163.com

猜你喜欢
井巷开源导线
小井巷
东华大学研发出可体内吸收型蚕丝导线
单导线防震锤复位装置方案设计
五毛钱能买多少头牛
2019开源杰出贡献奖
核工业井巷建设集团公司简介
矿山井巷掘进施工中危险源的判别方法
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
1000kV紧凑型输电线路导线排列方式优化