陆曼君 解利军 祁佳晨 王攀 姚成宝
收稿日期:2023-05-30;修回日期:2023-07-17
作者簡介:陆曼君(1997—),女,浙江杭州人,硕士研究生,主要研究方向为科学可视化;解利军(1980—),男(通信作者),山西朔州人,副教授,硕导,博士,主要研究方向为科学可视化(Lijun_Xie@zju.edu.cn);祁佳晨(1998—),男,浙江杭州人,硕士研究生,主要研究方向为计算机视觉;王攀(1983—),男,内蒙古包头人,助理研究员,博士,主要研究方向为高性能计算、虚拟现实与可视化;姚成宝(1984—),男,安徽庐江人,副研究员,博士,主要研究方向为爆炸与冲击动力学数值模拟.
摘 要:直接体绘制广泛应用于可视化领域,其中传输函数决定了最终绘制的效果。大规模爆炸数据属于复杂的时变数据,其压力场的取值范围和分布会随时间剧烈变化。为了实现对冲击波传播特征的连续跟踪,提出了一种基于标量-时间梯度(scalar-temporal gradient,STG)二维空间的自动传输函数设计方法。结合爆炸过程中的物理规律,将STG空间划分为多种状态并总结了状态之间的转移规律。将冲击波的传播特征编码为一段一定长度的状态转移链(state transitions chain,STC),称为时变特征。传输函数中的颜色以时变特征为单位,基于完全状态转移链自动分配。传输函数中的不透明度采用基于压强变化速率的分段非线性曲线,凸显压强变化剧烈的特征。选取了两类典型的大规模爆炸场景对方法进行了验证,绘制结果中都包含了丰富的明显可区分的冲击波传播特征。结果表明,生成的传输函数在整个时间维度上都能稳定、准确地捕捉冲击波的传播特征。
关键词:直接体绘制;传输函数;时变数据;冲击波;状态转移链
中图分类号:TP391.41 文献标志码:A
文章编号:1001-3695(2024)02-043-0602-07
doi:10.19734/j.issn.1001-3695.2023.05.0284
Volume rendering automatic transfer function design for explosion pressure field
Lu Manjun1,Xie Lijun1,Qi Jiachen1,Wang Pan2,Yao Chengbao2
(1.School of Aeronautics & Astronautics,Zhejiang University,Hangzhou 310027,China;2.Northwest Institute of Nuclear Technology,Xian 710024,China)
Abstract:Direct volume rendering is widely used in scientific visualization.The transfer function largely determines the effect of rendering results.Explosion data is large-scale complex time-varying volume data.The value range and distribution of its pressure field will change drastically with time.In order to realize continuous tracking of shock wave propagation characteristics,this paper proposed an automatic transfer function design method based on scalar-temporal gradient (STG) 2D space.Combined with the physical laws in the explosion process,the method divided the STG space into multiple states and summarized the transition laws between states.It encoded the propagation characteristics of shock waves with state transition chain(STC) of a certain length,called time-varying features.The color assignment in the transfer function took time-varying features as the basic unit,which was done automatically through a complete state transition chain.The opacity in the transfer function used a piecewise non-linear curve based on the pressure change rate,highlighting the characteristics of severe pressure changes.The paper selected two typical large-scale explosion scenarios to verify the method.The rendering results all contain a wealth of clearly distinguishable shock wave propagation characteristics.The results show that the generated transfer function can stably and accurately capture the propagation characteristics of shock waves in the whole-time dimension.
Key words:direct volume rendering;transfer function;time-varying data;shock wave;state transition chain
0 引言
从实际生活中采集或者计算模拟得到的数据包含大量时变数据,如气象采集数据、流体数据等。面向时变数据的可视化研究是科学可视化的重要分支。爆炸压力场数据属于复杂的时变数据。一般的时变数据具有两个特点:属性取值范围和分布会随时间改变,以及数据规模大(包含时间维度)。相较于一般的时变数据,爆炸压力场中压强的取值和分布随时间的变化更加剧烈,其压强的取值在极短的时间内能够跨越几个甚至十几个数量级。这类爆炸数据的可视化难点在于无法保证特征定义在时间维度上的一致性和实现对特征的连续跟踪。例如应用直接体绘制展示爆炸特征的演变规律时,无法将剧烈变化的数据稳定地映射到有限的颜色空间中。为了保证前后时间帧映射关系的一致性,就必然导致大量关键信息的丢失。如果为了尽可能保留关键信息而不考虑前后时间帧映射关系的一致性,就会产生剧烈的跳变。因此,稳定追踪爆炸压力场的特征并进行可视化展示是一个重要的研究问题。
特征追踪的工作可以分为空间-时间并重方法、时间优先方法和空间优先方法三类[1]。空间-时间并重方法直接将时间作为新的维度加入,将时间序列数据看做一个四维数据。Kosara等人[2]将时间作为新的维度添加到传统的直方图中,提出了时间直方图。Akiba等人[3]将时间直方图引入了传输函数的设计过程中,实现了对整个时间序列的同时分类。这类可视化方法可以将面向静态数据的可视化方法进一步推广到时变数据的可视化工作中,统一提取特征。但是爆炸时变数据中包含成百上千个时间帧,同时分析和统一提取特征将面临巨大的计算量,且结果容易受噪声干扰产生波动[1]。
时间优先方法将时变数据转换为一个三维数组,每个元素都包含了一条时间相关的曲线。Fang等人[4]将时间活动曲线(time-activity curve,TAC)作为一类时间相关的属性,计算不同TAC之间的相似度作为分类依据,定义并评估了三种不同的相似性度量方法。Lee等人[5]将TAC定义为时变特征,应用动态时间规整(dynamic time warping,DTW)计算不同TAC之間的相似度。虽然此类方法适用于所有类型的时变数据,但是聚类的结果和数据本身包含的物理规律之间无法建立明确的对应关系,且其聚类结果不稳定,同一类物理特征在不同数据集中的聚类结果无法保证一致。
空间优先方法首先从每一帧数据中提取空间特征,然后基于预设的匹配规则匹配相邻时间帧的特征[6~9]。Silver等人[7]从每个时间帧中提取特征,基于空间重叠匹配特征,首先提出了通过有向无环图(DAG)描述特征的演变情况。相对于上述两种方法,空间优先方法对特征的定义是基于空间的,具有物理直观性,但其对特征的跟踪建立在空间上的重叠,缺少对时变特征的描述能力。
爆炸压力场数据中最重要的特征是冲击波的传播,其相关研究非常丰富[10~13]。在复杂环境中,冲击波的传播情况非常复杂,会产生反射、绕射、干涉等现象。虽然冲击波的具体传播过程会因为场景等因素存在差异,但是其中包含了一致的物理规律和共同特征。这些共同特征是爆炸可视化分析中的重点关注对象。虽然前述三类特征的定义和追踪方法都可以应用到爆炸压力场可视化中,但是因为其对特征的定义是通用的,难以捕捉爆炸压力场中特定的时变特征。所以,本文基于对爆炸压力场的分析,提出了特定的捕捉和描述爆炸压力场时变特征的方法。
特征演变规律可视化的方式主要分为抽象表示[6,14,15]和基于绘制的表示[16~18]两种。前者主要通过图、树等数据结构表示特征的演变规律;后者主要通过光学属性的分配,以关键帧枚举[16]、动画[19]的形式展示特征的演变规律。基于绘制展示特征演变规律的方法更直观,更好地利用了人类视觉感知颜色和捕捉变化的能力,在实际应用中更为常见。其中,直接体绘制(DVR)方法直接对三维数据场进行数据分类和颜色合成,能实现对整个体的穿透式显示,在爆炸压力场可视化中广受欢迎[20]。
直接体绘制的核心是传输函数的设计。传输函数决定了标量属性值与光学属性之间的映射关系。选取合适的传输函数能够帮助用户快速捕捉海量数据中的关键信息。传输函数的设计工作已经非常丰富[21~23],但是面向时变特征的传输函数设计工作依然存在很多挑战,例如无法将剧烈变化的爆炸数据稳定地映射到有限的颜色空间中。就笔者调研所知,目前暂时没有针对短时间内急剧变化的爆炸数据自动体绘制相关的研究工作。结合上述特征提取方法,本文提出了一种体绘制传输函数的自动设计方法。
本文主要的贡献如下:
a)基于标量-时间梯度(scalar-temporal gradient,STG)二维空间分析和总结了冲击波的传播规律,将其定义为一段状态转移链(state transitions chain,STC),称为时变特征。
b)提出一种面向爆炸压力场数据的自动传输函数方法。颜色映射以时变特征为基本单位自动进行。不透明度映射曲线为基于压强变化速率的分段非线性曲线。
1 基于标量-时间梯度二维空间的传输函数设计
应用本文提出的传输函数获取绘制结果的流程如图1所示。图中展示了从数据输入到获取绘制结果的整个流程。其中存在两条支线,分别对应颜色和不透明度的映射过程。传输函数设计的流程如图2所示。实线箭头指示了设计过程中主要的步骤,虚线箭头指示了两个主要步骤之间具体的设计步骤。
1.1 状态定义
原始爆炸压力场数据只包含压强属性,本节首先在压强属性的基础上计算了时间梯度。时间梯度的符号和绝对值分别表示压强的变化趋势和变化速率,可以描述压强在相邻时间帧的变化情况。应用前向差分计算得到除第一帧外所有时间帧的时间梯度属性:
GiT=Pi-Pi-1Δt(1)
其中:Δt表示相邻时间帧之间的时间间隔;GiT、Pi分别表示时间帧i对应的时间梯度GT和压强P。在模拟数据中,相邻时间帧的时间间隔通常设置为固定值。为了加速计算,本文在实际计算中使用帧序差1替代。
构建STG二维空间,以标量属性为横坐标、时间梯度为纵坐标。对于除第一帧外的每一帧数据,将所有数据点按照其对应的压强和时间梯度映射到STG二维空间中,得到一张STG散点图。
STG散点图可以用于分析属性的分布规律和变化速率,所以本节基于STG散点图分析和编码爆炸压力场的基本变化特征。以城市爆炸数据为例(属于近地爆炸,可视化结果见2.1.3节),图3展示了整个爆炸过程中冲击波传播处于不同阶段的三张散点图。图(a)对应最外层冲击波与建筑群相遇前的阶段,散点分布规则且密集;图(b)对应最外层冲击波在建筑群中传播的阶段,散点分布散乱;图(c)对应最外层冲击波离开建筑群后的阶段,散点的分布情况介于图(a)(b)。三张散点图中均能清晰地观察到由散点聚集形成的左端点为(u,0)、斜率为1的射线(压强初始值为u,城市爆炸数据中u=101301)。所有的散点均分布在坐标空间的右下区域(图4中蓝色区域,下文称其为目标区域),区域的上界为GT=P,左边界为P=0。
通过分析各类爆炸数据后,可以将目标区域划分为如圖4所示的八个子区域,分别对应八种不同的状态,具体的划分依据如表1所示。除S、A外的所有状态对应的数值范围是否包含边界值对结果的影响可以忽略。状态S对应的区域只包含一个坐标点(u,0),是所有数据点的初始状态。状态A是以(u,0)为左端点的射线。射线对应的数据点在当前时间帧初次受到冲击波的影响,位于最外层冲击波所在区域。因为数据点受到冲击波影响后压强的增长幅度不相同,就形成了一条斜线。根据式(1)可知,该射线的斜率为1/Δt。只有位于斜率为1/Δt的直线上的数据点,其前一帧的压强取值相等且取值与这条特殊直线的截距b在数值上成比例关系。
b=GT-PΔt(2)
本文在实际计算中Δt取1,所以射线斜率为1。因为压力场非负的特性,所以任何数据点只能映射到目标区域内。
1.2 时变特征定义
数据点所处状态会随时间发生转换,但是这种转换并不是任意的,必须符合爆炸的物理规律。当数据点受到冲击波的影响,压强增长达到顶峰后,通常会开始下降,即状态A、E通常转换到状态F。数据点在受到最外层冲击波的影响后,还会受到绕射波或反射波的影响,转换到状态C、E或D。状态之间所有可能的转换关系使用图的形式连接,形成了一张有向图,如图5所示。数据模拟中压力场初始值相同,所有数据点的初始状态必定为S。数据点最初受到冲击波的影响,压强呈增长趋势,状态S只能转移到状态A。图5实线框中描述了一组(3个)状态之间的转移规律,绿色箭头指示了当前状态可能转移到的一组状态。其中组内状态要转换到组外状态一定会经过灰色的状态(参见电子版)。一个数据点在整个生命周期中的所有状态可以按时间顺序连接起来形成一条单链,除去未受到冲击波影响的转换关系S→S后,得到一条状态转移链。
总结了不同爆炸场景和不同空间位置的数据点对应的STC的特点后,本文将冲击波的传播特征编码为一段长度为2的STC,称为时变特征。虽然从单个状态中可以获知当前数据点的压强取值在相邻时间帧内的基本变化趋势和变化速率,但这只是瞬时特点。使用一段STC来定义特征,能够追踪压强在一段时间内的变化特点和描述爆炸过程中包含的物理规律。例如,S→A→E表示数据点的压强从初始值开始连续两个时间帧内保持增长趋势,对应于数据点初次受到冲击波影响并在两帧内均受到最外层冲击波影响的情况。虽然STC越长所能获取的信息就会越多,但是其中包含的变化特征会越复杂,导致视觉混乱和分析困难。综合考虑以上因素,本文将长度为2的STC定义为时变特征(除去S→S)。排除S→S,符合图5中转换规律的时变特征总共有22种,这个数量的特征类型适合人类观察和分析。
1.3 传输函数
在传输函数设计过程中,包含过多手动设置的内容,需要用户对爆炸冲击波的产生和传播、传输函数的原理等有一定的知识储备。本节提出了基于STG域的自动传输函数设计方法,主要分为颜色传输函数和不透明度传输函数两部分。
1.3.1 颜色传输函数
颜色传输函数将时变特征作为颜色分配的基本单位。颜色分配按时变特征中包含的状态在完全状态转移链(complete state transition chain,CSTC)中的位置信息自动进行。CSTC将所有的状态按照一定的转移规则串联在了一起。状态在其中的位置信息将作为分配颜色的关键依据。数据点在压强变化缓慢时,会长时间处于同一状态或在邻近状态(目标区域中相邻)之间转移,在受到冲击波的影响时会转移到目标区域中相隔较远的状态。CSTC中按照尽可能减少时间梯度符号的反转次数和转移到邻近状态的原则选择后一状态,保证时间梯度符号一致的邻近状态对应的颜色也相近。图6展示了目标区域对应的CSTC,并按照状态在其中的先后顺序标注了序号。
颜色传输函数采用HSV颜色空间,按照CSTC中状态之间的有序关系,分别基于当前状态和前一状态确定色调(H)、饱和度(S)的取值。具体的颜色传输函数如图7所示。为了让绘制结果更加明亮,设定明度(V)为固定值1.0(V的取值为0.0~1.0)。相较于RGB模型,HSV模型与人类解释颜色的方式一致,三个参数作用明确、相关性低。时变特征中包含了数据点在前一时间帧所处的状态和当前时间帧所处的状态。时变特征的当前状态有7种(不包含状态S)。首先按照当前状态确定色调值,基于CSTC中的顺序将7种状态线性映射到色调的0°~240°。然后按照前一状态确定饱和度的取值,进一步区分当前状态一致的一组时变特征。图5中状态的入度有三种情况: 1(当前状态为A),4(当前状态为E、F、G),3(当前状态为B、C、D)。饱和度的分配策略按照入度的取值也分为三种,依据序号的大小关系线性映射到0.4~1.0。饱和度过低会导致颜色偏白,所以均设置了0.4的偏移值。
1.3.2 不透明度传输函数
在爆炸数据中,最感兴趣的部分为压强变化剧烈的区域,压强变化平缓的区域通常为不感兴趣的部分。本节引入新变量φ来衡量压强在相邻时间帧之间的变化速率。
φ=arctan(GTP)(3)
通过反正切函数将φ的取值映射到了一个有限范围内,值域为(-π/2,π/2)。因为P的非负性,φ的实际取值为(-π/2,π/4)。不透明度传输函数设计为
α(φ)=σ2-σ1(θ1-π/2)2(φ+θ1)2+σ1-π2<φ<-θ10-θ1≤φ≤θ2σ2-σ1(π/4-θ2)2(φ-θ2)2+σ1θ2<φ<π4
θ1∈(0,π2),θ2∈(0,π4),σ1、σ2∈[0,1](4)
φ的取值分为三个区间,通过θ1、θ2两个参数调节边界。θ1、θ2为分段曲线中两个可交互设置的分界点。不透明度的非零取值为[σ1,σ2],σ1、σ2分别为交互设置的最小和最大不透明度取值。
不透明度传输函数的示意图如图8所示,展示了不透明度α与变量φ的关系曲线。图中:①和③段曲线均为开口朝上的抛物线,同一区间内|φ|越小,曲线就越平缓,反之越陡峭;②段曲线为α取值恒为0的线段,|φ|越小,表示压强的变化越缓慢。不透明度传输函数通过①③段映射曲线凸显了变化剧烈的特征并弱化了变化缓慢的特征,通过②段映射曲线过滤了整个区间内压强变化最缓慢的特征。
2 实验结果
在配备有AMD Ryzen 5 3500X 6-Core Processor(3.59 GHz)和 NVIDIA GeForce GTX 1660 SUPER的Windows 10电脑上,使用Qt编写了面向爆炸数据的交互界面,并验证了基于STG二维空间的传输函数设计方法的有效性。实验部分选择了两类典型场景的爆炸数据:a)维度为501×51×501,相邻时间帧压强差值最高达7个数量级的水下爆炸数据(在水中设置了9个爆炸点);b)维度为902×202×802,相邻时间帧的压强差值最高达9个数量级的城市爆炸数据。
2.1 结果分析
在分析爆炸数据的过程中,为了探究各种不同的特征、方便调节参数和显示关键信息,基于QT编写了分析数据的软件,如图9所示。界面主要分为三个部分:第一个部分为数据的读取、信息的显示和交互信息的设置; 第二部分为散点图和图元选中区域的显示; 第三部分为绘制窗口,绘制的结果对应散点图中图元选中区域。用户可以选择不同的图元形状,并通过鼠标移动图元或者拖拽控制点修改图元的大小和形状,在绘制窗口实时观察选中区域对应的绘制结果。
2.1.1 算法实现
本文应用光线投射(ray casting)算法[24]实现体绘制,主要对传输函数部分进行了修改。传输函数的实现步骤如下:
输入:采样点在前一帧和当前帧的压强和时间梯度。
输出:采样点对应的颜色(h,s,v)和不透明度α。
step1 初始化颜色为(0.0,0.0,0.0),不透明度为0.0。
step2 确定时变特征。
step2.1 根据表1,确定前一时间帧的状态lastState和当前时间帧的状态curState。
step2.2 串聯前一状态和当前状态,得到时变特征lastState→curState。
step2.3 若时变特征为S→S,直接返回初始颜色和不透明度。
step3 计算颜色。
step3.1 亮度v设置为1.0。基于时变特征查询图7得到饱和度s和色相h的取值。
step4 计算不透明度α。
step4.1 根据式(3)计算得到当前时间帧的压强变化速率φ。
step4.2 将φ代入式(4),计算得到对应的不透明度α。
在传输函数的执行过程中,执行时间主要分布在step2.1、step3.1中的图表查询和step4.1、step4.2中的公式计算两部分。其中图表查询部分为3次索引表的直接查询,其查询时间复杂度均为O(1);计算部分为式(3)(4)的直接计算,其复杂度也为O(1)。因此本文提出的传输函数的整体计算复杂度为O(1),与其他同类型传输函数[25,26]相比,计算复杂度一致。在现代GPU中,整个算法耗时极少。
2.1.2 时变特征解析
在绘制结果中,颜色和时变特征之间直观的对应关系可以帮助分析不同爆炸场景中包含的物理规律。图10展示了两类爆炸数据绘制结果中部分颜色和时变特征的对应关系,以11种时变特征为例(总共有22种,如图7所示)。图中序号1、2、9标注的时变特征在空间上总是相邻的。在爆炸中心向外的方向上,这三种时变特征的次序总是9、2、1。在最外层冲击波的影响下,数据点的压强首先会迅速上升。因为冲击波存在厚度,该区域压强持续上升,然后迅速下降。图10中上面两张子图对应城市爆炸场景,爆炸后冲击波近似球状向四周传播。其中向地面传播的冲击波发生反射,传播方向发生了变化,形成了左上图中序号4、5对应的时变特征。冲击波在建筑群中传播时,冲击波近地的部分与建筑群发生碰撞,形成了右上图中序号3、5、11对应的时变特征。下面两张子图对应水下爆炸场景,不同爆炸点形成的冲击波发生交汇,形成了右下图中序号5、10对应的时变特征。因为绘制结果中存在颜色叠加和光照效果,所以红框内的颜色(参见电子版)和标注的颜色会存在小范围偏差,这种误差可忽略。
2.1.3 时变特征过滤
为了过滤不感兴趣的时变特征,帮助用户更清晰地观察反射波和绕射波在建筑群中的传播规律,不透明度传输函数中提供了θ1、θ2两个可交互调节的参数。当最外层冲击波在建筑群中传播时,与建筑发生碰撞形成的反射波和绕射波会互相叠加和追赶,向与传播方向相反的空中扩散。这导致从空中向下的角度无法观察到反射波和绕射波在建筑群中的传播情况。反射发生在建筑物附近,形成的反射波扩散到空中后,能量已经发生了衰减。不透明度传输函数基于压强变化速率过滤空中的冲击波,通过调节θ1、θ2设置过滤范围。图11展示了6组不同θ1、θ2取值对应的城市爆炸绘制结果,从左到右θ1增大,从上到下θ2增大。图(a)完全无法观察到建筑群附近的冲击波传播情况;随着θ1值增大,绘制结果中冷色对应的区域明显减少,如图(a)(b)之间;随着θ2值增大,绘制结果中暖色对应的区域明显减少,如图(b)(c)之间。
2.2 值域上区分特征的能力
本文方法可以在局部取值范围内清晰地区分多种特征。传统的可视化方法通常将具有相近标量值的区域定义为相同或相似特征,导致局部取值范围对应的绘制结果中颜色总是趋于一致,难以进行进一步的区分。数据可视化中普遍使用的分析工具有Voreen[25]和ParaView[26],两个平台都提供了一些可选的自动传输函数方法。本节选取了基于标量的一维全局线性传输函数BS-GLTF(基于标量的一维全局线性传输函数)和全局非线性传输函数BS-GNLTF(基于标量的一维全局非线性传输函数)两种自动传输函数方法作为对比,验证本文方法在值域上区分特征的能力。
一维全局线性传输函数作为最简单的模式,广泛应用在数据可视化中。首先获取压强在整个爆炸过程中的取值范围,将压强线性映射到[0,1]。
w=P-PminPmax-Pmin(5)
其中:Pmax和Pmin分别为压强的全局最大值和最小值。然后,基于w值设置不透明度和颜色的色调。
α=wρc.h=240(1-w)(6)
其中:α和c分别表示不透明度和颜色;ρ为预设的不透明度最大值;h表示色调。饱和度和明度设置为固定值。
图像增强领域为了增强低照明条件下捕获的数字图像,会首先采用非线性映射关系改变强度的全局分布[27]。传输函数设计与图像增强的目标存在一致性。BS-GNLTF方法对应的映射曲线如图12所示。
水下爆炸数据的压强变化最高跨越了7个数量级。相较于整个压强取值范围,±105的取值范围可映射的颜色范围非常小。基于水下爆炸数据,图13展示了两组不同的压强范围对应的绘制结果。BS-GLTF对应的绘制结果整体不透明度偏低,颜色趋于一致。相较于前者,BS-GNLTF对应的绘制结果在不透明度上有了更明显的区分。但是,这两种方法对应的绘制结果均颜色单一,无法通过颜色对特征进行区分。图(a)中本文方法对应的绘制结果,中心区域包含了4种以上明显可区分的颜色; 图(b)中对应的绘制结果,从内到外包含了2、3种明显可区分的颜色。不同颜色的区域之间界限清晰,不存在颜色上的混淆。本文方法得到的绘制结果,无论是在数据点分布密集、特征丰富的压强范围(1×105±105内),还是在数据点分布稀疏、包含特征较少的压强范围(2×106±105内),均能通过颜色清晰地辨别多种特征。
2.3 时域上区分特征的能力
爆炸数据属于时变数据,属性取值范围和分布会随时间发生变化。本文设計了一种与具体属性取值范围和分布无关的全局传输函数,保证了时变特征与颜色的对应关系在时间维度上的一致性。本节选取了同样结合时间相关信息的BTG-GNLTF方法(基于时间梯度的一维全局非线性传输函数)作为对比,验证本文传输函数方法在时域上区分特征和展现特征演变规律的有效性。
Akiba等人[3]提出了基于时间梯度的时间直方图,用于识别和区分随时间变化高度活跃的区域。本文方法在BS-GNLTF的基础上用时间梯度替换标量属性,设计了一种分段式的非线性传输函数。选取五个关键值,即0、最大值曲线中的最小值gs min和最大值gmax、最小值曲线中的最大值gs max和最小值gmin,作为传输函数的分界点,具体的映射曲线如图14所示。
本文方法保证了时变特征和光学属性的映射关系在时间维度上的一致性,实现了对时变特征的连续跟踪。基于水下爆炸数据,图15展示了BS-GNLTF、BTG-GNLTF和本文方法对应的绘制结果,均只截取了单个爆炸位置的绘制结果。图(a)中帧序1对应的绘制结果可以明显观察到橙色的环状特征,即最外层冲击波,但是在帧序3和6对应的绘制结果中,已经无法捕捉到这个特征。图(b)的三帧绘制结果均能观察到颜色区别于中心区域的环状特征,但是在帧序3和6的绘制结果中,该环状特征的颜色和邻近区域非常相近,且环状特征和光学属性的对应关系发生了明显的变化。最外层冲击波通常携带着巨大的能量向四周传播,但是这种能量会随着传播距离的增加发生衰减。BS-GNLTF和BTG-GNLTF都与属性的具体取值范围和分布紧密相关,无法在时域上连续跟踪冲击波的传播特征。图(c)中时变特征与颜色的对应关系未随时间发生变化,可以通过颜色清晰地观察到时变特征的演变规律。
随着传播距离的增加,最外层冲击波携带的能量会迅速衰减,极大地增加了中后期捕捉特征的难度。本文方法在冲击波传播的中后期仍然能准确地捕捉冲击波的传播特征。基于城市爆炸数据,图16展示了BTG-GNLTF和本文方法对应的两组处于3个不同冲击波传播阶段的绘制结果。BTG-GNLTF基于时间梯度的全局取值范围进行颜色映射,整体呈冷色。图(a)中帧序13对应的绘制结果可以观察到最外层冲击波和与地面碰撞后形成的反射波。图(a)中帧序52、91对应的绘制结果只能观察到前者,并且,在帧序91对应的结果中,最外层冲击波已经非常稀薄。图(b)中三帧绘制结果均能够清晰地观察到最外层冲击波和残留在建筑群中的绕射波和反射波。
分析了兩份爆炸数据对应的绘制结果后得出结论:本文方法在时域上具备区分重要特征和稳定跟踪冲击波传播特征的能力。
3 结束语
本文面向大规模爆炸数据提出了一种基于STG空间的自动传输函数设计方法。爆炸数据对应的压力场取值范围和分布会随时间发生剧烈变化,极大地增加了连续跟踪冲击波传播特征的难度。为此,本文将冲击波传播特征编码为一段状态转移链,提出了基于时变特征的颜色传输函数和基于压强变化率的不透明度传输函数。在不透明度传输函数中设置了可交互的参数θ1、θ2,过滤不感兴趣的时变特征。本文方法与压力场的具体取值范围和分布无关,因此它可以在局部压强范围内区分多种特征和连续跟踪冲击波的传播特征。将本文方法应用在两种经典的爆炸场景中,均获得了期望的效果。
本文方法暂时只应用在了爆炸数据的可视化中,但是计算流体力学、燃烧等领域的计算模拟数据也属于复杂的时变数据,具有与爆炸数据相同的数据特点。在未来的工作中,笔者希望将本文方法推广应用到更多种类的大规模复杂时变数据的可视化工作中。
参考文献:
[1]Bai Zhihui,Tao Yubo,Lin Hai.Time-varying volume visualization:a survey[J].Journal of Visualization,2020,23(5):745-761.
[2]Kosara R,Bendix F,Hauser H.Time histograms for large,time-dependent data [C]// Proc of the 6th Joint Eurographics-IEEE TCVG conference on Visualization.Goslar:Eurographics Association,2004:45-54.
[3]Akiba H,Fout N,Ma K L.Simultaneous classification of time-varying volume data based on the time histogram[C]//Proc of the 8th Joint Eurographics/IEEE VGTC Conference on Visualization.Goslar:Eurographics Association,2006:171-178.
[4]Fang Zhe,Mller T,Hamarneh G,et al.Visualization and exploration of time-varying medical image data sets [C]// Proc of Graphics Interface.New York:ACM Press,2007:281-288.
[5]Lee T Y,Shen H W.Visualizing time-varying features with TAC-based distance fields[C]//Proc of IEEE Pacific Visualization Symposium.Piscataway,NJ:IEEE Press,2009:1-8.
[6]Bai Zhihui,Tao Yubo,Lin Hai.FeatureFlow:exploring feature evolution for time-varying volume data[J].Journal of Visualization,2019,22(5):927-940.
[7]Silver D,Wang X.Tracking and visualizing turbulent 3D features[J].IEEE Trans on Visualization and Computer Graphics,1997,3(2):129-141.
[8]Muelder C,Ma K L.Interactive feature extraction and tracking by utilizing region coherency[C]//Proc of IEEE Pacific Visualization Symposium.Piscataway,NJ:IEEE Press,2009:17-24.
[9]Soler M,Plainchault M,Conche B,et al.Lifted Wasserstein matcher for fast and robust topology tracking [C]//Proc of the 8th IEEE Symposium on Large Data Analysis and Visualization.Piscataway,NJ:IEEE Press,2018:23-33.
[10]姚成宝,王宏亮,浦锡锋,等.空中强爆炸冲击波地面反射规律数值模拟研究[J].爆炸与冲击,2019,39(11):24-31.(Yao Chengbao,Wang Hongliang,Pu Xifeng,et al.Numerical simulation of intense blast wave reflected on rigid ground[J].Explosion and Shock Waves,2019,39(11):24-31.)
[11]Soukup J,Klimenda F,Skocˇilas J,et al.Finite element modelling of shock wave propagation over obstacles[J].Manufacturing Techno-logy,2019,19(3):499-507.
[12]Wang Yan,Wang Hua,Cui Cunyan,et al.Investigating different grounds effects on shock wave propagation resulting from near-ground explosion[J].Applied Sciences,2019,9(17):3639.
[13]曹濤,孙浩,周游,等.近地爆炸冲击波传播特性数值模拟与应用[J].兵器装备工程学报,2020,41(12):187-191.(Cao Tao,Sun Hao,Zhou You,et al.Numerical simulation and application of propagation characteristics of shock wave near ground explosion[J].Journal of Ordnance Equipment Engineering,2020,41(12):187-191.)
[14]Bremer P T,Weber G,Pascucci V,et al.Analyzing and tracking bur-ning structures in lean premixed hydrogen flames[J].IEEE Trans on Visualization and Computer Graphics,2010,16(2):248-260.
[15]Saikia H,Weinkauf T.Global feature tracking and similarity estimation in time-dependent scalar fields [J].Computer Graphics Forum,2017,36(3):1-11.
[16]Dutta S,Shen H W.Distribution driven extraction and tracking of features for time-varying data analysis [J].IEEE Trans on Visualization and Computer Graphics,2016,22(1):837-846.
[17]Wang K C,Wei T H,Shareef N,et al.Ray-based exploration of large time-varying volume data using per-ray proxy distributions[J].IEEE Trans on Visualization and Computer Graphics,2020,26(11):3299-3313.
[18]刘力.面向时变体数据的特征可视化方法[J].中国图象图形学报,2022,27(4):1302-1313.(Liu Li.A feature visualization method for time-varying volume data[J].Journal of Image and Graphics,2022,27(4):1302-1313.)
[19]Akiba H,Wang C,Ma K L.AniViz:a template-based animation tool for volume visualization [J].IEEE Computer Graphics and Applications,2010,30(5):61-71.
[20]Elvins T T.A survey of algorithms for volume visualization[J].ACM SIGGRAPH Computer Graphics,1992,26(3):194-201.
[21]ereda P,Vilanova A,Gerritsen F A.Automating transfer function design for volume rendering using hierarchical clustering of material boundaries[C]//Proc of the 8th Joint Eurographics/IEEE VGTC Conference on Visualization.Goslar:Eurographics Association,2006:243-250.
[22]朱奭,常晋义.一种改进的基于 CUDA 的纹理映射和光线投射结合的体绘制算法 [J].计算机应用研究,2015,32(6):1884-1887.(Zhu Shi,Chang Jinyi.Improved algorithm of volume rendering combined texture mapping with ray casting based on CUDA[J].Application Research of Computers,2015,32(6):1884-1887.)
[23]Cai L,Nguyen B P,Chui C K,et al.A two-level clustering approach for multidimensional transfer function specification in volume visua-lization[J].The Visual Computer,2017,33(2):163-177.
[24]Kruger J,Westermann R.Acceleration techniques for GPU-based vo-lume rendering[C]//Proc of the 14th IEEE Visualization.Washington DC:IEEE Computer Society,2003:38.
[25]Meyer-Spradow J,Ropinski T,Mensmann J,et al.Voreen:a rapid-prototyping environment for ray-casting-based volume visualizations [J].IEEE Computer Graphics and Applications,2009,29(6):6-13.
[26]Ahrens J,Geveci B,Law C.ParaView:an end-user tool for large data visualization [M]//Visualization Handbook.[S.l]:Butterworth-Heineman,2005:717-731.
[27]Tao Li,Asari V K.Adaptive and integrated neighborhood-dependent approach for nonlinear enhancement of color images [J].Journal of Electronic Imaging,2005,14(4):043006.