论文部分内容阅读
[摘 要]本文主要是根据国家海洋局北海分局的业务需求,开发出一套三维可视化平台来满足国家海洋局北海分局的业务需要。通过此平台,用户可以根据经纬度信息来动态加载海底数据并进行实時动态漫游,同时根据地理位置和时间变化动态生成各种海洋要素数据。
[关键词]海洋数据 三维可视化平台
中图分类号:TF046.6 文献标识码:A 文章编号:1009-914X(2013)20-195-02
引言
“数字海洋”随“数字地球”理念应运而生,它通过卫星、遥感飞机、海上探测船、海底传感器等进行综合性、实时性、持续性的数据采集,把海洋物理、化学、生物、地质等基础信息装进一个“超级计算系统”,使大海转变为人类开发和保护海洋最有效的虚拟视觉模型。作为 “数字海洋”中十分关键的技术支撑环节,研究和开发面向海洋空间数据场的可视化新理论与方法,以及对海洋环境摸拟再现与仿真的虚拟现实技术,并将它们应用于海洋研究与实践,无疑具有十分重大和现实的意义。
1基于WEB三维可视化平台设计
1.1 体系结构
三维可视化及渤海地形地貌示范平台由数据层、业务逻辑层和应用层3层构成。如图1所示
图1 系统体系结构图
数据层是三维可视化及渤海地形地貌示范平台的数据来源,负责海洋基础数据的存储和读写。主要包括海洋地形数据和海洋要素数据,其中海洋地形数据主要有多波束测量、旁扫声纳、浅地层剖面等数据,海洋要素数据主要包括标量场数据(温度、盐度、密度、气温、气压、湿度等)和矢量场数据(波、浪、海流、风等)。这些海量数据经过特殊处理后会按照地理坐标位置和分辨率来存储到oracle数据库中,并为数据可视化展示提供统一接口,提高系统可复用性。
逻辑业务层通过对数据层访问,实现所有的业务逻辑。其中海底数据可视化是利用Direct9.0 SDK对实时读入内存的分块海底地形数据进行实时渲染。标量场海洋要素数据采用体绘制算法、面绘制算法、非规则数据场可视化等经典算法,通过使用IDL交互数据语言对基于标量的海洋要素数据进行实时渲染。矢量场海洋要素数据采用直接可视化,基于几何形状的可视化,特征可视化技术。通过使用IDL交互数据语言对基于矢量的海洋要素数据进行实时渲染。
应用层通过将从逻辑层获取的海洋数据并利用可视化模块进行渲染,将海底地形数据和海洋要素数据以三维和其它形式进行实时展示,供用户进行实时观测。
1.2 功能结构
三维可视化及渤海地形地貌示范平台由2个功能模块组成,具体功能模块如图2所示。
图2 系统功能结构图
1 海底地形可视化可以为用户提供良好的实时360°海底漫游,同时用户可以根据海底地形的某一点或某一区域的位置信息来查询该点或该区域的海洋要素信息。
2 海洋要素可视化主要是将各种海洋要素数据以不同的形式展示在用户面前,使用户可以全方位的了解和预测海洋信息的变化。其中海洋要素的展示方式包括等值线,等值线填充图,体绘制,单点过程曲线,矢量图,三维曲线图等。
2 渤海地形地貌可视化研究
2.1 大规模散乱数据建模
海洋数据可视化过程中会涉及到对散乱数据进行处理,主要包括对散乱数据进行插值或拟和,形成曲线或曲面并用图像或图形表示出来。本文用到的海洋数据包括多波束测量、旁扫声纳、浅地层剖面等地形数据,本文针对这些数据的特点,采用了MQS局部法进行的散乱数据建模。即通过MQS法先进行分区插值,然后再拼接为一个整体。相对于原始的MQS方法,减少了插值计算次数,提高了计算机的执行效率。
通过利用上述方法,将海量散乱的地形数据就转化为便于渲染的规则有序的数据,便于后期的渲染。
2.2 海量地形数据组织
大范围场景三维显示需要处理大量的空间数据,这些数据如何存储,采用怎样的数据结构进行组织,对于系统最终描述场景的真实感和动态效果由着重要的意义。本文将整个场景数据分块处理,利用LOD技术将不同细节层次,不同地域覆盖范围的多个子场景来代替原来的大规模三维场景。通过空间数据索引机制,将各个子场景根据空间关系组织起来,最经搭建一个有不同层次的多个子场景结构点构成的金字塔结构,从而保证后期渲染效率。
2.3分块数据实时调度
大规模的三维地形可视化涉及大量的空间数据,其数据调度的执行效率直接影响到场景绘制的连贯性和交互能力。本文首先根据用户传进的经纬度坐标参数来确定第一块需要读入内存进行渲染的地形数据块,剩下的数据块读入则根据用户前一段时间内的运动规律,预先判断接下来可能到达的观察和观察方向,将下一时刻需要进行绘制的场景数据事先调入内存中,从而提高绘制的连续性。
2.4 三维海量地形简化技术
地形简化技术的原则是尽可能保持原始地形模型的特征下,最大限度的减少需要渲染的三角形和顶点数目。本文采取LOD四叉树简化技术,首先判断需渲染的节点是否与视截体相交,如果相交则根据公式1来判断此节点是否进行四叉树分割(f<1分割,否则不分割),不符合条件的节点则不需要分割,从而在渲染的时候达到减少渲染节点的效果。
公式1 其中d表示观察者与节点的距离,e表示节点边长(如图3所示),C1 C2分别代表距离分辨率和高度分辨率(常量)
图3 节点分割
2.5纹理实时映射
为了更真实的显示地形,需要利用纹理映射技术来增加地形的真实感,用单张大纹理使得一个地形具有照片般的真实感,无论对应用本身还是对数据库管理来说都是相当复杂的。本文将纹理图像分割成一定大小的块,绘制时将地形几何数据与纹理块相对应,根据每帧多边形的变化不断舍弃就纹理块和装入新纹理块,从而保证了纹理映射的精度和效率。
3结论
本文利用DirectX 9.0 SDK和IDL7.0开发出一套基于Web的海洋信息动态展示系统。利用高效的数据建模,存储,调度,渲染技术将整个渤海海底地形在B/S架构的基础上以3D的形式展现出来。将渤海的各种海洋要素通过点,线,面,体四种形式展现出来,使用户能够全方位的了解整个渤海全貌信息。
参考文献:
[1] 戴晨光,邓雪清,张永生. 一种海量地形数据实时可视化算法[A]全国第13届计算机辅助设计与图形学(CAD/CG)学术会议论文集,2004 .
[2] 张剑波,刘修国. 线性四叉树在基于LOD的地表模型绘制中的应用[J].计算机工程与应用,2002,38(38):46-47.
(由国家海洋公益性行业科研专项经费项目“渤海海洋环境信息集成及动态管理技术示范应用(200905030)”资助)
[关键词]海洋数据 三维可视化平台
中图分类号:TF046.6 文献标识码:A 文章编号:1009-914X(2013)20-195-02
引言
“数字海洋”随“数字地球”理念应运而生,它通过卫星、遥感飞机、海上探测船、海底传感器等进行综合性、实时性、持续性的数据采集,把海洋物理、化学、生物、地质等基础信息装进一个“超级计算系统”,使大海转变为人类开发和保护海洋最有效的虚拟视觉模型。作为 “数字海洋”中十分关键的技术支撑环节,研究和开发面向海洋空间数据场的可视化新理论与方法,以及对海洋环境摸拟再现与仿真的虚拟现实技术,并将它们应用于海洋研究与实践,无疑具有十分重大和现实的意义。
1基于WEB三维可视化平台设计
1.1 体系结构
三维可视化及渤海地形地貌示范平台由数据层、业务逻辑层和应用层3层构成。如图1所示
图1 系统体系结构图
数据层是三维可视化及渤海地形地貌示范平台的数据来源,负责海洋基础数据的存储和读写。主要包括海洋地形数据和海洋要素数据,其中海洋地形数据主要有多波束测量、旁扫声纳、浅地层剖面等数据,海洋要素数据主要包括标量场数据(温度、盐度、密度、气温、气压、湿度等)和矢量场数据(波、浪、海流、风等)。这些海量数据经过特殊处理后会按照地理坐标位置和分辨率来存储到oracle数据库中,并为数据可视化展示提供统一接口,提高系统可复用性。
逻辑业务层通过对数据层访问,实现所有的业务逻辑。其中海底数据可视化是利用Direct9.0 SDK对实时读入内存的分块海底地形数据进行实时渲染。标量场海洋要素数据采用体绘制算法、面绘制算法、非规则数据场可视化等经典算法,通过使用IDL交互数据语言对基于标量的海洋要素数据进行实时渲染。矢量场海洋要素数据采用直接可视化,基于几何形状的可视化,特征可视化技术。通过使用IDL交互数据语言对基于矢量的海洋要素数据进行实时渲染。
应用层通过将从逻辑层获取的海洋数据并利用可视化模块进行渲染,将海底地形数据和海洋要素数据以三维和其它形式进行实时展示,供用户进行实时观测。
1.2 功能结构
三维可视化及渤海地形地貌示范平台由2个功能模块组成,具体功能模块如图2所示。
图2 系统功能结构图
1 海底地形可视化可以为用户提供良好的实时360°海底漫游,同时用户可以根据海底地形的某一点或某一区域的位置信息来查询该点或该区域的海洋要素信息。
2 海洋要素可视化主要是将各种海洋要素数据以不同的形式展示在用户面前,使用户可以全方位的了解和预测海洋信息的变化。其中海洋要素的展示方式包括等值线,等值线填充图,体绘制,单点过程曲线,矢量图,三维曲线图等。
2 渤海地形地貌可视化研究
2.1 大规模散乱数据建模
海洋数据可视化过程中会涉及到对散乱数据进行处理,主要包括对散乱数据进行插值或拟和,形成曲线或曲面并用图像或图形表示出来。本文用到的海洋数据包括多波束测量、旁扫声纳、浅地层剖面等地形数据,本文针对这些数据的特点,采用了MQS局部法进行的散乱数据建模。即通过MQS法先进行分区插值,然后再拼接为一个整体。相对于原始的MQS方法,减少了插值计算次数,提高了计算机的执行效率。
通过利用上述方法,将海量散乱的地形数据就转化为便于渲染的规则有序的数据,便于后期的渲染。
2.2 海量地形数据组织
大范围场景三维显示需要处理大量的空间数据,这些数据如何存储,采用怎样的数据结构进行组织,对于系统最终描述场景的真实感和动态效果由着重要的意义。本文将整个场景数据分块处理,利用LOD技术将不同细节层次,不同地域覆盖范围的多个子场景来代替原来的大规模三维场景。通过空间数据索引机制,将各个子场景根据空间关系组织起来,最经搭建一个有不同层次的多个子场景结构点构成的金字塔结构,从而保证后期渲染效率。
2.3分块数据实时调度
大规模的三维地形可视化涉及大量的空间数据,其数据调度的执行效率直接影响到场景绘制的连贯性和交互能力。本文首先根据用户传进的经纬度坐标参数来确定第一块需要读入内存进行渲染的地形数据块,剩下的数据块读入则根据用户前一段时间内的运动规律,预先判断接下来可能到达的观察和观察方向,将下一时刻需要进行绘制的场景数据事先调入内存中,从而提高绘制的连续性。
2.4 三维海量地形简化技术
地形简化技术的原则是尽可能保持原始地形模型的特征下,最大限度的减少需要渲染的三角形和顶点数目。本文采取LOD四叉树简化技术,首先判断需渲染的节点是否与视截体相交,如果相交则根据公式1来判断此节点是否进行四叉树分割(f<1分割,否则不分割),不符合条件的节点则不需要分割,从而在渲染的时候达到减少渲染节点的效果。
公式1 其中d表示观察者与节点的距离,e表示节点边长(如图3所示),C1 C2分别代表距离分辨率和高度分辨率(常量)
图3 节点分割
2.5纹理实时映射
为了更真实的显示地形,需要利用纹理映射技术来增加地形的真实感,用单张大纹理使得一个地形具有照片般的真实感,无论对应用本身还是对数据库管理来说都是相当复杂的。本文将纹理图像分割成一定大小的块,绘制时将地形几何数据与纹理块相对应,根据每帧多边形的变化不断舍弃就纹理块和装入新纹理块,从而保证了纹理映射的精度和效率。
3结论
本文利用DirectX 9.0 SDK和IDL7.0开发出一套基于Web的海洋信息动态展示系统。利用高效的数据建模,存储,调度,渲染技术将整个渤海海底地形在B/S架构的基础上以3D的形式展现出来。将渤海的各种海洋要素通过点,线,面,体四种形式展现出来,使用户能够全方位的了解整个渤海全貌信息。
参考文献:
[1] 戴晨光,邓雪清,张永生. 一种海量地形数据实时可视化算法[A]全国第13届计算机辅助设计与图形学(CAD/CG)学术会议论文集,2004 .
[2] 张剑波,刘修国. 线性四叉树在基于LOD的地表模型绘制中的应用[J].计算机工程与应用,2002,38(38):46-47.
(由国家海洋公益性行业科研专项经费项目“渤海海洋环境信息集成及动态管理技术示范应用(200905030)”资助)