科学计算可视化(VISC)
科学计算可视化(VISC,Visualization in Scientific Computing)也称为科学可视化(Scientific Visualization)或简称为可视化(Visualization),是计算机图形学的一个重要研究方向,是图形学的一个新的研究领域,它涉及计算机图形学、图像处理、计算机辅助设计、计算机视觉及人机交互等。科学计算可视化的实质是运用计算机图形学和图像处理技术,将科学计算过程中产生的数据或者数据采集获得的数据(如有限元分析数据等)转换为图像,在屏幕上显示出来并进行交互处理,它将符号变为几何形体,使研究者可以观察他们的仿真或计算结果。可视化提供了一种观察不可见事物的方法1。
流场可视化的研究内容流场可视化的研究内容主要有以下几个方面:
(1)几何体与网格的显示及评估。计算几何体的定义和网格划分的好坏直接影响到计算的收敛性和精度,流场可视化要求能够显示网格生成的结果,并提供交互式网格生成和质量检测技术。
(2)计算过程的显示与流体结构辨识。 为加深对流场的研究,有必要跟踪显示流场的计算过程,这样就可以方便地检验算法的正误和直观感受结果的生成。流体运动中会形成多种结构,如激波和涡,流场可视化要提供对此类结构的辨识。
(3)结果显示与分析。结果显示就是绘制流场和物理量的分布状况。流场中涉及到的物理量有速度、温度、压力、密度、涡强和应力等,流场可视化要支持这些物理量的三维显示。结果分析是指通过提供交互技术(如视角变换)对流场进行观测和研究,并要求提供尽可能实时地操作环境。
(4)数据比较。数据比较是指通过提供直接的可视化比较方法促进不同流场模拟或流场模拟与实验结果之间的快速比较1。
流场可视化的研究模型数据流模型关于流场可视化的研究模型,目前广泛采用的是面向数据的数据流模型(Data FlowModel),如图1所示。在数据流模型中,滤波是从原始数据中提取感兴趣的数据,映射是构造数据的几何表示,绘制则是将数据的几何表示转换成可被显示的图像信息。此模型很容易理解和利用,但它没有考虑可视化技术同应用领域之间的关系。
模型中心法由于数据流模型没有考虑可视化技术同应用领域之间的关系,为此,Brodile 又提出了可视化过程的模型中心法(Model-Centered Approach),如图2所示。在模型中心法中,建模是指从采样数据构造经验模型,此模型要与应用领域相一致,以便于数据的正确插值等处理,观察是根据应用领域的不同,选择合适的技术显示数据,如用直接体绘制显示 CT 数据,用流线显示流场速度场等。同数据流模型相比,模型中心法的建模相当于数据流模型中滤波的一部分,观察对应于余下的部分。模型中心法考虑到了不同应用领域的不同需求,更符合现实的需要1。
流场可视化工作流体的运动,是一个非常复杂的过程。为了了解流体的运动规律,通常在一定的假设条件下,建立某种数学模型,使用数学表达式去描述其可能的运动规律。然而,面对求解数学表达式得到的大量数据,需要采用一种直观的方式去展示以供分析,而科学计算可视化正是将数据信息转换成图像、图形信息的重要手段。
流场可视化工作一般包括三部分:数据预处理,数据转化,图形图像显示。其中数据转化又包括两步:映射(数值数据转化成几何数据)、绘制(几何数据转化成图像数据)。
数据预处理计算数据来自各方面,种类繁多,格式各异,数量巨大,因此必须把数据规范化,而且要有统一的输入格式。由于现代计算的输出结果大多比较庞大,因此数据大多是以某种方式压缩的,这就要求数据预处理模块能反压缩数据。
映射此模块将数值数据转换成几何数据,是可视化技术的核心。因为可视化系统处理的数据类型因应用领域不同而不同,因此对不同类型的数据应采用不同的可视化技术,如标量场可视化、矢量场可视化、张量场可视化等。事实上,在同一数据类型和确定维数下,可视化技术可提供多种表现方法,如对三维标量数据可以采用等值面表示等,又如三维矢量数据可采用三维箭头、三维流线表示等。
绘制此模块将几何数据转化成图像数据。计算机图形学日趋成熟,它为研究人员提供了丰富的绘制算法,包括扫描转换、消隐、光照、纹理映射和反走样技术,它虽然不是可视化技术的核心,但在一些新的可视化研究方面,绘制技术将成为研究的关键技术,如体绘制技术。
显示显示模块的功能是将绘制模块生成的图形数据按用户指定的要求输出。从这方面来说,它有点类似于图形用户界面(GUI)技术,为软件提供各种设备驱动程序,用户的反馈信息是通过显示模块的驱动程序送到其它功能模块,以实现人机交互功能,例如最简单的对展示结果进行旋转、缩放等操作2。
流场可视化技术直接可视化直接可视化是指几乎不经过预处理而直接运用如图标法或颜色编码等方法来可视化整个数据场的技术,是一种全局可视化技术。
(1)常用的图标法有点图标法、线图标法和面图标法等。其中的线图标法通常被认为是基于几何的可视化方法,而面图标法主要是应用于三维的情况。应用较多的点图标法是箭头表示法,它是最简单的显示矢量场数据的方法,对于每一个采样点,用具有大小和方向的箭头映射矢量的大小和方向。点图标法可以较好的反应出矢量的方向和大小信息,并且容易实现,但同时也存在很多缺陷,比如对于采样密集的数据场,将所有矢量逐点映射为点图标常常会导致所生成的图像杂乱无章,而显示太少又不能准确描绘流场的变化情况。
(2)颜色编码法在流场的可视化中起着非常重要的作用。对于标量场数据,比如温度、压力、密度等,可以通过在标量值和颜色之间建立一一映射的关系,由颜色值的变化显示标量值的变化。而对于矢量场数据,不仅有大小还有方向,目前一般是采用将矢量值转化为标量,如转化为矢量的大小、矢量和另一个方向上矢量的点积等,将这些标量值映射为颜色值,主要有动态体绘制技术、粒子方法等。动态体绘制技术可以将可视化的结果合成在一副图像中,同时可以生成具有较高真实感效果的图形。该技术存在的问题是,对场中的标量进行动态体绘制常常使人产生错觉,即使没有显示矢量也可能产生具有方向的效果。粒子方法可用于模糊对象的造型和绘制,能表示出不规则的复杂几何形状,如可将速度矢量映射为粒子运动的动态性质,而将其它物理量映射为粒子的其它性质,用粒子来显示流场,灵活、方便,但有可能丢失流场的连续性。
几何可视化几何可视化是指从流场数据中抽取诸如流线、迹线、条纹线、等时线等几何体来用于可视化的显示。
(1)流线是同一时刻,瞬时速度与流场相切的所有质点组成的曲线。它给出该时刻不同流体质点的运动方向。目前,流线的构造方法主要有:数值积分法(生长法)和双流函数法(Dual Stream Functions)。
(2)迹线是一特定流体质点随时间改变位置而形成的轨迹。
(3)条纹线是指在某一时间间隔内相继经过空间一固定点的流体质点依次串连起来而形成的曲线,可由迹线方程间接求解。一般情况下,流线、迹线、条纹线是不同的,但在定常流中,它们是互相重合的。
(4)等时线是由一系列相邻流体质点在不同瞬间所组成的曲线,它可用于观察流场畸变、收敛、扩散等特性,等时线也可通过迹线方程求解。
与点图标法相比,矢量线方法可以更好的观察矢量场,在一定程度上表现出场的连续性,但也存在一定缺陷。可视化质量的好坏,严重依赖于初始质点源位置的选取,选的不好或过少常常会漏掉流场中重要的特征和细节,选的过密,又会造成视觉上的混乱。
基于纹理的可视化该方法主要应用纹理来显示流场的方向信息。纹理是颜色按一定方式排列组成的图案,兼具形状和颜色两种属性。纹理空间在图像空间进行,具有图像空间的连续性,可生成具有图像空间分辨率的细致图形。基于纹理的可视化可表现出一定的几何形状,并且通过颜色的有序排列,表达出了一定的方向信息,它克服了传统的基于颜色的映射方法无法揭示方向的缺点。可见,基于纹理的映射方法综合了几何形状映射方法和颜色映射方法两者的长处,又克服了两者各自存在的缺点。基于纹理的映射方法主要包括点噪声(Spot Noise)方法和线积分卷积(Line Integral Convolution-LIC)方法以及积分和画(Integrate and DrawID)方法等。
(1)点噪声方法是由 VanWijk 于 1991 年提出的,他最早将纹理映射技术引入矢量场可视化,沿矢量方向对点噪声滤波生成图像。点噪声纹理是由随机分布的、具有一定大小和形状的二维点叠加所形成的一种随机纹理,靠改变点的属性整体或局部地控制纹理的模式,点的大小控制了纹理的粒度。由于点有一定的大小,其大小与矢量值的大小有关,在矢量方向变化很大的区域,该方法很难准确的表达出矢量的方向,比如有旋涡的海洋流场等。
(2)用卷积表示矢量场的方向源于一种运动模糊的思想。欲在一副静止的图像上表达出速度的方向,可将某一时刻矢量场的前后几帧图像叠加起来,也就是说最终合成的静止图像中每一像素点的灰度值不仅与质点所在的当前位置的速度大小有关,同时还与这一时刻前一段时间内同一质点所经过处流场的速度值有关,即沿速度方向用一种扩展函数对输入纹理进行卷积,得到该点最后的灰度值。
目前,基于纹理生成技术的流场可视化的研究大多集中在采用 LIC 的方法进行矢量映射,其基本思想是矢量场中任意一点处的局部特性是由一卷积核函数沿一条从该点开始向前向后追踪出的一段流线积分的结果决定的。
LIC 利用滤波器沿流线卷积白噪声图像,它很好的可视化了流线的方向性,反映了整个流场的结构。具体地说,LIC 以白噪声作为输入纹理,输出纹理的每个像素值均通过积分卷积得到,首先基于该像素沿矢量正、反方向对称积分得到流线,将流线上所有像素对应的输入噪声值按卷积核参与卷积,结果作为输出纹理的像素值。
线积分卷积法即使在矢量方向变化很大的区域,也能揭示出矢量的方向,可以较好地表达出矢量场的细节。卷积后的图像具有像素分辨率的连续性,描述数据场的信息非常丰富,但该方法只考虑了沿速度方向那条折线段上的像素点对该点的作用,没有考虑与速度垂直方向上邻近的像素点也可能对其纹理值产生影响,因而生成的图像高频噪声较大。
特征可视化技术随着现代科技的发展,人们在方便快捷的获取所需数据的同时,不得不面对着一个问题:数据的规模越来越大,比如通过计算流体力学(CFD)模拟出的一个流场数据中可能包含数十万甚至上百万的物理量,而每个物理量可能还包含有多维的数据。这样庞大的数据,很难找到一种好的可视化手段将数据中所蕴含的全部信息表现在二维屏幕上,由此产生了流场可视化研究领域的一个研究热点-特征可视化1。
流场可视化的发展和国内外的研究现状自 90 年代起国外兴起了对矢量场和流的可视化问题的广泛研究,每年 IEEE 可视化会议都有流场可视化的专题,且不断涌现出许多新的算法。矢量场的可视化是流体动力学计算专家观察流场结构、揭示流场动态变化规律、及时发现数学模型与计算问题的有效途径。许多国家的大学、研究所、计算中心和商业公司等都在开展流场可视化的研究。比较有代表性的机构有:美国国家宇航局(NASA)对航空航天模拟的 CFD 数据进行研究;美国国家超级计算机应用中心(NCSA)开发出大气及流体可视化软件;美国 Stardent 公司开发出的 AVS (Application Visualization System)和 SGI 公司的 IRIS Exporer 都是很著名的可视化软件;另外德国柏林的 ZIB 研究所和荷兰的国家数据与计算机科学研究所也开展了大量的可视化基础算法和应用研究。国内近年来的研究主要集中在标量场方面,矢量场的研究尚处于起步状态1。