- 06/18
- 2012
-
QQ扫一扫
-
Vision小助手
(CMVU)
摘 要: 在三维地质构模问题已经基本解决的基础上,本文重点研究计算机虚拟环境下三维地质模型的可视化分析技术,并介绍在作者研发的三维地质建模及可视化系统中所应用到的具体实现技术,包括三维模型的几何变换、三维交互定位与空间属性查询、三维模型的剖切、虚拟钻探、基坑开挖、隧道生成与虚拟漫游等。这些操作采用面向软件的技术,通过对现有的二维设备进行三维仿真,为全方位、多角度的认识和理解三维地质实体模型提供了强有力的支持。
关键词: 三维地质模型;可视化;三维交互;虚拟现实
1 引 言
三维地质模型是指采用适当的数据结构在计算机中建立的能反映地质构造的形态、各构造要素之间的关系以及地质体空间物理、化学属性分布等地质特征的数学模型[1-3]。三维地质模型具有确定性、可视性、可修改性等基本特征。利用三维地质模型可以以三维真实感图象的形式形象地表达地质构造的真实形态、特征以及三维空间物理、化学属性参数的分布规律。计算机虚拟环境中的三维地质模型为地学工作者与现实世界中的三维地质体架起了一座交流的桥梁,建立可视化的三维地质模型不仅能够展示模型的外观,还能建立起一种信息交流与反馈的机制,尽可能灵活自然地表达地质实体模型外表以及内在的各种信息。在三维地质构模问题已经基本解决的基础上[4-20],本文主要研究计算机虚拟环境下三维地质模型的可视化分析技术,并介绍在作者研发的三维地质建模及可视化系统中所应用到的具体实现技术。
目前,关于三维模型的交互与可视化分析,可通过两种方式来实现[10, 21]:一种方式是使用真正的三维交互设备如三维操纵杆、数据手套等来实现直接三维交互,这是一种面向硬件的方法,但这些硬件大都价格昂贵;另一种方式是通过现有的二维设备进行三维仿真,它是一种面向软件的方法。在作者研发的三维地质建模及可视化系统中,采用后一种方法来实现地质实体模型的三维交互与可视化分析。
2 三维地质模型的几何变换
三维地质模型可视化的基本操作包括模型放大、缩小、平移、旋转等基本功能。三维交互首先要解决的问题是建立屏幕上的二维点坐标与三维空间坐标的对应关系,并将二维屏幕上光标的移动映射到三维空间的变化。由于鼠标在二维屏幕上的移动只提供两个变化的参数,要将这两个参数映射到三维空间,需要采取几何变换的途径。
基于目前的三维图形渲染引擎,三维地质模型的平移功能实现算法较为简单,模型的缩放和旋转却有多种不同的实现方式。本文采用基于视口分割投影法的模型缩放技术实现三维视窗中的模型缩放,并利用Arcball技术来实现模型的无滞后旋转。
三维视窗中的开窗放大表现为用户用鼠标开窗拉一个矩形,然后将矩形内的三维图形显示在整个屏幕窗口中;缩小窗口是将当前的显示比例调小,但实现方式却正好相反。基于视口分割投影法的模型缩放技术的实现原理是:根据用户输入的开窗矩形范围大小,计算出由其到屏幕窗口的放大倍数,然后将放大倍数应用到三维场景的投影矩阵中,改变投影参数,将指定范围内的三维模型变换到整个窗口大小并渲染显示出来。模型无滞后旋转功能的实现一直是三维模型几何变换中的难点,本文采用Arcball技术有效的解决了这一难题,其具体实现细节可参见文献[22]。
3 三维交互定位与空间属性查询
利用二维交互设备通过软件方法来实现三维交互定位与空间属性查询是三维地质建模及可视化系统必须提供的基本功能。这一技术的发展经历了三个阶段[10, 23]:最初的方式是采用对话框、通过录入交互数据(指令)的方式来实现对三维空间坐标及属性的访问(这也是目前大多数三维地质建模软件所采用的方法);另一种方式是采用二维交互定位的方式,即在屏幕上只显示数据场中某个二维切片数据,用户可利用鼠标直接在其上指定欲访问点;第三种方法则是直接进行三维交互定位。直接进行三维交互定位的技术关键是建立屏幕二维坐标与三维空间坐标的对应关系。显然,仅用光标是无法区分出三维场景中的所有点的,因此必须加入适当的辅助线或辅助面,具体实现时也就分为两个层次,即基于切片方式的三维交互定位与空间属性查询和基于直接拾取方式的三维交互定位与空间属性查询。
基于切片方式的三维交互定位技术采用辅助面方法进行空间点的定位。其基本思想是:二维屏幕上的一个点与三维场景中的无数个点对应,无法确定其在三维空间中的深度信息,通过构造并添加适当的辅助面以后,二维屏幕上的点就可以展现出辅助面上点的空间深度信息,这就为三维空间数据的属性值量测与查询提供了有效依据。
基于切片方式的三维交互定位与空间属性查询的优点在于它符合地质工作者用一组二维切片来进行地质分析的习惯,并且速度快,能在一定程度上表现拾取点的深度值,但是无法将拾取到的点与周围环境形成对比。如果能够直接展现拾取点在三维地质实体中的空间位置,将大大提高地质工作者对三维模型的理解,于是自然会想到直接在三维地质实体中进行拾取与定位,这可采用辅助线的方式来实现,基本思想是:对于三维空间中确定的一点,可构造三条通过该点的辅助线来表现空间点的深度信息(如图1所示)。
采用直接拾取方式进行空间属性数据的量测与查询时,需要实现点在三维场景中的任意运动,这个任意运动是点沿着这三个轴方向的运动的合成,因此可以进行分解,具体实现时可利用鼠标和键盘这两种设备来实现点在三维空间中的任意运动。
图1 基于直接拾取方式的三维交互定位与空间属性查询
4 三维地质模型的剖切
针对地质数据建模的特点,分别设计并实现面向地质结构建模和地质属性建模的三维空间数据模型[24]:对于地质体结构模型,采用一种基于边界表示、面向地质实体并兼顾拓扑关系的三维矢量数据模型,并将基于TIN面的多层DEM模型作为其一个特例;对于地质属性数据模型,采用经过优化的三维栅格数据结构来组织表征地质体内部物理、化学属性的规则体数据。与这两种数据模型相对应,地质实体模型的剖切技术也分为两类:基于非规则体数据的剖切技术和基于规则体数据的剖切技术。
4.1 规则体数据的剖切技术
基于规则体数据的剖面显示技术分为求交式剖面显示方法和插值式剖面显示方法两种[25,26]。求交式剖面显示是先确定出体元的的棱线与剖面的交点以及交点处的场值,并对交点进行排序,得到一个带值的多边形的顶点序列,从而获取剖面的数据,再对其按照扫描线方法或其它方法进行显示。插值式剖面显示方法是先计算出剖面与三维体数据场的包围盒相交而生成的多边形,以及该多边形对应的纹理图像,再采用纹理映射技术对剖面进行显示。这两种方法各有其优缺点。基于求交的剖面显示算法需要测试较多的体元,并要保存所生成的多边形数据,时间、空间消耗都较大,但是生成的图像质量好。因此,该方法适合于体数据量较小、体数据格网点之间间距较大以及显示区域也较大的情况。基于插值的剖面显示算法,对空间的消耗较小,速度较快,实现方便,但是其精度稍逊于基于求交的剖面显示算法。
基于三维地质物理、化学属性数据的特点(数据量大,计算量大),本文采用插值式剖面显示方法来进行规则体数据的剖切。图2显示了对基于规则体数据的三维地质属性模型进行切割、开挖处理后的效果。
图2 基于规则体数据的三维地质属性模型剖切效果图
4.2 非规则体数据的剖切技术
对于非规则体数据的剖切,目前研究较多的是三角网剖切技术。本文采用一种基于OBB树的三角网切割算法TRICUT[27]来实现非规则体数据的剖切。该算法由三个核心部分组成:用于三角形对碰撞检测的OBB(Oriented Bounding Boxes)树结构;用于三角网求交后重新三角化的约束Delaunay 三角化算法;用于三角网切割后的三角形数据分类算法。
三角网切割算法TRICUT的实现步骤如下:
①确定相交三角形对。将切割面三角网和被切割面三角网分别输入,建立OBB树,通过三维碰撞检测找到两个网格中所有的相交三角形对。
②对每一个相交三角形对计算交点(去掉重复点)。两个相交三角形的交点计算方法有多种。一般可将三角形对求交分解为线段与三角形求交。理论上每个非共面的三角形对最多有6个交点,但除去重复点,最多只有两个交点。计算交点时,凡是少于两个交点的情况,都不予保存和处理。
③对计算出的交点进行排序,得到两个三角形网格之间的交线。交点的排序方法如下:在计算三角形对的交点时,对每个三角形对中计算的交点对,都记录下了两个交点所形成的边。根据交点边首尾相邻的关系,就可以找出两个三角网之间的交线,从而得到有序的交点序列。
④重新三角化每个相交三角形。根据约束Delaunay 三角化算法进行三角化,同时利用相交三角形重新三角化后的结果替换原始的相交三角形。
⑤重新确定每个三角形的邻接关系。每个三角形都有三个邻接边,其中边界上和交线上的三角形的邻接三角形赋空(因为只可能保留交线一侧的三角形网格),其他的边上需要准确地确定其邻接三角形。确定方法就是根据原始的网格数据和三角化后的网格的相互拓扑关系来确定。
⑥根据切割面与被切割面三角网之间的位置关系,整理被切割面三角形网格,将其沿着交线分为两个不同的网格。
三角网切割算法TRICUT为基于非规则体数据的地质结构模型的剖切处理奠定了基础。在对三维地质结构模型中的每一个地质界面都进行切割处理之后,还需要将切割后所生成的每个地质块体内相邻的地质界面进行缝合(即根据相邻地质界面外边界轮廓线构造环状网格曲面),从而形成各个地质块体外边界面网格,即可生成剖切后的完整的三维地质结构模型。
4.3 剖切路径的定义与实现
对三维地质模型进行剖切处理的一个关键步骤是定义剖切路径。本文分三种情况来定义剖切路径,即:平面剖切、折线剖切和组合切割(图3)。按剖切轴位置的不同,平面剖切可分为X面位置、Y面位置和Z面位置等三种剖切方式。折线剖切提供了三种路径生成方式,即通过选择特征点(如地质钻孔点等)生成路径、通过在三维实体模型上进行鼠标操作输入路径以及直接输入坐标生成路径。组合切割则允许对已经进行了切割的模型进行再次切割。通过定义不同的切割路径,可生成立体剖面图、栅状图、平切图、斜切图等可视化的图件(图4)。
图3 剖切路径的定义
图4 三维地质模型剖切效果示例
5 基坑开挖
基坑开挖效果的实现可通过组合切割的方式来处理,只是在输入切割路径时要使路径闭合以形成封闭的开挖体。图5展示了通过组合切割的方式来实现的基坑开挖效果图。
图5 基坑开挖效果图
6 虚拟钻探
虚拟钻探是指在建立三维地质模型后,模拟在某个感兴趣的位置进行钻孔,了解模型内部的地质体属性和结构状况[28]。虚拟钻孔的布置可以是垂直的,也可以是倾斜的。用户通过交互确定钻孔点,获取该处钻孔的“岩芯结构”和可视化结果。虚拟钻探的实现涉及到两个问题:①虚拟钻探点的定义,这可通过前面介绍的三维交互定位技术实现在三维地质模型上任一点的定位并将之作为虚拟钻探点。②虚拟钻探孔与三维地质模型各地层面的求交处理,在求出各个交点之后,还要将相邻的点两两连接起来,以连续线(钻孔岩芯)形式展现在用户面前。另外,为了更清晰的展示虚拟钻探时局部钻探点与整体模型的关系,可利用OpenGL的融合与消隐功能实现模型的半透明绘制[28]。
7 隧道生成与虚拟漫游
为了更加准确全面的观察地下地质信息,可采用隧道模拟并进行虚拟漫游。在生成隧道时,关键问题是将三维地质模型外表面与隧道进行求交,然后保留地质实体模型外表面中隧道模型以外的部分。如图6所示,采用虚拟漫游的方式进行人机交互的自主漫游,可使用户可以根据自己的意愿观察隧道内的地层分布情况。通过转换视角,实现仰视、俯视、左视、右视等效果,隧道中还可以配以灯光、纹理贴图、雾化等效果以增强场景的真实感[28-30]。虚拟漫游可以模拟三维地质模型中的隧道开挖过程,为地下工程设计、施工提供动态可视化的地质参考依据。
图6 隧道虚拟漫游效果示例
8 结 语
由于地质体空间形态的复杂性和多样性,在不同的空间区域、不同的采样精度下,地质体往往是千差万别、形态各异的,如何对这些结构复杂的地质体及相关地质数据进行可视化的分析与表达,如何充分、完整、交互式的展示、切割、综合、分析三维地质图形,一直是相关领域的研究热点。虚拟现实技术作为一种先进的人机交互接口,为地学工作者提供了一个具有高度真实感的三维交互环境,使用户能够操作模拟环境内的地质实体,并能够从环境中得到自然的反馈。本文介绍了在作者研发的三维地质建模及可视化系统中实现的通用三维交互与可视化操作,包括三维模型的几何变换、三维交互定位与空间属性查询、三维模型的剖切、虚拟钻探、基坑开挖、隧道生成与虚拟漫游等,这些操作为全方位、多角度的认识和理解地质实体模型提供了强有力的支持。
参 考 文 献
[1] Thomas A. Jones. Modeling Geology in Three Dimensions[J]. Geobyte, 1988, 3(1): 14-20.
[2] Mallet J L. Geomodeling[M]. New York: Oxford University Press, 2002.
[3] Simon W. Houlding. 3D Geoscience Modeling: Computer Techniques for Geological Characterization[M]. Berlin: Springer-Verlag, 1994.
[4] 焦养泉,朱培民,雷新荣.地学空间信息可视化技术应用研究[J].地质科技情报,2005,24(1):1-6.
[5] 陈少强.一个以“移动立方体法”为关键技术的人机交互三维地质建模系统[D].北京: 中国地质大学(北京),2002.
[6] 孟小红,王卫民.地质模型计算机辅助设计原理与应用[M].北京: 地质出版社,2001.
[7] Vito Roberto, Claudio Chiaruttini. Modeling and Reasoning Techniques in Geological Interpretation[J]. IEEE Transactions on Systems, Man, and Cybernetics-Part A: Systems and Humans, 1999, 29(5): 460-473.
[8] 钟登华,李明超,杨建敏.复杂工程岩体结构三维可视化构造及其应用[J].岩石力学与工程学报,2005,24(4): 575-580.
[9] 武强,徐华.三维地质建模与可视化方法研究[J].中国科学(D辑,地球科学),2004,34(1): 54-60.
[10]颜辉武.体视化技术及其在地下水资源研究中的应用[D].武汉: 武汉大学,2002.
[11]Alan M. Lemon, Norman L. Jones. Building solid models from boreholes and user-defined cross-sections[J]. Computers & Geosciences, 2003, 29(3): 547-555.
[12]徐能雄,何满潮.层状岩体三维构模方法与空间数据模型[J].中国矿业大学学报,2004,33(1): 103-108.
[13]芮小平,杨永国.一种基于三棱柱的三维地质体可视化方法研究[J].中国矿业大学学报,2004,33(5): 284-288.
[14]WU Q, XU H. An effective method for 3D geological modeling with multi-source data integration[J]. Computers & Geosciences, 2005, 31(1): 35-43.
[15]徐华,武强.复杂地质体中多值面的网格生成算法[J].计算机辅助设计与图形学学报,2002,14(7): 609-612.
[16]毛善君.灰色地理信息系统: 动态修正地质空间数据的理论和技术[J].北京大学学报(自然科学版),2002,38(4): 556-562.
[17]李建华,边馥苓. 工程地质三维空间建模技术及其应用研究[J]. 武汉大学学报(信息科学版), 2003, 28(1): 25-30.
[18]GONG J Y, CHENG P G. Three-dimensional modeling and application in geological exploration engineering[J]. Computers & Geosciences, 2004, 30( 4): 391-404.
[19]YAOHONG D J. An Interactive 3-D Mine Modeling, Visualization and Information System[D]. Kingston, Ont., Canada: Queen’s University, 1998.
[20]刘勇奎,周晓敏.虚拟现实技术和科学计算可视化[J].中国图象图形学报,2000,5(9): 794-798.
[21]曹代勇,王占刚.三维地质模型可视化中直接三维交互的实现[J].中国矿业大学学报,2004,33(4): 384-387.
[22]KEN Shoemake. Arcball: A user interface for specifying three-dimensional orientation using a mouse[A]. In: Proceedings of the conference on Graphics interface '92[C]. Vancouver: Morgan Kaufmann Publishers, 1992: 151-156.
[23]刘修国.城市地质信息平台三维关键技术研究[D].武汉: 中国地质大学, 2004.
[24]ZHU Liang-feng, WU Xin-cai, PAN Xin. Probe into Key Techniques of Regional-Oriented 3D GIS[J]. Journal of China University of Mining & Technology,2005, 15(2):141-147.
[25]唐泽圣.三维数据场可视化[M]. 北京: 清华大学出版社,1999.
[26]石教英,蔡立文.科学可视化算法与系统[M].北京: 科学出版社,1996.
[27]C.H. Lindenbecka, H.D. Ebertb, H. Ulmera. TRICUT: a program to clip triangle meshes using the rapid and triangle libraries and the visualization toolkit[J]. Computers & Geosciences,2002,28(6): 841-850.
[28]曹代勇,王占刚.三维地质模型特殊可视化操作的实现[J].煤炭学报,2004,29(4): 422-424.
[29]黄文静,唐龙,唐泽圣. 体绘制及三维交互技术在地质数据可视化中的应用[J]. 工程图学学报,1998, (3): 60-66.
[30]张煜,温国强. 三维体绘制技术在工程地质可视化中的应用[J]. 岩石力学与工程学报,2002, 21(4): 563-567.
- 上一条:二维矢量动画创作系统的设计与实现
- 下一条:特定条件下的图像超分辨重建快速算法