基于Web3D技术的矿床三维可视化系统及应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



2 系统软件、 硬件架构
2 . 1 系统软件架构 根据 Java3D 三维可视化系统的体系结构及系统所 要实现的目标, 将系统软件架构分为网络浏览器端、 网 络应用服务器端和数据库服务器端三层结构, 实现了模 型显示、 模型管理和数据存储等功能, 如图 1所示。
图 2 系统硬件总体构架图
( 2)W eb 服务器。以 IIS 作为 W eb 服务器, 响应前 端事件、 发布数据、 调用后台应用或直接调用数据库。 ( 3)应用服务器。系统应用程序运行, 响应 W eb 服 务器请求, 调用数据库服务器, 返回 W eb服务数据集。 ( 4) 数据库 服务器。 M ySQL 作为数 据库服务 , 响应 W eb 服务器和应用服务器事件 , 返回数据集。
2009年第 5 期 /第 30 卷
黄 金 GOLD
机电与自动控制 29
基于 W eb3D 技术的矿床三维可视化系统及应用
韩丽娜 , 张旭芳 , 马
1 2

2
(1 . 北京立升茂科技有限公司 ; 2. 北京 科技大学金属矿山高效开采与安全教育部重点实验室 )
摘要: 基于 W eb3D 技术, 研究了在 B / S 环境下实现矿床三维可视化的方法 。 通过建立矿床地 质数据库及对原始数据的预处理、 坐标计算及插值处理 , 在所建立的系统软件、 硬件总体架构之下, 实现了 W eb 环境下矿床的整体显示、 分层显示、 剖切显示和品位区间显示。 结合某金矿的实际数 据对该系统进行了验证, 表明了系统的可靠性及准确性 。 关键词 : W eb3D; 矿床 ; 三维可视化
[ 5] [ 4]
W eb3D 技术可以简单地把它看成是 W eb 技术和 3D 技术相结合的产物 , 其本质特征 , 即网络性、 三维 性和交互性
[ 1~ 3]
பைடு நூலகம்
。随着计算机技术的发展及在矿山
的推广应用 , 一些矿山规划设计及三维仿真系统已经 能够逼真地、 动态地表达地矿工程的三维几何形态和 空间位 置关系, 譬如 Datam in e 、 Surpac、 M ineS ig ht等。 这些较为成熟的矿山软件系统大多基于客户端 /服 务 器 ( C lient /Server , C / S) 架 构, 而基 于浏览器 /服 务 器 ( B row ser/ Server , B / S) 架构模式下的矿山三维可视化 研究还比较少见。基于 W eb3D 的矿床三维可视化技 术 , 就是采用一定的数据结构 , 建立反映矿床地质结 构特征的数学模型, 运用 W eb 技术、 计算机图形学技 术和三维可视化显示技术 , 将涉及矿床特征的空间数 据在 W eb 浏览器中以三维形态生动、 形象地展现出 来 , 并通过对这些图形携带大量 的信息进行分析 研 究。随着新一代互联网技术的发展 , W eb 及 IPv6 等 技术正在使得传统的互联网应用发展成为可以支持 丰富的影音数据流、 海量的数据挖掘、 远程实时交互 及控制等功能。因此, 研究基于 B /S 结构的地 矿工 程三维可视化技术及系统正在成为 数字矿山 !技术 与系统的研究前沿之一。
1 系统实现技术
1 . 1 Applet技术 在基于 W eb 的人机交互技术中, 目前主要 有基 于插件的 Act iv eX、 F lash 、 SVG 等技术和基于 Java 运 行环境的 A pplet技术 两大类。其中 , 基于插件的 交 互技术 , 须事先通过 IE 下载插件程序后运行 , 且其往 往只能结合 W in dow s 平台运 行; 而 App let技术是 用
2009年第 5 期 /第 30 卷
机电与自动控制 31 性。为增加系统的实用性和可靠性 , 本系统选择了 3 种插值方法, 即多边形法、 距离幂次反比法以及普通 克立格法 , 以便于比较分析。之所以选择这 3 种方法 是基于这 3种方法已经有比较完善的理论基础, 在地 矿工程中被广泛认可及采用。在系统中, 通过设置相 关插值算法的参数 , 就可以实现数据插值的计算及插 值结果的存储 , 如图 4 所示。
图 3 地质数据库与系统之间的关系
际勘测中利用多次不同深度的测斜, 把它分解为不同 采样段的折线表示形式。因此 , 在处理钻孔数据时 , 假定钻孔是分为 n 段 ( n 为测斜次数 ) 的折线形式, 每 一段的折点分别处于相应的测斜点位置, 这样折点的 坐标可通过相应的测斜点来确定, 而钻孔上任一位置 的空间坐标值亦可根据折点的深度、 倾角和方位角的 计算来确定。 设钻孔上的某一点 ( x, y, z ) 处的孔深为 h, 方位 角为 , 倾角为 , 折点坐标 (x 0, y 0, z 0 ), 深度 h 0, 则钻 孔上该点的坐标可通过式 ( 1 )计算得到: x = x 0 + ( h - h0 ) cos cos x = x 0 + ( h - h0 ) cos sin z = z 0 + ( h - h 0 ) sin 在本系统中, 空间点的属性值 ( 包括品位和岩性 ), 可由原始样品化验数据推导求得, 其赋值方法如下: ( 1) 若所求点位于某一样品中间, 则该点的属性 同该样品。 ( 2) 若所求点位于两相邻样品的交界处 , 则该点 的属性同后一个样品。 ( 3) 若所求点位于样品之间的间断处, 则该点的 品位为 0, 视为岩石。 对所有的钻孔数据 , 依据上面的方法和规则, 就 可以将数据库中具有一定长度的样品数据处理成离 散的、 具有属性值的空间点数据。 3 . 3 空间体数据插值 在地矿工程中, 钻孔采样数据不同于其他领域内 所采集到的数据 , 钻孔原 始数据是离散的、 稀疏的。 要想得到相对准确的矿体几何形状和品位属性 , 就需 要通过空间数据插值计算。所谓空间插值即由已知 的空间数据来估计或预测未知的空间数据值。通过 插值能将对矿体勘测所获取的离散的、 稀疏的采样数 据整理成规则的、 有序的、 能够进一步形成体素的数 据 , 因而选择合理适宜的空间插值方法, 是描述接近 真实情况, 揭示物体内部规律的关键。 对于地质钻孔数据处理主要是根据地质钻孔数 据进行空间数据插值, 形成规则的体数据, 空间数据 插值的精确性直接影响到最后图形绘制结果的准确 ( 1)
中图分类号 : TD 679 文献标识码 : B 文章编号 : 1001- 1277( 2009) 05- 0029- 04
0 引

