1 什么是科学计算可视化
科学计算可视化(简称可视化,英文是Visualization in Scientific Computing,简称ViSC)是计算机图形学的一个重要研究方向,是图形科学的新领域。
    Visualization”一词, 来自英文的“Visual, 原意是视觉的、形象的,中文译成“图示化”可能更为贴切。事实上,将任何抽象的事务、过程变成图形图像的表示都可以称为可视化。与计算机有关的如可视化界面(Windows),可视化编程(Visual C++)等。但作为学科术语,“可视化”一词正式出现于19872月美国国家科学基金会(National Science Foundation,简称NSF )召开的一个专题研讨会上。研讨会后发表的正式报告给出了科学计算可视化的定义、覆盖的领域以及近期和长期研究的方向。这标志着“科学计算可视化”作为一个学科在国际范围内已经成熟。
    科学计算可视化的基本含义是运用计算机图形学或者一般图形学的原理和方法,将科学与工程计算等产生的大规模数据转换为图形、图象,以直观的形式表示出来。它涉及计算机图形学、图像处理、计算机视觉、计算机辅助设计及图形用户界面等多个研究领域,已成为当前计算机图形学研究的重要方向。
    研究表明,人类获得的关于外在世界的信息数据可视化是什么80%以上是通过视觉通道获得的。经过漫长的进化,人类视觉信息处理具有高速、大容量、并行工作的特点。常言所说“百闻不如一见”,“一图胜过千言”,就是这个意思。这些特点早已为祖先们所认识和应用。 古长城上的烽火台,显示了先民的智慧,可以将重要的信息迅速大范围传递。作为千百年来文明载体的“图书”,“图”是在“书”前的!“河图洛书”的传说,显示出“图”在我们文明的发端及以后的发展中所起的作用。今天,设计图是借助纸张的媒介表达创意,工程图是现代工业生产的依据。可视化依然继续着借助形象化方法表达人类意图的传统。我们将看到,可视化技术产生的图是一种全新的形式。
    可视化技术的出现有着深刻的历史背景,这就是社会的巨大需求和技术水平的进步。可视化技术由来已久,早在20世纪初期,人们已经将图表和统计等原始的可视化技术应用于科学数据分析当中。随着人类社会的飞速发展,人们在科学研究和生产实践中,越来越多地获得大量科学数据。计算机的诞生和普及应用,使得人类社会进入了一个信息时代,它给人类社会提供了全新的科学计算和数据获取手段,使人类社会进入了一个``数据的海洋'',而人们进行科学研究的目的不仅仅是为了获取数据,而是要通过分析数据去探索自然规律。传统的纸、笔可视化技术与数据分析手段的低效性, 已严重制约着科学技术的进步。随着计算机软
、硬件性能的不断提高和计算机图形学的蓬勃发展,促使人们将这一新技术应用于科学数据的可视化中。
    借助航天航空、遥感、加速器、CT(计算机断层扫描)、MRI(核磁共振)、计算机模拟(如核爆炸)等手段,人类获取数据的能力飞速提高,每天产生的数据已经不是大量,而是称为海量。一项统计表明,人类每天需要处理的数据量在80年代一般是在百万字节数量级,90年代已经增加1000倍以上,而且增加的趋势还在加强。面对堆积如山的数据,及时解读,获取有用的信息成为人类面临的巨大挑战。传统的数字或字符形式的处理显然无法满足需要。可视化技术,在这个意义上就成为了“科学技术之眼”, 它是科学发现和工程设计的工具!
    以上我们更多地谈到的是数据(Data),是数据的可视化(Data Visualization)。习惯上,人们将许多种类的数据也广义地称为信息,或者知识。对此,学者们有许多争论和不同的定义。一般认为,数据(Data)、信息(Information)和知识(knowledge)还是有区别的。为明确起见,下面的介绍限定于狭义的数据的可视化,即将抽象的数字或者字符表示转换成图形图像的技术(信息可视化和知识可视化,被认为是数据可视化的进一步发展,本文
暂不涉及)。此外,计算、模拟或者遥感等得到的数据总是在一定的时间或空间范围内获得的。与在其他学科中类似,数据在一定空间内的分布,也称为数据场(Data Field),比如二维数据场,三维数据场,或者更高维数的数据场。自然地,三维数据场更容易引起人们的兴趣。本文主要介绍数据场可视化,特别是与三维数据场有关的可视化技术。应当注意的是,数据场的分布在大多数情况下是离散的。这是因为数据场的分布规律暂时是未知的,可视化的任务正是协助人们出这些规律;或者由于客观情况的限制,我们只能在有限的离散的点上获得有限精度和数量的数据。另一方面,由于现代通用的计算机是数字计算机,即使是存在连续的模型也需要将其离散化为数字才能够由计算机处理。因此,科学计算可视化的研究限定为将离散的数字化的数据转变为图形图像的表示,由此决定了它的一系列技术特征。
1.1 科学计算可视化的意义
    早期,由于计算机软、硬件技术水平的限制, 科学计算只能以批处理方式进行,而不能进行交互处理,对于大量的输出数据,只能用人工方式处理,或者用绘图仪输出二维图形。这种处理方式不仅效率低下,而且丢失了大量信息。而近年来,随着计算机应用的普及和科学
