《地学三维可视化与过程模拟》实验指导实验一地质灾害三维可视化建模实验实验目的:1、掌握一款地学方面三维可视化软件,了解三维可视化概念及其原理。2、使用地学相关数据,使用三维可视化软件,建立地质三维模型。实验原理:根据采集得来的地理信息数据以及地下地质数据,利用三维可视化建模软件,使用手动创建图元,自动创建图元等人机交互功能,搭建起三维地质模型,能如实的反应出地上地形情况以及地下岩层分布情况,通过三维可视化分析,能清楚的反应出该区域的相关地质信息,提供与专家或相关技术人员做进一步的分析。实验过程:1、软件安装双击QuantyHazard3D1.0.msi文件,安装QuantyHazard3D1.0三维可视化软件。2、数据整理(该部分一个完成的三维可视化建模中的一部分,由于实验课时间有限,在实验课上的数据是整理好的半成品数据,并且删除部分复杂的数据源)3、三维建模(该部分是由学生在上级实验课上独立完成的内容。为了减少难度和适应课上演练,以下实验数据是经过简化后的某地区岩溶塌陷地质灾害勘探数据)(1)用QuantyHazard3D软件打开实验数据.gvp文件,里面有整理好的三维数据,打开之后效果如下图。(2)使用菜单中‘编辑’—‘条件选取’功能,选择如下图配置。再次使用菜单中‘编辑’—‘条件选取’功能,选择如下图配置。就创自动画出了杂填土底层的上下控制节点,如下图:关闭其他图层,只打开‘杂填土上节点’图层,如下图:按住Ctrl+A,全部选中这些控制数据点,使用菜单功能‘三维建模’—‘创建TIN面’,就可以创建出杂填土层的上表面。如下图:同理创建出杂填土下表面,如下图:选中杂填土的上表面和下表面,使用菜单功能‘编辑’—‘多面体编辑’—‘自动生成体’,生成一个封闭的地层体。如下图:对照岩芯模型里面的颜色和属性,对应修改地层体的颜色和属性。如下图:以此类推创建出其他地层,把建立的地质体模型放在‘地质体模型’图层中,没有‘地质体模型’图层的自己新建一个。最终结果如下图:(3)建立‘地层面模型’图层,建立一套地质体模型的面模型,简称地层面模型,主要用于计算面积和纹理的功能需要。把所有的多边面图形数据全部转移到‘地层面模型’图层中如下图:从上至下一次建立多边形性面的侧面,下面以一个地层的上下面为例子。首选把其他图形隐藏,只留下一个地层的上下面,为每一个面创建一条边界线。选中一个面,单击右键,在右键菜单中点击‘边界成线’,就能够创建一条边界线。如下图:同理创建下表面的边界线,隐藏面图形,如下图:然后选中两条边界线,使用菜‘图形工具’中‘自动造多边形’,即可生成地层侧面。如下图:同理依次创建其他地层的面模型,并且又该显色和属性,最终的面模型如下图:(4)加载地表影像图,选中地层面最上层的表面,单击右键,点击右键菜单中的‘属性’菜单,即可弹出属性页对话框,使用‘纹理贴图’功能,找到已经准备好的地表影像图,进行纹理。如下图:(5)对‘地层面模型’图层中其他地层侧面和底面进行纹理。选中一个地层的侧面,点击右键,点击右键菜单中的‘属性’菜单,即可弹出属性页对话框,使用‘纹理贴图’功能,找到已经准备好的纹理图片,进行纹理。如下图:然后使用该属性页中的编辑功能,根据实际情况选择合理的坐标映射模式,进行纹理。如下图。然后同理依次纹理侧面,如下图:实验结论:在实验结束以后,根据自己做实验的情况,以实习论文形式提交个人实验心得和实验结论。课后练习:使用给定实验数据或者自己模拟创建的数据,在QuantyHazard3三维可视化软件中建立一个完成的三维地质模型。实验二三维可视化分析实验目的:1、加深对三维建模软件的使用,掌握软件三维可视化分析操作和原理。2、了解三维可视化分析各个功能的编程原理和基本算法。实验原理:利用QuantyHazard3D开发完成的“地质灾害体三维可视化分析”软件,对三维地质灾害体进行三维建模,生成三维数字灾害体,然后对三维地质灾害体进行剖面图切割、地质块体切取、方量计算、真三维检索查询等可视化分析,以支持地质灾害综合分析与预测预报。实验过程:1、计算长度计算先选中一根线条,使用菜单‘模型分析’—‘数量计算’—‘长度计算’就能得出该先跳到长度,用于测量距离、路程和周长来用。如下图:面积计算选中一个面,使用菜单‘模型分析’—‘数量计算’—‘面积计算’,即可计算出该区域面积。如下图:体积计算选中一个体,使用菜单‘模型分析’—‘数量计算’—‘体积计算’,即可计算出该区域体积。如下图:2、图例显示打开地质体模型图层,关闭其他图层,选中全部图形,然后点击菜单‘显示’—‘显示颜色图例’—‘显示图例’,然后弹出图例编辑对话框,如果有不满意的地方可以做一下调整,点击确定。如下图:3、剪切剖面先点击菜单‘模型分析’—‘剖面分析’—‘剪切剖面线’,然后任意画一条直线,即生成一组剖面线。如下图:4、剪切分析先点击菜单‘模型分析’—‘快速剪切地质体’,然后任意画一条直线,即生成一组剪切后的地质体。如下图:5、开挖分析先点击菜单‘模型分析’—‘快速工程开挖’,然后任意画一条折线,即生成一组开挖后的地质体。如下图:6、截面分析先点击菜单‘模型分析’—‘快速截面分析’,然后任意画一条折线,即生成一组截面。如下图:实验结论:在实验结束以后,根据自己做实验的情况,以实习论文形式提交个人实验心得和实验结论。课后练习:1、根据软件的操作手册指导,自己尝试完成其他分析功能,例如图例分析,布尔运算分析等。2、实习基本结束,全面了解并且掌握软件的使用,并且了解其中的原理。实验三基于QuantyView的二次开发实验目的:1、了解地学三维可视化软件,掌握地学三维可视化的基本原理。2、熟悉基于QuantyView的二次开发,掌握地学三维可视化软件基本框架的搭建。3、通过QuantView平台软件的二次开发,了解地学三维可视化技术的应用方法。实验原理:QuantyView是由中国地质大学(武汉)地质信息科技研究所研发的具有完全自主版权的国产三维可视化地质信息系统平台。它是建立于基层单位(数据采集点)或主管部门、可以对各种地质数据进行收集、存贮、管理、处理和使用的基础性和综合性技术系统。该系统采用行业或部门统一的数据模型、标准的代码体系,可以实现从野外数据采集到室内数据综合整理、平剖面图件编绘、真三维可视化分析,再到国土资源和工程地质条件综合预测评价、科学管理与决策、地下工程(包括地下管线)和资源开发设计,乃至成果的保存、管理使用和出版印刷等等的全程计算机辅助化。QuantyView的架构设计与开发应该具有高起点,前瞻性,可扩充性,遵循软件工程原理与方法,设计开发成一个具有明显核心技术优势的可配置、可搭建式的平台系统(如下图所示)。该系统的设计以地质矿产点源信息系统理论框架为指导,由QuantyView2D和QuantyView3D两部分组成。其中,QuantyView3D是用VisualC++和OpenGL开发的具有完全自主版权的三维地质可视化软件平台。该平台具有强劲的真三维图形数据和属性数据编辑模块;提供各种专业的可视化分析工具;可以分别利用钻孔、平硐、槽探、竖井、勘探剖面图和构造平面图等来生成三维数字地质体;所生成的三维地质体可以进行空间数据和属性数据的双重可视化查询和分析。以QuantyView3D为基础平台设计的软件系列有广泛的用途,能实时、快速、动态地获取、管理和处理各种矿山开采、油气资源勘探、水利、水电、高速公路、铁路、隧道、桥梁、地铁、防空设施等地质勘查和设计施工信息,可用于资源评价、城乡建设、环境监测、地震区划、灾害防治和规划决策等领域。对于信息源所在处或基层勘查单位而言,它们是功能强劲的微型工作站;而对于国家的国土资源信息系统而言,它们是信息齐备的网络结点。QuantyView层叠式复合结构作为地质信息系统三维可视化软件平台,QuantyView3D框架由9个相对独立又相互联系的模块组成:(1)基本图形模块:是三维平台图形核心基础模块,实现基本图元以及图元组织和渲染等基本图形功能;(2)科学计算模块:支持数据处理、空间分析、功能应用等基本的科学计算,主要是一些数学算法。它的数据结构以及开发尽量考虑跨平台、独立性;(3)数据管理传输模块:利用点源数据库进行地质数据的存储、查询、调度等,C/S及B/S模式的数据传输;(4)文件转换信息模块:实现地质3D数据文件的标准化,以及与其他通用的同类软件之间的数据交换处理;(5)可视化显示模块:为地质建模、交互编辑、空间分析、专题应用提供一个三维可视化的环境,要求快速、逼真、多形式;(6)交互编辑模块:封装三维可视化平台的常用编辑功能,要求方便快捷人性化;(7)地质建模模块:负责地表、地质体、地质工程建筑等的模型构建;(8)空间分析模块:封装地质空间的常规分析方法;(9)专题应用模块:总结地质信息化工作的项目成果,发展基于平台的专题应用产品。如矿山、地质调查、城市建设、地下管线、油气盆地、水文地质、工程地质、灾害地质等专题。QuantyView3DFramework???????????????????????????????????????????????????????????QuantyView3D模块组成本次实验利用VisualC++2010开发工具,基于QuantyView提供的二次开发包(SDK),通过SDK包的一系列动态链接库,搭建专题应用软件架构,能够实现一般的地学三维可视化功能。以数字矿山产品为例,QuantyView3D的SDK开发包主要包括数学库GV3dMath、实用库GV3dUser、图形库GV3dBase、算法库GV3dAlgorithms、输入输出库GV3dFileIO、资源库GV3dRes、框架库GV3dFrame以及三维系统原型QuantyView3D。基于此二次开发包,开发人员可以开发地质专题如数字矿山的专题动态库GV3dMine,更进一步可以基于QuantyView3D系统原型快速开发专题产品,如“紫金山矿区三维可视化系统”。基于QuantyView3D的专题动态库及产品二次开发架构其中,GV3dMath库包含有常用的数学计算函数;GV3dUser库主要是简单的GUI类;GV3dBase库是SDK包的核心,包含有图形对象类;GV3dAlgotithms库主要是各类分析函数;GV3dFileIO库包含有对一些常用三维格式的数据文件的输入输出函数;GV3dRes库是对话框等界面资源;GV3dFrame库集成了Document及View的基本框架,避免了开发人员重复三维可视化环境框架的搭建开发。在整体架构上,QuantyView3D采用的是两线交叉模式,一方面从三维可视化环境角度分为“World-Project-Looker-Render”模式,另一方面从数据组织上分为“Project-Map-Layer-3dObject”模式。其中,CGV3dWorld类总管三维可视化环境;CGV3dProject类负责三维数据对象的组织,它采用的是“Project-Map-Layer-Object”模式,即一个工程(Porject)下有多个图幅(Map),一个图幅包含有多个图层(Layer),一个图层包含有多个图形对象(3dObject),图形对象主要是点(CGV3dPoint)、线(CGV3dPolyline)、面(CGV3dPolygon与CGV3dSurface)、体(CGV3dPolyhedron)等几种基本图元类。QuantyView3D基本框架实验步骤:QuantyView3D的SDK包主要包括build、include、lib、libd等四个文件夹,其中build文件夹主要是主框架或其他动态库的源码文件夹,include是QuantyView3D平台二次开发用到的头文件,用户自定义的动态库的头文件也可统一放到该文件夹,lib文件夹是32位Release版本的平台库,libd文件夹是32位Debug版本的平台库。一般的二次开发主要是程序员根据应用专题开发动态库或者应用程序EXE,源码一般放在bu