Java语言编 写的应用程序 , 可嵌入浏 览器中获取鼠 标、 键盘等外设信息, 并对事件做出响应, 在此过程中 仅需有 Java 运行环境的支持即可 , 无平台依赖性。 ( 1) Applet技术特征。 Applet 的生命周期包括 初始化、 开始、 运行和结束 等 4 个阶段 , 其具体过程 为 : 在 W eb 浏览器环境中, HTML 文件通过 W eb 服务 装载 App let程序及相关资源, 在该文件被创建时其 内部嵌入的 App let程序便开始进入运行状态, 并随 着文件的关闭 , App let程序也相应结束运行。 ( 2)基于 Applet系统实现。在实现过程中, 采用 Applet类的子类 JApplet类来完成 Applet的功能, 使用 户能通过点击鼠标、 敲击键盘等活动与系统进行会话, 实现图形的旋转、 平移、 缩放和光照设定等交互操作。 在安全方面, 采用 JDK1 . 2的数字签名工具来设定 Ap plet程序的安全性, 并通过比对网络所装载的数字签名 和客户端所持的数字证书来实现程序的安全。 1 . 2 基于 W eb 的三维可视化技术 目前 , 比较流行的基于 W eb 浏览器的三维可视 化工具 包 括 虚 拟 现 实 建 模 语 言 ( V irtua l Reality M ode ling L anguage , VRM L )、 X3D( Extensib le 3D) 及基 于 Java 语言的 Java 3D 等。尽管 VRML、 X3D 均可 产生交互式的虚拟现实场景 , 但两者在本质上仍属于 数据文件 , 缺乏对可视化算法的直接支持。基于 Java 的 Java3D 不仅能够像 VRML、 X3D 一样支持视景图 形处理, 还能够支 持更高层 次的图 形处理。 Java3D 是 SUN 公司在 OpenGL 和 VRML 的基础上开发的 , 用来开发三维图形和开发基于 W eb 的 3D 应用程序 ( App let) 的编程接口, Java3D 提供了大量的 AP I 用以 进行三 维 图 形 的 编 程。 应 用 Java3D 提 供 的 这 些 AP I , 能够非常方便对地矿三维实体进行造型、 渲染、 纹理、 消隐等功能的设计。并且 Java3D 基于 Java 编
3 系统功能实现
图 1 系统软件 总体构架
3 . 1 地质数据库的建立 数据库中的数据涉及各种钻孔数据, 这些数据是 实现矿床三维图形绘制的基础, 它们都是以表的形式 存储在数据库中, 主要包括基本信息表、 原始数据表 和结果数据表等。其中 , 基本信息表主要用于存放最 基本的地质数据信息, 包括水平分段表、 勘探线表、 岩 性表等; 原始数据表主要用于存放与原始采样数据相 关的数据信息 , 包括钻孔基本信息表、 钻孔测斜表、 钻 孔取样信息表及断层信息表等; 结果数据表主要用于 存放系统中对原始地质数据处理的结果信息, 包括规 则体素表、 插值结果数据表等。 考虑到应用的 实际环境 , 系统后台采 用 M ySQL 数据库, 数据库和应用程序的接口采用 JDBC 技术来 实现。 JDBC 是一项在 Java 中以面向对象的方法来 连接数据库的技术。它是对 ODBC AP I 进行的一种 面向对象的封装和重新设计, 它易于学习和使用 , 并 且能够使编写的程序不依赖于供应商的代码, 用以查 询和操纵数据库。 JDBC 提供了一些相当底层的方法 来存取数据库 , 同时也在相当层面提供了功能强大的 对象来处理数据库。数据库与矿床三维可视化系统 之间的关系见图 3 。 3 . 2 数据预处理 原始钻孔采样数据是具有长度而且大小不规范 的数据集合, 要使之能为后续的计算做准备 , 必须进 行规范化处理 , 在此统称为数据预处理。数据预处理 包括两个步骤 : 首先, 把原始钻孔采样数据处理成离 散的空间点数据; 然后, 对这些离散的空间点赋予相 应的属性值。 由于钻孔在空间并非是一条直线 , 地质人员在实
( 1) 网络浏览器端。以 Java3D 作为三维图形的 显示工 具, 用点、 线、 面、 体来表达矿床三维形态 ; 以 Applet作为用户 与三 维图 形的 交互 手段, 用 AWT、 Sw ing 等来响应键盘、 鼠标和其他外 围设备的事件 ; 以 JRE 和 JVM 作为客户层 Applet组件的容器和 Java 运行环境。 ( 2) 网络应用服务器端。以权限验证方式作为 系统信息安全手段, 用基于角色授权方式进行系统访 问安全控制 ; 以 JSP 作为应用系统基本展示工具 , 用 动态生成的 W eb 页 面来进行 业务数据 的发布和 查 询 ; 以 Struts作为系统逻辑处理 , 用 XML 进行业务逻 辑配置来控制 访问内容; 以 E JB 和 JavaBean 等 作为 业务模型, 用面向对象技术中的类来表示钻孔和矿床 的三维模型。 ( 3) 数据库服务器端。以空间数据库和关系型 数据库为对象, 以其概念层和物理层数据库设计为核 心 , 进行数据库框架和数据库结构的设计; 以矿床模 型为具体研究内容, 进行模型建立和存储, 从而为中 间层提供基本的数据支持 ; 以数据仓库和数据集的建 立为基础, 对矿床空间属性进行提取和分析, 从而为 后期的数据分析奠定基础。 2 . 2 系统硬件架构 系统硬件总体架构包括以下几个部分, 如图 2所示。 ( 1) 客户端。安装 JVM 1 . 5 以上版本进行 java 程序解释和运行 , 安装 java3d- 1_3- w in - openglsdk 实现 Java3D 的开发环境, 使用 IE 等浏览器访问应用 程序作为程序入口。
收稿日期 : 2009 - 03- 24 作者简介 : 韩丽娜 ( 1977
) , 女 , 山东青岛人, 主要从事数字矿山及三维可视化方面的研究 ; 北京市西城区西直门南大街 2号 , 成铭大厦 B 座 0124室, 100035
30 机电与自动控制 程语言 , 可以实现与 Java 编程环境的无缝联结, 这就 使采用 Java 开发 的矿床三 维可视化 系统 在集成 了 AWT 和 Sw ing 等窗口界面的同时 , 能够在硬件直 接 支持下获得强大的 3D 图形绘制功能。
相关文档
最新文档