技术的迅速发展,来自超级计算机、卫星遥感、CT、天气预报以及地震勘测等领域的数据量越来越大,但由于没有有效的处理和观察理解手段,科学家们和工程师们惊呼``我们可以做的仅仅是将数据收集和存放起来''。再者,随着科学的发展,对传统的实验设备和实验精度的要求也越来越高,这直接导致了传统实验方法的实验费用的持续增长。另一方面,由于计算机技术的高速发展, 使得计算成本不断下降,计算精度和速度不断提高。这使得对复杂问题的数值模拟成为一种更直接、更有效的方法。而三维大规模数值模拟可产生上百兆、上千兆的大量数据,我们已无法用传统的方法来理解大量科学数据中包含的复杂现象和规律。因此, 科学计算可视化技术已经成为科学研究中的必不可少的手段。它是科学工作者以及工程技术人员洞察数据内含信息,确定内在关系与规律的有效方法,使科学家和工程师以直观形象的方式揭示理解抽象科学数据中包含的客观规律,从而摆脱直接面对大量无法理解的抽象数据的被动局面。
    实现科学计算可视化技术的意义重大,具体来讲有以下几点:
    1)大大加快数据的处理速度, 使目前每日每时都在产生的庞大数据得到有效的利用。
    2)实现人与人和人与机之间的图象通讯,而不是目前的文字或数字通讯,从而使人们
观察到传统方法难以观察到的现象和规律。
    3)使科学家不仅被动地得到计算结果,而且知道在计算过程中发生了什么现象,并可改变参数,观察其影响,对计算过程实现引导和控制。
    4)可提供在计算机辅助下的可视化技术手段, 从而为在网络分布环境下的计算机辅助协同设计打下了基础。
    总之,科学计算可视化技术的发展将使科学研究工具和环境进一步现代化,从而使科学研究的面貌发生根本性的变化,具有极为重要的意义。
1.2 科学计算可视化的过程
    在科学研究领域,研究的主要目的是理解自然的本质。科学家要达到这个目的,要经过从观察自然现象到模拟自然想象并分析模拟结果的过程。在分析实验结果的过程中,可视化是一个十分重要的辅助手段。可视化的过程可进一步细化为以下四个步骤:
    (1)过滤:对原始数据进行预处理,可以转换数据形式、滤掉噪声、抽取感兴趣的数据等;
    (2)映射:将过滤得到的数据映射为几何元素,常见的几何元素有:点、线、面图元、三维体图元和更高维的特征图标等;
    (3)绘制:几何元素绘制,得到结果图象;
    (4)反馈:显示图象,并分析得到的可视结果;
    可视化的上述四个步骤是一个周而复始的循环迭代的过程。由于研究人员并不知道原始数据集中那些部分对分析更重要,得靠实践探索,因此整个分析过程是一个反复求精的过程。
1.3 科学计算可视化研究的是什么
    可视化的研究主要分为两大部分,可视化工具的研究和可视化应用的研究。科学计算可视化研究的重点是有关可视化参考模型的内涵,即可视化过程的组成内容,其中包括:
    1)数据预处理:可视化的数据来源十分丰富,数据格式也是多种多样的,这一步将各种各样的数据转换为可视化工具可以处理的标准格式。
    2)映射:映射就是运用各种各样的可视化方法对数据进行处理,提取出数据中包含的
各种科学规律、现象等,将这些抽象的、甚至是不可见的规律和现象用一些可见的物体点、线、面等表示出来的。
    3)绘制:将映射的点、线、面等用各种方法绘制到屏幕上,在绘制中有些物体可能是透明的,有些物体可能被其他物体遮挡。
    4)显示:显示模块除了完成可视信息的显示,还要接受用户的反馈输入信息,其研究的重点是三维可视化人机交互技术。
1.4 科学计算可视化处理的数据
科学计算可视化技术处理的对象是科学数据,这些科学数据的来源是多种多样的,数据中包含的科学规律和现象有很多。这些科学数据都是离散的采样数据,它们有很多属性,主要有:来源、维数、定义域的维数、组织形式、时间特性及数据量等等。其中数据的时间特性表示数据是否与时间相关,是否表示随时间变化的物理现象;数据的维数表示标量数据、向量数据及高维的张量数据等;数据定义域的维数分为一维、二维、三维数据等;数据的组织形式分为有网格数据和无网格散乱数据,有网格数据的组织形式也不一样,图1-1给出了一
些二维网格的组织形式,这些二维网格的处理由易到难。维数(Dimension)是一个数学概念, 可以认为是对空间的几何广延性的一种度量。传统经典的几何学对空间维数的定义都是整数。粗略地说,如果一个物体的运动轨迹可以用一个坐标参数描述,它的轨迹就是一维的。例如,火车的运动,给定了起始点,再给定它到起始点的距离,就可以唯一确定它在轨道上的位置。不难理解,一个蚂蚁在地球仪上运动时,须同时给定经度和纬度才能唯一确定它的位置。这时它的运动轨迹就是二维的。一般认为,我们生活在三维空间,是说一般需要三个独立参数才能确定我们的位置。对应于数学中的元素,点是零维的,线(包括曲线)是一维的,曲面是二维的,体是三维的等等。(关于分数维数的几何, 叫做分形几何。)
1-1 数据场网格分类
1.5 科学计算可视化的应用
    从可视化技术的诞生之日起,便受到了各行各业的欢迎。在过去的十年里,可视化的应用范围已从最初的科研领域走到了生产领域,到今天它几乎涉及到了所有能应用计算机的部门。在这里,我们将简要列举一些应用可视化技术的例子。