论文部分内容阅读
数据可视化是20世纪80年代提出并得到发展的一门新兴技术,指运用计算机图形学和图像处理技术,将数据转换为图形或者图像在屏幕上显示、并进行交互处理的方法和技术,它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互技术等多个领域。数据可视化可以形象、直观地显示数据计算的中间结果及最终结果,并且能够进行交互处理,因而许多抽象的、难以理解的原理和规律变得易于理解,许多冗长而枯燥的数据就变得生动有趣,应用领域由最初的科学计算扩展到数学、物理、化学、生物、地质、医学等领域。运用可视化处理数据,不但减轻了科学工作者的工作量,也丰富了应用领域的研究、推动相关学科的发展,因此,数据可视化成为计算机学科一个重要的研究方向。
OpenGL(Open Graphics Library)是SGI公司开发的一个开放式三维图形软件库,提供了清晰明了的各种图形函数,利用这些函数可以方便地建立二维、三维模型,并能进行实时交互。由于它能确保在多种平台间的顺利移植而以不牺牲绘图性能为代价;能提供一种简洁自然的方式简化编程的复杂度;具备足够的柔韧性和连续性,易于扩展等优点,OpenGL成为许多计算机公司的图形标准。本文主要进行了基于OpenGL的数据可视化算法及实现流程的研究,为以后在更多的领域开展相关工作奠定一定基础。文中首先阐述了数据可视化的国内外研究现状及其应用领域。然后介绍了OpenGL的工作环境和工作过程,并开发了基于OpenGL和MFC的程序模块:等值线模块和三维表面显示模块。最后将程序模块应用于珠江口地区的航磁异常数据处理,取得较好应用效果。主要成果有以下几个方面:
(1)数据分析与处理。航磁异常是地下地质体的综合场效应,为得到有效磁异常需消除背景区域异常和浅部磁性体异常,采用二次趋势面消除低频背景异常,采用低通滤波、向上延拓消除高频浅源干扰异常。并采用克里金差值法对数据进行网格化,生成程序需要的数据文件。
(2)研究了OpenGL,的编程环境及技术。OpenGL是一个开放的图形库,绘制图形必须建立在一定的平台上。本文以Microsoft Visual C++6.0为平台,通过创建包含OpenGL相关功能的C++图形类(包括像素设置、绘图环境设置等),实现MFC与OpenGL的链接,可以方便地在MFC中调用OpenGL的任意函数。
(3)开发了基于OpenGL的可视化软件。采用模块化的方法进行编程,为功能扩展提供方便。软件包括两个模块:等值线模块、三维表面图模块。各模块内部采用自顶向下的设计方法,先设计模块的整体,如设计数据录入,软件采用的数据格式、建模方法、功能特征,再依据设计好的流程图,编程实现。等值线模块通过读入grd格式的文件,自动生成等值线,并且能够进行交互处理,如添加、删除、更改等值线等。三维表面图模块通过读入二进制文件,自动生成三维图形,并且可以对图形进行缩放、旋转、改变填充方式等操作。
(4)对软件进行实例化。利用本文编写的等值线模块及三维表面模块对珠江口地区航磁异常数据进行处理,获得了数据的等值线图及三维表面图,结合地质资料对等值线进行分析和解释,得出珠江口地区深部地质构造情况,比如断裂的位置、可能的走向等,为预防地质灾害提供一定的依据。
对于数据可视化及其应用还有许多需要进一步研究的地方,主要如下:
(1)本文仅研究了等值线的理论知识和生成算法,通过编程实现了等值线绘制,并实现了部分交互操作。对于等值线的光滑、填充、标注等内容的理论知识及算法都没有进行详细研究,也没有编程实现。等值线是数与图的结合,绘制等值线,并进行光滑、填充、标注,以及交互处理,才能使等值线发挥最大作用,这将是以后研究的一个方面。
(2)三维表面模块仅实现了三维物体的绘制,没有叠加地物实体及相关文字注记。对于人机交互方面仅实现了旋转、缩放及改变填充方式,很多其他交互功能没有实现,如切片、数据提取等。实现更多方便、实用的交互方式也是以后研究的方向。
(3)软件的系统设计还有待完善,比如只能读取特定格式的数据,其他数据不能读入;绘制出的图形不能保存,也不能进行修改,图形的颜色也不能进行交互控制等,都是需要完善的地方。
(4)地质资料的解释要根据给定的地层数据及其属性进行研究,用接近实际的方式描绘它,从各个角度观察它。因此,要进行实地考察,并结合更多的相关资料,进一步对珠江口地区进行地质解释。并尝试将应用领域从航磁数据延伸到其他领域的数据。
(5)数据可视化在图形的动态显示、交互式控制、绘制高度真实感的场景等方面发展迅速,要进行更加深入的研究。比如,把数据可视化建立在数据库上,以便在可视化表现方法中引入更多数据属性信息:实现更多的交互控制,以便操作更加方便,软件也更加实用;加强有关算法优化研究,提高软件的运行效率等。
数据可视化作为一种蓬勃发展的新兴技术,虽然在软硬件及处理算法上都取得很大进步,但很多方面还有待提高和完善,比如改进算法和数据结构、结合高速网络、研制针对可视化的图形加速设备等。数据可视化与虚拟现实技术、计算机动画技术、人工智能、数据挖掘、数字地球、经济趋势。甚至与人类基因组计划等前沿学科都有密切的联系,有效处理和解释这些包含大量信息的海量数据将是人类面临的巨大挑战,同时也是数据可视化诱人的应用前景。