三维建模在虚拟矿山系统中的应用1
赵建忠1,段康廉2
太原理工大学采矿工艺研究所(030024)
2
太原理工大学矿业工程学院(030024)
E-mail(zjz1976@21cn.com)
1
摘 要: 介绍了一种基于OpenGL开发虚拟矿山系统的建模方法和关键技术,探讨了虚拟现实技术在矿业中应用的意义和重要性,它不仅为矿山优化设计、生产管理、危险性评价及矿工培训等方面提供重要手段,而且在矿山安全、防灾救灾、奥灰水防治、水资源利用、环境保护等方面都具有广泛的应用前景。
关键词:虚拟现实;OpenGL;三维建模;矿井
1. 引 言
虚拟现实(Virtual Reality简称VR)技术是计算机生成的给人多种感官刺激的虚拟世界(环境),是一种高级的人机交互系统。它是以仿真的方式给用户创造一个实时反映实体变化与相互作用的三维界面,使用户可直接参与并探索仿真对象在所处环境中的作用与变化,它具有多媒体信息感知性、沉浸性、交互性和自主性等特点。研究和开发虚拟现实系统其根本目的在于扩展人类的认知与感知能力,建立和谐的人机环境。
近年来虚拟现实技术在矿业中应用也越来越广泛,并取得了较好的成果,利用虚拟现实技术创建出逼真的三维矿山工程环境,人们可以更加深刻地了解实际矿业工作环境,进行风险预测和矿山事故分析与再现,这种技术的研究开发无疑对提高煤矿安全生产、矿工安全保护意识和系统优化设计等具有重要的实用价值。
2. 矿井三维图形模型设计
2.1 三维几何建模方法研究
三维物体对象的几何模型是用来描述三维物体对象内部固有的几何性质的模型,所表达的内容包括: 1)对象基元的轮廓。形状以及反映基元表面特点的属性。如拱形巷道的拱顶、巷道的弯道都可作为基元;各基元的表面材质。纹理表示及其它属性。
2)基元之间的连接性,即基元结构或对象的拓扑特性。连接可用矩阵、树、网络等描述,如液压支架、工作面和巷道在三维空间的组合特性。
3)应用中要求的数值和说明信息,一般为非几何信息,如基元名称、基元的物理特性等。 三维对象的几何模型一般可以表示为分层结构,可以使用自顶向下的方法将其分解,也可以使用自 1
本课题得到山西省自然科学基金项目(20021076)资助。
_______________________________________________________________________________中国科技论文在线www.paper.edu.cn
底向上的构造方法重构一个几何对象。如图1.1所示。
虚拟场景 对象1 多边形1 纹理 光照 对象2 多边形m …… 对象m 图1.1 虚拟场景的树形结构
2.2 矿井模型设计
平台选用WindowsNT/Windows95、98操作系统及Visual C++软件开发环境。Visual C++软件开发环境支持WindowsNT/Windows95、98下的OpenGL应用程序接口,其面向对象的MFC类库框架为矿井模型的开发提供了方便。 2.2.1 井筒和巷道三维建模
井筒和巷道的基本形式有三种即圆形、梯形和拱形,其中以圆形巷道最为简单,可以采用OpenGL实用库中的基本函数gluCylinder()来直接实现,该函数的定义如下:
void gluCylinder(GLUquadricObj*obj,GLdouble baseRadius,GLdouble topRadius,GLdouble height,Glint slices,GLint stacks)
梯形巷道和拱形巷道相对要复杂一些,可以用自定义函数来实现,下面逐一进行介绍。 1)梯形巷道的构造
梯形巷道的主要构成要素为巷道的顶、底宽、高度和长度,其基本组成为四个侧面,其函数构成如下:
Void BuildTrapezia(GLfloat top,GLfloat bottom,GLfloat higth,GLfloat longth) 2)拱形巷道的构造
拱形巷道的构造相对要复杂一些,其难处在于其拱顶的构造要用到OpenGL中的求值器来构造,求值器是基于数学上的Bézier曲面的算法来生成曲面,绘制一个Bézier曲面的基本步骤如下:
a)用glMap2*()定义求值器,其函数定义见前一节。 b)用glEnable()激活相应的求值器。
c)用glMapGrid2*()命令指定网格,然后用glEvalMesh2()命令应用网格。其定义如下: void glMapGrid2{fd}(GLint nu,TYPE u1,TYPE u2,GLint nv,TYPE v1,TYPE v2); void glEvalMesh2(GLenum mode,GLint i1,GLint i2,GLint j1,GLint j2);
_______________________________________________________________________________中国科技论文在线www.paper.edu.cn
2.2.2 综采工作面的设备
综采工作面的主要设备为液压支架,一个完整的液压支架其组成经简化后可以由以下几个部分:液压支柱、底板和顶板及连接部分,各部分经简化均为基本形状,便于在OpenGL下建模,在构建整个支架前,考虑到要多次用到长方体基本形状,故先定义函数Box()来使建模更加简化,其定义如下:
void Box(GLfloat xdim,GLfloat ydim,GLfloat zdim);
其三个参数分别指定了长方体的长、宽和高,利用该函数分别绘制出出支架的顶、底以及连接部位。接下来要绘制的基本图形是圆柱体来表示液压支柱和绞接部位,OpenGL图形库为我们提供了用来形成锥体、柱体和球体等工具,这些形状函数使用了一个名为quadric(二次曲面)的专门镶嵌工具,在使用该工具前必须先定义和初始化,如下所示:
GLUquadricObj *obj; obj=gluNewQuadric();
定义完该工具即可以使用来绘制曲面,利用绘制圆柱的函数gluCylinder()在指定的地方绘制出所需的图形,如绘制液压支柱代码如下:
gluCylinder(pQuad,0.10,0.10,1.5,30,4); gluCylinder(pQuad,0.08,0.08,1.5,30,4); 完整的支架如图1.2所示。 2.2.3 井下运输巷道的组成
井下运输巷道主要绘制了风筒、人行走道和轨道,其中风筒和人行走道分别简化为圆柱面和立方体,用gluCylinder函数和Box()函数在适当位置绘制;轨道由三部分组成即:道床、轨枕和轨道,各部分均可由方形分解而成,其最后的生成如图1.3所示。
图1.2 程序生成的液压支架模型
图1.3 井下运输巷道三维模型
3. 虚拟矿山环境的实现技术
虚拟环境是一个相当复杂的系统,故只有采用面向对象技术的系统设计方法,才能满足开发虚拟环境的要求。虚拟环境的开发者不必从最基本的代码起步,而是在已有的虚拟环境系统开发工具的基础上进行工作。
_______________________________________________________________________________中国科技论文在线www.paper.edu.cn
3.1 系统结构组成
矿井虚拟现实系统软件的开发平台选用目前普遍采用的Windows操作系统及Visual C++软件开发环境。Visual C++软件开发环境支持Windows操作系统下的OpenGL应用程序接口。程序开发采用了Microsoft的MFC(微软基本类库)结构,从
虚拟场景绘制模块交互控制模块绘图环境设置模块而有效地以面向对象方式进行编程开发,并可通过C++的继承机制利用MFC基本类库的大量成员函数。
虚拟矿井系统主要由虚拟场景绘制模块、绘图环境设置模块和交互控制模块三个模块组成。其中虚拟场景绘制模块在虚拟矿井系统中具有举足轻重的地位,它也是本系统的核心,负责三维场景的构造、绘制和管理,在程序中主要由RenderScene()函数调用相应的绘制函数来完成;绘图环境设置模块负责整个场景的效果以及其在Windows窗口的显示,在程序中是由SetupRC()函数和ResetViewport()函数来完成;交互控制
模块主要负责响应外部消息来实现场景的漫游,实现该模块的函数是UpdatePosition()。整个程序的结构如图1.4所示。
各种巷道像素格式设置工作面设施虚拟矿井系统 图1.4 系统总体框架
3.2 矿井虚拟现实系统的人机交互技术
矿井虚拟环境是一个封闭的回路系统,虚拟环境生成系统将生成的用以仿真现实环境的图像通过人机交互系统作用到用户的感官,并实时与跟踪用户的行为与反应,以便实时调整生成的序列,用户则通过交互方式可以实际感知和响应虚拟环境。虚拟环境人机交互系统的作用是将得到的用户输入实时地反馈到虚拟环境系统中,而虚拟环境则可以根据这些输入来计算和生成新的视景以使生成的系统更加逼真,更加符合自然规律,并将新的结果再作用到用户作为新的激励。
为了设计一个友好的和实用的虚拟环境系统,有必要对虚拟环境系统的构成,特别是人机交互系
开始 渲染绘图环境 图形绘制显示 响应外部消息 (是否继续漫游?) 否结束 图1.5 人机交互系统流程图
是 统的构成,以及其中主要部件和模块的情况和设计有一个概括的阐述。流程图如图1.5所示。
…… 鼠标消息 键盘消息光照与材质设置 _______________________________________________________________________________中国科技论文在线www.paper.edu.cn
3.3 系统的实现
矿井虚拟现实系统即可作为虚拟矿山的一个模块,也可作为一个三维矿井浏览系统独立出现。该系统具备了三维矿井浏览的各项功能,具有了观察立体细节的能力,可能随观察者不同的位置来开辟新的观察。矿井设计者可以从他们的透视位置对矿井进行全面的立体观察,或者能从附近的建筑物看到他们所在地方的虚拟矿井,并且可以对虚拟矿井进行尺寸、外观的调整,直到满意为止,矿井的管理者能看到矿井未建成部分的实际情况、巷道布置以及井下巷道的实际光照等,如图1.6为一工作面的情形,图1.7则显示了巷道中不同光照的效果。
图1.6 工作面的情形
图1.7 光照不同下巷道中的情形
本系统的初步建成,还需要做很多工作,如通过优化减少内存消耗以提高运行速度,提高显示的真实性以增加用户的沉浸感,改善界面的友好性以方便用户操作,进一步提高系统的可维护性方便用户对系统的更新。
4 结论
本文论述了运用OpenGL与Visual C++结合开发虚拟矿山系统的原理和关键技术,可得出以下结论: 1)虚拟现实系统能够真实再现客观的采矿环境,使人能充分沉浸在其所创造的人工环境中实现感知模拟的现实,随着计算机图形学的发展,虚拟现实技术将在矿业系统中发挥重要作用。
2)矿业工程中的VR系统可根据具体情况采用进行不同层次的研究,初步研究时可采用较廉价的软、硬件系统,如:硬件可采用普通鼠标输入、显示器输出,软件采用OpenGL、DirectX等免费的开发程序。
3)要达到真实模拟环境系统,如对水、火焰、烟流等高复杂的自然体,还需将VR技术与实时绘制和雾化等手段结合才能完成。
4)虚拟技术在矿山安全与救灾、奥灰水防治、水资源利用、环境保护、优化设计、危险评估等方面等都有广泛的应用前景。
_______________________________________________________________________________中国科技论文在线www.paper.edu.cn
参考文献
[1] 乔 林,费广正,等.OpenGL程序设计[M].北京:清华大学出版社,2000:394-400. [2] 石教英.虚拟现实基础实用算法[M].北京:科学出版社,2002:130-134.
[3] 张瑞新,任廷祥,等.虚拟现实技术在矿山安全工程中的研究进展[J].煤炭学报,1999,24(1):70-73. [4] 戚宜欣,夏征义,汪 箭,等.虚拟现实技术在安全工程中的应用[J].中国安全科学学报,1999,9(6):49-53.
[5] B.Denby,D.Schofield.Role of virtual reality in safety training of mine personnel[J]. Mining Engineering,1999,10:59—64.
Application of 3-Dimensional Modeling
in Visual Mine System
Zhao Jianzhong,Duan Kanglian
Mining Technology Institute,
Taiyuan University of Technology, Taiyuan, PRC, 030024
Abstract
In this paper, the basic principle and key technology of virtual mine system which based on OpenGL are introduced. The necessity and significance of applying virtual reality technology to mining engineering were studied. It not only provide an important means to mining optimistic design , production management and dynamic risk assessment, but also lay a foundation for a further study on the application of visual reality technology to mineral industries.
shaft Key words: virtual reality; OpenGL;3 Dimensional Modeling; mine
作者简介:赵建忠,男,1976年11月生,助教,硕士研究生,研究领域:采矿技术,太原,030024
因篇幅问题不能全部显示,请点此查看更多更全内容