基于World Wind的三维空间数据场可视化研究_第1页
基于World Wind的三维空间数据场可视化研究_第2页
基于World Wind的三维空间数据场可视化研究_第3页
基于World Wind的三维空间数据场可视化研究_第4页
基于World Wind的三维空间数据场可视化研究_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于WorldWind的三维空间数据场可视化研究【摘要】:可视化技术已广泛应用于空间数据展示与辅助决策分析当中,传统的可视化技术只考虑数据本身的呈现,而忽略了其所处的地理环境的模拟还原,不利于进一步的数据分析。本文将三维空间数据场可视化与WorldWind相结合,通过MarchingCubes算法和点图标法,实现了对规则标量场和矢量场数据的可视化。由于WorldWind具有真实感极强的星球模型和丰富的影像资源,使得三维空间数据场的可视化结果变得更加生动与直观。【关键词】:WorldWind;三维空间数据场;可视化;MarchingCubes;点图标法中图分类号:O343.2文献标识码:A文章编号:1引言近年来,随着科学技术的发展,特别是计算机技术的迅猛发展,人类产生与获取的数据成数量级的增长。可视化技术就成为了人们从这些杂乱无章的数据中发现规律,获取有用信息的“第三只眼”。可视化技术的核心是对三维数据场的可视化,而三维数据场中有许多数据都与空间信息相关。例如,气压场、风场、位涡等气象数据。传统的可视化方法虽然能够很好的展现出这些空间数据,但是却不能模拟出它所在的地理环境。在对三维空间数据场进行可视化时,如果我们引入地形、影像、地物等数据,不仅使可视化结果更加生动与直观,还能帮助分析人员得到更加准确的结果。NASA的worldwind正好为三维空间数据场的可视化提供了一个良好的基础平台。由于其具有强大的卫星数据自动更新能力,并且开放源代码,我们可以在其基础上开发出各种三维空间数据场可视化系统。本文在worldwind的基础上,实现了两类不同的三维空间数据场可视化算法:基于等值面的标量场可视化方法和基于点图标的矢量场可视化方法,为三维空间数据场的可视化提供了另一种展现形式。2三维空间数据场的可视化方法2.1三维空间数据场的数据类型三维空间数据场的类型决定了对它进行处理和显示的算法和技术。数据类型的定义包括数据本身的类型和数据分布及其连接关系的类型1。按数据本身的类型分类。按数据本身的类型,三维空间数据场可分为:标量场、矢量场和张量场1。标量即是没有方向的量,如温度场、气压场等;矢量场是具有方向特征的标量场,如风场、电磁场等;将矢量按以坐标变换为基础的定义加以推广,就得到张量的定义1。按数据分布及其连接关系分类。按数据分布及其连接关系,三维空间数据场可分为:规则场和非规则场1。表示数据的网格单元都是大小和形状一致并排列规则的立方块则称之为规则场,否则为非规则场。2.2三维空间数据场可视化的基本流程尽管三维空间数据场的类型、数据分布及其连接关系不尽相同,但是其可视化的流程却大致相同。三维空间数据场可视化的基本流程如图1所示。图1三维空间数据场可视化流程其中可视化映射是整个流程的核心,它是指将原始数据转换为可供绘制的几何图元及其属性的过程2。绘制与显示是指通过计算机图形学的技术表达映射后的图元。本文中绘制过程采用OpenGL进行处理,而显示则借助于开源软件WorldWind。2.3标量数据场可视化方法标量数据场可视化算法主要分为两类:一类是直接体绘制算法,另一类是构造等值面算法。由于直接体绘制算法产生的结果是二维图像,不便于在三维空间中展示。因此本文采用等值面算法对标量数据场进行可视化。构造等值面算法的种类有很多,其中移动立方体算法(MarchingCubes)是构造等值面的经典算法,其基本思想如下:将规则数据场划分为若干个相互邻接且形状规则的小立方体。逐个判断数据场中的立方体,取出与等值面相交的立方体,通过插值计算出立方体与等值面之间的交点,并按照一定关系将这些交点连接成等值面,作为该立方体内等值面的逼近值。2.4矢量数据场可视化方法矢量数据映射是矢量场可视化的核心。目前还没有找到针对矢量数据场的通用可视化映射方法。这是因为自然界中并不存在表示矢量数据的显而易见的方法3。当前主要采用基于形状、颜色、纹理的映射方法4。这些方法各有优缺点,本文采用的是基于形状的映射方法点图标法。点图标是最简单且最直观的显示矢量数据的方法。对于每一采样点,用具有大小、方向和颜色的图标来映射该采样点矢量的大小和方向,常见的图标有箭头,锥体和有向线段5。用箭头表示矢量时,用箭头的长短来表示矢量的大小,用箭头的方向来表示矢量的方向,用颜色表示矢量场的另一属性值。3.WorldWind简介WorldWind是NASA推出的一款开放源代码的科普软件。它是一个数字地球仪,它将NASA、USGS(美国地质调查局),以及其它WMS(WebMapService)服务商提供的图像通过一个三维的地球模型进行展现6。WorldWind是一个开放的软件,它允许用户动态地进行修改。WorldWind最大的特点就是卫星数据的自动更新能力,这种能力使得WorldWind具有在世界范围内跟踪近期事件、天气变化、火灾等情况的能力。WorldWind共分为两个版本:.NET版和Java版。.NET版采用DirectX开发,而Java版采用OpenGL进行开发。本文探讨的是在WorldWindJava版上实现三维空间数据场的可视化。WorldWind采用“Overlap”的思想将三维场景通过多个图层叠加在一起7。它提供了一个抽象类:AbstractLayer,该类中含有一个抽象方法:voiddoRender(DrawContextdc)。通过参数dc,我们不仅可以调用OpenGL的API,还能获得当前三维场景的一些重要属性,如视点位置等。通过定义一个继承AbstractLayer类的新类,并在doRender函数中添加OpenGL图形绘制代码,便能够在WorldWind上实现三维空间数据场的可视化。4基于WorldWind的三维空间数据场可视化的实现4.1标量数据场可视化的实现4.1.1实验数据本例中的数据为气压场数据。采用规则格网的形式进行组织。数据的记录方式如下图所示:图2.气压场数据结构4.1.2标量数据场可视化的算法流程标量数据场可视化采用MarchingCubes算法来构造等值面,其过程如下:1)分层读取标量场数据。2)扫描两层数据,逐个构造体元(每个体元的8个顶点取自相邻两层)。3)将体元每个顶点与给定的等值面值进行比较,并构造查找表。4)根据查找表得到与等值面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论