2.1 可视化的类型
2.1.1 科学可视化
科学可视化最初称为“科学计算之中的可视化”(Visualization In Scientific Computing, VISC),是可视化领域历史最久远、技术也最成熟的一门学科,可以追溯到晶体管计算机时代,计算机图形学在其发展的过程中扮演了关键性的角色。1982年,科学可视化技术的首次会议在美国举行,1987年科学可视化有了一个比较准确的定位——运用计算机图形学和图像处理的研究成果创建视觉图像,替代那些规模庞大而又错综复杂的数字化呈现形式,帮助人们更好地理解科学技术概念和科学数据结果。
科学可视化在工程和计算领域有着广泛的应用,其处理对象一般是勘测、测量、科学计算等所获取到的数据;而在数据可视化中,它的研究对象不仅包含科学可视化所涉及的领域,而且范围更加宽广,所以科学可视化是属于数据可视化的一个子集。更具体地说,科学可视化的处理对象普遍是拥有几何性质的物理数据,如具有结构特征的微观世界的粒子,具有方位和大小属性的宏观宇宙的各种天体,以及庞大而复杂的地理数据等,再将这些数据用计算机进行重新分析整合,在平面空间上生成类似于真实事物的三维立体效果图。除此以外,科学可视化也更具有生机和活力,即加上第四维度——时间上的变化产生动态感,无论分子、山脉还是城市外貌,都显得栩栩如生。科学可视化的研究重点有两个:一是判断可视化对象的类别,判断类别之后才能确定如何用计算机进行可视化表现;二是将研究对象以最接近真实事物的效果快速地绘制出来,不仅以单纯展示的方式显现出来,而且能通过虚拟空间的方式让人们身临其境,用视觉、触觉等交互方式进行观察、理解和研究。
1.科学可视化的发展方向
科学可视化所涉及的领域包括建筑学、气象环境学、医学、生物学、考古学、机械制造等,所以它所处理的对象是指具有空间几何特征数据的时空现象,需要对勘察、计算、实验模拟等获取到的数据进行描绘,并提供交互分析手段。所以其发展的方向也非常多样。
1)计算机动画
计算机动画是指利用计算机编程或动画制作软件来生成动态图像的艺术和科学技术。目前,计算机动画的创建工作越来越多地使用三维计算机图形学手段,尽管当前二维计算机图形学依然在体裁化、低带宽以及更快实时渲染的需求方面有着广泛的应用。计算机动画的应用已非常广泛,它可以应用于多媒体,用于增加感官效果;也可以应用于游戏开发、电视动画,用于增加人们的视觉体验;甚至在广告和电影特技中也有计算机动画的身影。
2)计算机模拟
计算机模拟,又称为计算机仿真,是指利用计算机程序或网络对特定系统模型的模拟。对于许多系统的数学建模,计算机模拟已经成为了必不可少的有效组成部分。例如,天文学、计算物理学、生物学及化学领域的天然系统;经济学、心理学及社会科学领域的人类系统。在工程设计过程以及新技术当中,计算机模拟的目的是深入认识和理解这些系统的运行情况,观察它们的行为表现。
3)视觉通信
随着科学研究的不断发展,科研内容和形式日益多样化,科研信息的交流较过去更为困难。科研人员不仅需要与自己的研究工作进行可视化交互,而且需要通过视觉方式与同行进行交互,以达到“让同行看到自己所看到的信息”这一程度。
4)界面技术与感知
界面技术与感知所要揭示的是新的界面、对基本感知问题的深入理解、如何为科学可视化领域创造新的机遇。
5)远程可视化
远程可视化不仅可使人们更容易地进行快速的信息交流,而且能将本地机的图形处理能力和远程机的计算能力结合起来,充分发挥各种机型的能力。这需要解决网关协议解码、图像传输(包括压缩、还原、成图、识别和解释)及分布处理等问题。
6)立体可视化
立体可视化,又称为三维可视化,可以很容易地实现图形的虚拟真实性,也可以使观察者的视野深入复杂物体的内部世界。立体可视化最初应用在医学成像领域,而如今已经成为许多学科领域的一项基本技术。当前,对于各种现象的描绘,如气象、地震、分子结构及生物结构,立体可视化已经成为一项十分重要的技术方法。许多立体可视化算法都具有高昂的计算代价,需要大量的数据存储能力做支撑,硬件和软件方面的各种进展正在不断促进立体可视化和实时性能的发展。
2.科学可视化的分类
根据数据种类的划分,科学可视化可以分为体可视化、流场可视化、大规模数据可视化等。由于各个研究对象之间的差异和区别,科学可视化发展出了一系列的方法和理论。随着超大型电子计算机和平行计算技术的发展以及海量数据的可视化需求,大规模数据可视化是科学可视化领域的重要课题之一。
(1)体可视化(Volume Visualization)的研究对象主要是体数据。三维采样数据是工程领域及医学领域等各类科学领域中常见的数据类型(见图2-1)。体可视化技术包括等值面的抽取技术(Iso-surfaces Extraction Technique)、直接体绘制(Direct Volume Rendering)等。通过直接体绘制,研究者可以在屏幕上非常直观、详细地查看三维空间体内部的信息,而不需要通过逐层切片去观察。体绘制可以很好地揭示不同对象内部结构和信息。体可视化领域的研究主要着眼于如何更好地渲染和传达三维数据内部信息,如何自动挖掘和利用信息,如何更精确、快速地渲染和更好地交互,以及如何更好地运用计算能力等。具体而言,包括体绘制本身的算法、传递函数的设计、时变及大规模数据的处理等。随着数值模拟和传感器技术的发展和普及,有越来越多的体数据需要处理,数据的规模、时空精度也有飞速的提高。体可视化方法也在提供着更强的渲染和信息传达能力,对众多科学、工程及医学领域提供强大的支持。
图2-1 体可视化
(2)流场可视化是科学可视化领域的一个重要分支,在流体研究中发挥着重要的作用(见图2-2)。它运用计算机图形学和图像处理技术,将流场数据转换为二维或三维图形、图像或动画进行呈现,并详细分析其模式和相互关系,是计算流体力学研究与工程实践中不可缺少的手段。流场可视化方法在天气预报、航空和航海动力学、流体力学、医学医疗等众多领域都已有着重要而广泛的应用。常见的流场可视化有直接法、纹理法等。这些方法使用基本的图形元素,包括等高线、标志、场线、等直面、纹理等反映流场形态,组合并构建虚拟风洞系统,辅之以交互分析手段,为相关领域专家提供有力工具。
图2-2 二维流场可视化
(3)大规模数据可视化是将海量数据进行可视化的技术,其研究重点是如何高效快捷地对海量的数据进行处理。随着现代超大规模电子计算技术的发展,科学家可以利用大规模计算机集群(如我国自主研制的超级计算机“神威·太湖之光”),对各类自然现象进行模拟研究,包括地震预测、宇宙起源等。虽然计算速度得到了迅猛的发展,但是对于在计算过程中所产生的大规模海量数据却缺乏有效的手段进行存储、传输及可视化,进而理解分析其中的信息。大规模数据可视化最大的瓶颈是硬件可同时处理数据的能力以及数据读取的带宽。在有些应用中,数据的规模往往达到了TB、PB量级,甚至有向EB量级发展的趋势,现有的方法难以进行处理。在大规模数据可视化中,可以通过并行计算及并行IO等技术来克服这些瓶颈,实现海量复杂数据的可视化。并行计算算法的效率、可伸缩性以及可靠性等课题是研究的重点。此外,近年来提出的现场可视化(In-Situ Visualization),即在数值模拟的同时,利用一部分计算能力对数据可视化,成为大规模数据可视化领域的焦点。
3.科学可视化常用方法
科学可视化常用方法有颜色映射方法、等值线方法、立体图法和层次分割法,以及矢量数据场的直接法和流线法等。
1)颜色映射方法
可视化系统中,常用颜色表示数据场中数据值的大小,即在数据与颜色之间建立一个映射关系,把不同的数据映射为不同的颜色。在绘制图形时,根据场中的数据确定点或图元的颜色,从而以颜色来反映数据场中的数据及其变化,如图2-3所示。
图2-3 某宇宙飞船周围空气密度分布
2)等值线方法
等值线是制图对象某一数量指标值相等的各点连成的平滑曲线,由地图上标出的表示制图对象数量的各点采用内插法找出各整数点绘制而成的。每两条等值线之间的数量差额多为常数,可通过等值线的疏密程度来判断现象的数量变化趋势。等值线法往往与分层设色的表示手段配合使用,即采用改变颜色深浅、冷暖和阴暗来表示现象的数值变化趋势,使图面更清晰、易读。另外,往往在等值线上加数字注记,便于直接获得数量指标。等值线法除用于表示空间现象数量的连续而逐渐变化的特征外,还可表示现象随时间的变化、现象的重复性(频度)等。
3)立体图法
立体图像已逐渐成为国内外相关领域的研究热点,其应用前景非常广泛,如3D TV、自由视点TV(Free viewpoint TV)、3D照相机、3D电影、3D家庭影院、计算机游戏、计算机绘图、运动、远程教育、医疗、军事、工业、商业、虚拟视点合成等方面。这些领域不仅仅需要高质量的图像信号,对图像的附加信息要求也很高,如图像中物体的深度信息等,立体图像在这些领域中发挥更为重要的作用。图2-4所示为立体分子模型。
图2-4 立体分子模型
4)矢量数据场的直接法和流线法
矢量数据主要是指大比例尺地形图。此系统中图层主要分为底图层、道路层、单位层,合理的分层便于进行叠加分析、图形的无缝拼接以实现系统图形的大范围漫游。矢量数据一般通过记录坐标的方式来尽可能将地理实体的空间位置表现的准确无误,显示的图形一般分为矢量图和位图,如图2-5所示。
图2-5 矢量数据的流线法效果
4.科学可视化系统的组成
根据科学可视化系统主要功能的要求,科学可视化系统大致可由以下几部分组成:数据的管理与过滤,提取几何图元和建立模型,绘制,显示和播放。其中数据的管理与过滤是对科学计算或工程模拟、观测所得到的大量数据进行管理,可以是文件系统、数据库等,它们中的数据需进行过滤、加工,以便建立模型。提取几何图元和建立模型是可视化系统的主要部件,由不同类型的数据(点、线)构造成表面或体素模型,这一部件是构造、仿真、分析、提取模型的机制。而绘制这一部件是利用计算机图形学的成果,进行图像的生成、消隐、光照及绘制。显示和播放是为了取得有效的显示效果,这一部件将提供图片组合、文件标准、着色、旋转、放大、存储等功能,在一定意义下起着“胶”的作用,是一个相关的环境部分。
目前,众多的科学可视化系统采用“可视化流水线”作为理论模型,如图2-6所示。
图2-6 可视化流水线
该模型将整个科学可视化过程划分成模拟、预处理、映射、绘制、解释5个步骤,数据经由这一流水线依次被加工处理,直至成为能够为科技人员所理解的视觉信息。每个步骤的作用如下。
(1)模拟:对物理现实的数学模拟,它将自然现象的变化复杂的多维数据反映出来,或通过一系列的观察实践形成一系列反映研究目标或对象的数据集。
(2)预处理和映射:两部分通常合并在一起,是整个“流水线”的关键,大数据体经过该步骤处理被映射成有一定含义的几何数据,即用一定的几何空间关系表示计算或模拟数据体。
(3)绘制:通过形状、颜色、明暗处理、动画等手段,将隐藏在大数据集中的有用信息呈现给观察者。
在科学可视化系统的研究中,数据的显示(可视化)是最为核心的部分,也就是将数据用图形有效地描绘出来。在当前的研究中,三维数据的可视化是其中最重要的研究课题之一。三维数据的可视化主要有造型(Modeling)和绘制(Rendering)两类算法,造型方法又分两种,即传统的曲面造型(Surface modeling)和现代的基于体元(Cell)的体造型(Volume modeling)。绘制方法也有两种,即传统的曲面绘制(Surface rendering)和现代的基于体素(Voxel)的体绘制(Volume rendering)。传统的曲面造型方法根据研究对象及视点、光源之间的空间几何关系进行曲面造型,然后进行表面明暗处理。常见的曲面绘制方法有层断面绘制和等值曲面绘制两种。早期的计算机图形学研究较多的就是曲面造型方法和曲面绘制方法,而体造型和体绘制是科学可视化中才刚开展起来的两种新方法。在目前的可视化系统中,曲面造型和体绘制方法有着广泛的使用,而有关体造型的研究比较少。