文章快速检索  
  高级检索
保持颜色一致性的动态电磁环境绘制算法
冯晓萌 , 吴玲达 , 于荣欢     
装备学院 复杂电子系统仿真实验室, 北京 101416
摘要: 针对电磁环境绘制的研究现状,提出了保持颜色一致性的动态电磁环境绘制算法。明确了绘制中的颜色一致性原则:同一数据值对应同一颜色,绘制图像序列中颜色变化与数据变化保持一致。在颜色一致性分析的基础上,对静态电磁环境的绘制方法进行了修改,使其能够在绘制动态电磁环境时保持颜色的一致性。必要时,颜色与数据值的对应关系可以交互调整或自动调整,以适应数据场的值域变化。实验表明,算法能够在保持颜色一致性的情况下绘制动态电磁环境,直观显示其变化情况,便于用户观察和理解。同时算法可并行执行,在统一计算设备架构下具有较高的执行效率,利于算法的使用。
关键词: 颜色一致性     动态绘制     光线投射     并行执行     统一计算设备架构    
Rendering algorithm with color coherence for dynamic electromagnetic environment
FENG Xiaomeng , WU Lingda , YU Ronghuan     
Science and Technology on Complex Electronic System Simulation Laboratory, Equipment Academy, Beijing 101416, China
Received: 2015-07-28; Accepted: 2015-09-11; Published online: 2015-10-09 15:52
Foundation item: National Natural Science Foundation of China (61202129)
Corresponding author. WU Lingda.Tel.:010-66364387.E-mail:wld@nudt.edu.cn
Abstract: After studying the existing state of the art, we firstly propose an rendering algorithm with color coherence for dynamic electromagnetic environment. The definition of color coherence for rendering is that the same value in different data frames corresponds to the same color and the change of colors in different rendered images follows the changing data. Based on the definition, the algorithm of rendering static electromagnetic environment is improved to render dynamic electromagnetic environment with color coherence kept. If needed, the relationship between mapping data and colors is edited by user interaction or the principles defined for the algorithm to follow the change of data. The experimental results show that the dynamic electromagnetic environment can be rendered with color coherence kept by the algorithm and the change of data is shown in the rendering images, which is helpful for user to understand the electromagnetic environment. Furthermore, parallel implementation of the algorithm using compute unified device architecture gets a high efficiency, which is good for using it.
Key words: color coherence     dynamic rendering     ray-casting     parallel implementation     compute unified device architecture    

电磁环境可视化主要有二维和三维2种表现形式[1],其中较常用的是三维表现形式,主要采用等值面提取[2-3]、体绘制[4]等可视化方法。在体绘制方法中,三维数据场被直接映射成二维图像[5],以图像中的颜色信息显示数据场中的信息。体绘制方法生成的电磁环境绘制结果展示了复杂电磁环境的内部细节[6],能够将不可见的电磁环境直观展示给用户,为理解掌握电磁环境态势提供支持。

但是,现有的电磁环境绘制研究中,多针对静态电磁环境,即使用的电磁环境数据场不随时间变化。文献[7]中只是提到其方法的计算和绘制效率能够响应电磁环境参数的实时调整,数据场变化后绘制参数却无变化。文献[8]虽然研究了动态电磁环境的绘制方法,但其未考虑生成图像之间的颜色一致性,影响绘制效果对电磁环境变化的表现。目前,鲜有在绘制动态电磁环境时保持颜色一致性的研究。

因此,本文研究了保持颜色一致性的动态电磁环境绘制算法,使动态电磁环境的绘制结果图像序列之间保持颜色的一致性,以较好地显示其变化情况。算法基于光线投射直接体绘制算法[9]实现,对静态电磁环境绘制算法进行了针对性修改,使其绘制动态电磁环境时能够保持颜色一致性。在统一计算设备架构(Compute Unified Device Architecture,CUDA)下并行实现了算法的绘制部分,确保了算法的高效执行。

1 颜色一致性

电磁环境绘制最终以图像的形式进行显示,通过图像中的颜色信息表达电磁环境的相关信息。当电磁环境动态变化时,图像之间的颜色变化应该与电磁环境的变化一致,以反映其动态变化情况。通过颜色表达数据变化需要保证图像间的颜色一致性,即不同数据场中的同一数据值对应同一颜色,图像的颜色变化与数据变化一致。

颜色一致性是时变数据场可视化中的基本原则,一般研究中使用的时变数据场序列已知[10],即是对已知数据场序列的可视化,容易保持颜色一致性。而本文研究中使用的动态电磁环境数据场为实时获取并绘制,未来时刻数据场的变化是未知的。如何保证将来获取的数据场的绘制结果与已经有的数据场绘制结果在颜色上保持一致性,是更有挑战性的课题。

保持颜色一致性主要体现在绘制生成的图像序列中,即图像与图像之间具有绘制相关性。研究方法如图 1所示,研究的主要思路是将独立的数据帧绘制修改为数据帧之间的关联绘制,通过关联将已有的绘制信息传递下去从而保持颜色的一致性。

图 1 研究方法 Fig. 1 Research method
2 绘制静态电磁环境

动态电磁环境的绘制以静态电磁环境的绘制方法为基础,即将单独的电磁环境数据场绘制为一帧图像。

2.1 电磁环境数据场

电磁环境由弥漫于空间中的电磁波构成,是空间连续分布,要以数据的形式表现电磁环境首先需要对其进行离散采样。研究中,以三维离散数据场表示电磁环境,数据场中采样点均匀分布,每个采样点对应电磁环境的数据值。在时间维度电磁环境同样连续,需要在时间上进行离散采样:记某个时刻采样得到的数据场为一帧数据场,以数据场的帧序列表示动态电磁环境。

2.2 光线投射绘制算法

体绘制算法中较常用也是绘制效果最好的算法是光线投射算法[11]。已有的电磁环境可视化研究中,多使用光线投射算法并取得了较好的绘制效果。本研究中同样基于光线投射算法进行绘制。

光线投射算法的主要思想是由视点出发经像素点发射一条光线,光线穿越数据场并进行采样,每个数据采样点映射为颜色值后沿同一光线进行累积,累积得到的颜色值即为此像素点的值。颜色序列与数据值域的对应关系如图 2所示,颜色序列对应于整个数据场的数据值域,计算数据值在值域中的位置后即可对应到相应颜色。

图 2 颜色序列与数据值域的对应关系 Fig. 2 Relationship between color sequence and data value domain
3 绘制动态电磁环境

绘制静态数据场时,可使用图 2所示的颜色与数据值的映射关系。但是,当数据场发生变化后,其值域也将变化,若仍使用图 2所示的对应关系,将出现不同值域内的相同数据值对应不同颜色的现象,即失去颜色的一致性。文献[8]即是因为此原因而未保持颜色的一致性。因此,绘制动态变化的数据场需要对颜色到数据值的映射进行适当修改,以保持颜色一致性。

3.1 保持颜色一致性

为保证不同数据帧中的同一数据值对应同一颜色,使用图 3所示的颜色与数据值域的对应方法,即颜色序列对应n帧数据场的总值域。如此,n帧数据中同一数据值必然对应同一颜色,保证了这n帧数据绘制结果中的颜色一致性。

图 3 颜色序列对应多帧数据场总值域 Fig. 3 Color sequence corresponding to total value domain of some frame data volumes

绘制中使用的颜色序列须有序且颜色个数有限才能很好地被人感知[12],因此,颜色序列通常只能覆盖一定数量的数据帧总值域,不能完全覆盖所有的数据帧。当某个时刻的数据帧值域超出颜色序列的覆盖时,需要对颜色序列的覆盖范围进行调整。数据值域变化时,其下界和上界均可能改变,但在电磁环境可视化中,可固定数据下界,即只可视化大于某个阈值ω的数据值。因此,调整颜色序列对应的数据值域时,只调整其对应值域的上界,保持下界对应ω不变。

3.2 交互调整颜色与数据对应关系

调整颜色序列对应的值域上界(后面简称为颜色上界)后,调整前后的图像中颜色所表达的信息将失去一致性。但当数据值超出颜色的表现范围后,调整必须进行。因此,应尽量减少调整次数,保证2次调整之间有较长的时间使绘制结果保持颜色一致性。

当数据值域上界发生波动时,使用图 4所示的界面将已绘制的数据值域与颜色上界展示给用户。用户可根据观察到的值域上界波动趋势,直接调整当前颜色上界的位置,使其能够在后续的若干时间内覆盖值域上界的同时又不至于空余太多颜色值。图 4中有3段不同值域上界,第1段为初始设置,即颜色上界为第1帧数据值域上界加其值域的10%;第2段颜色上界下降,是因为数据上界下降后,一定时间内空余颜色过多而进行了调整;第3段颜色上界上升是因为数据值域的增长趋势将达到颜色上界对应的数据值时进行了调整。

图 4 数据值域与颜色上界的显示界面 Fig. 4 Interface for displaying domains of data and upper bound of colors
3.3 自动调整

算法中除提供用户交互调整颜色上界外,还可以对未来的数据值域进行预测,通过预测得到的数据上界对颜色进行调整。若当前帧数据值域上界Dd超过了颜色上界Dcolor,则进行调整。以D表示调整后的值域上界,记从上次调整后(未调整则从第1帧开始)到本次调整前的所有帧序列上界为(Di|i=1, 2, …, n),下标按帧序从1开始,其调整方法如下:

(1)

式中:k为幅度控制因子,控制值域的调整幅度。

式(1)调整在值域上界超过颜色序列表示范围后进行,只增加不减小颜色上界。当颜色序列对应的数据范围在较长时间内都比数据的真实值域大很多时,为减少颜色浪费,需要减小颜色序列对应的数据值上界。从颜色对应的数据上界调整后开始(未调整过则从数据场的第1帧开始),若连续出现h帧数据场的值域上界与当前颜色序列对应的数据上界Dcolor之差大于阈值ε,则按式(2)将颜色序列对应的数据上界调整为D

(2)

式中:a为减少控制系数,取0.9,即保留0.1倍x的增量;阈值ε设定为式(1)中的增量k(Dd-Dm),表示通过式(1)调整后的增量部分对应的颜色值在连续h帧数据场中均未使用,则需要减少这些增量。若之前未进行式(1)所示的调整,则将阈值ε设定为第1帧时颜色序列对应数据值域上界与第1帧数据上界之差的一半。完成式(2)的调整后,重新开始式(2)调整条件的判断。

上述自动调整方法中,有2个重要参数需要设置:式(1)中的幅度控制因子k,式(2)中的h。这2个参数均能够影响调整的频率,绘制时可根据调整的频率对这2个参数进行相应修正。首先,针对式(1)中的调整,若一定时间内次数过多,应增大k,此时能够增加其调整幅度。同时,增大k能够增加式(2)调整中的判断阈值ε,使式(2)的调整条件不易达到,即保证增加式(1)调整幅度的同时减少反向调整。若式(2)在一定时间内调整次数过多,则增大其使用的h,使其满足调整的条件变得更难达到,从而降低调整次数。

调整中,式(1)与式(2)独立,即判断调整频率时只与自身进行对比,只计算式(1)与上一次式(1)调整时的时间差,式(2)同理。同时,将用户直接调整颜色上界分为2种情况:①将颜色上界上移,可看作是执行式(1);②将颜色上界下移,可看作是执行式(2)。用户调整若与上次执行式(1)或式(2)间隔过短,则相应调整kh,以备后续再次调整时使用。

3.4 并行执行

实际使用中,数据场序列可以是已经存在的记录,亦可是显示过程中实时获取的(计算得到或实时接收)。若绘制已经存在数据场序列,数据值域无需预测,只需对数据进行预处理并设定即可。本文研究实时获取数据场并绘制,即每帧数据场的值域实时获取并需要对将来的值域变化进行预测。

并行执行主要针对绘制数据场时使用的光线投射算法,因为其计算量大,通常需要并行加速提高效率[13]。CUDA是使用最多的并行实现基础[14],本文的光线投射算法即在CUDA下实现,充分利用此架构下图像处理器(GPU)对通用计算的支持。并行的同时,每帧数据场需要在中央处理器(CPU)中进行预处理后传入GPU中进行绘制。数据场的处理及调整颜色与数据对应关系等操作均在CPU端完成,GPU中只执行光线投射算法将每帧数据场绘制成为一幅图像并显示,主机端与设备端的算法执行代码如下所示。

主机端:控制流程

data=getData(); //获取数据场

max=getMax(data); //计算当前帧的最大数据值

countForEquation2(h); //为式(2)的调整条件开始计数

if max is beyond the value corresponding to the colors then

  if time between now and last adjustment1 is too short then

    k=2k; //调整式(1)中的幅度控制因子

  end

  equation1(); //执行式(1)

  recordTheAdjustment1(); //记录本次调整

  recountForEquation2(h); //重新计数

else if h in equation2 is reached then

  if time between now and last adjustment2 is too short then

    h=2h; //调整式(2)中的h

  end

  equation2(); //执行式(2)

  recordTheAdjustment2(); //记录本次调整

  recountForEquation2(h); //重新计数

end if

sendData2GPUandBindTexture(); //数据传到GPU并绑定到纹理

g_CastRay < < < gridSize, blockSize>>>(Image); //光线投射

设备端:进行绘制的核函数g_CastRay()

pixX=blockIdx.x*blockDim.x+threadIdx.x; //对应像素的X坐标

pixY=blockIdx.y*blockDim.y+threadIdx.y; //对应像素的Y坐标

if (pixX, pixY) is in the Image then

  pixValue={0, 0, 0, 0};//初始化像素记录值为零

  theRay=genRayforPix(pixX, pixY); //生成对应光线

  while theRay not terminate do

    rayPos=getRayPosition(theRay, dataVolume); //计算光线在数据场中的位置

if rayPos is out of the data volume then

  break; //光线不在数据场内,停止投射

end if

value=sampleTexture(rayPos); //纹理采样获得数据值

color=lookAtColor(value); //查找数据值对应颜色

pixValue=accumulateColor(color); //累积颜色

if opacity of pixValue not less than 1.0 then

  theRay casts ahead a sample step; //光线前进一个步长

  continue; //继续while循环

else

  set opacity of pixValue 1.0;

  terminate theRay; //光线截止

end if

  end while

  Image [pixX, pixY]=pixValue; //获得光线对应的像素值

end if

算法中,主机端获取数据场后,计算其值域上界并判断是否符合式(1)或式(2)的调整条件,若符合则进行相应调整。式(1)和式(2)调整前均需判断其距离上一次调整的时间间隔,若间隔太短则调整对应的kh。每次调整后对式(2)中的判断条件重新计数。调整完成后,将数据场传入GPU并绑定到纹理,便于后续光线投射中利用纹理采样器对数据场进行快速采样[15]。最后,调用GPU中的光线投射函数g_CastRay()对数据场进行绘制,参数gridSize与blockSize表示开启的线程数,由生成图像的大小决定:每个像素对应一个线程。

函数g_CastRay()主要完成光线投射的所有操作,生成线程对应的像素值。所有光线的线程并行执行结束后,即获得生成图像,GPU能够直接将其显示到屏幕。光线投射线程首先根据线程的Id号计算其对应的像素坐标(pixX, pixY),然后genRayforPix()函数根据视点、像素和数据场三者的空间位置计算生成对应光线theRay,其参数为光线穿越数据场时的入射点、出射点和传播方向。光线从入射点开始沿传播方向以固定步长进行数据采样,每个步长采样一次,获得的数据值映射为颜色后累积到像素值pixValue中。函数accumulateColor()进行颜色的累积,使用MIDA算法中的颜色累积公式[16]。累积后,若pixValue的不透明度值大于等于1,则设置此值为1并截止光线投射。若光线未截止,则其继续沿传播方向前进一个步长并重复上述操作。光线提前截止能够节省光线投射的执行时间[17]

4 实验验证与分析

实验中,数据场的规模为200×200×100,生成图像的分辨率为1 200×900。使用文献[7]中的方法计算电磁环境数据场,通过不断调整电磁设备的位置、功率等,获得变化的数据场。

4.1 颜色与数据值域对应关系调整

图 5所示为5种不同情况下颜色与数据对应关系调整示例,每种情况均统计了连续600帧的结果。图 5的阴影部分为数据值域,阴影上方的直线段表示颜色上界。

图 5 颜色与数据对应关系调整示例 Fig. 5 Examples of adjustment corresponding relationship between color and data

通过图 5所示的5种情况可以看出,自动调整的方法在一定情况下是可用的,而且不需要用户交互调整。而在这5种情况中,用户可以参与调整:图 5(a)图 5(b)所示的增长情况中,用户交互调整应该在自动调整时刻的前面,防止数据值超出颜色的表示范围;而对于图 5(c)图 5(d)所示的下降情况中,用户可以根据需要选择调整时机与调整幅度,但不宜频繁调整;对于图 5(e)所示的随机波动情况中,用户需要预判波动趋势从而进行调整。绘制过程中,默认为自动调整状态,用户可以根据自己的观察随时手动调整,特别是自动调整效果不佳(颜色上界不跟随值域上界)时,必须用户交互调整。

4.2 绘制结果与分析

实验中使用的颜色序列如图 6所示,其中的折线表示对应颜色的不透明度值,取值范围为[0, 1]区间。在颜色设置中,若某个颜色对应的不透明度为0,则其对应的数据值将不参与绘制,如图 6中折线第1段对应的颜色部分,能够在绘制结果中剔除这些较小的数据值。用户可以通过设置颜色的不透明度控制参与绘制的数据值,依据用户的需求对数据值进行绘制。

图 6 颜色序列 Fig. 6 Color sequence

通过图 6所示的颜色映射,将电磁环境数据场绘制为图像,以直观反映电磁环境数据在空间中的范围及数值大小的分布情况:从绿色到红色表示数据值越来越大。电磁数据离设备越远则数据值越小,因此,图像中红色区域表示电磁设备所在区域,而绿色区域更靠近数据场的边界。

图 7中是保持颜色一致性与未保持颜色一致性的绘制结果对比,其中图 7(c)使用文献[8]中的方法,即绘制时颜色与每帧数据场的值域相对应。图 7中的红色区域即为设备所在区域。图 7中按序选择了图 5(a)所示变化序列中6帧数据场的绘制结果进行显示。图 7(a)图 7(b)图 7(c)中对应数字编号相同的图像使用的数据场相同。图 7(a)图 7(b)绘制时的观察视角不同,图 7(b)图 7(c)视角相同。

图 7 保持颜色一致性与未保持颜色一致性的绘制结果对比 Fig. 7 Rendered results that with and without color coherence for comparison

图 7(a)图 7(b)中,图 7(a4)~图 7(a6)图 7(a1)~图 7(a3)相比,图 7(b4)~图 7(b6)图 7(b1)~图 7(b3)相比,颜色上界均有所增加,即在图(a4)图(b4)处进行了调整。图 7(a3)图 7(a4)为相邻帧,由于调整,两幅图未保持颜色一致性,但是图 7(a1)~图 7(a3)图 7(a4)~图 7(a6)分别保持了颜色一致性,能够显示出中间设备不断增大所产生的结果:颜色覆盖范围逐渐增大。图 7(a)图 7(b)中,中间设备的红色区域不断增大,而其他设备处的红色区域基本不变,与设备的实际变化相对应。而对于图 7(c),中间设备只在前2幅图像中有明显变化,同时其他设备处的红色区域缩小明显,这与设备的实际变化不一致。产生这一现象的原因是:未保持颜色一致性的绘制中,颜色与数据值的对应情况随数据场的值域变化而变化,导致绘制结果中颜色所表现的信息在图像之间缺乏一致性。因此,图 7中的对比结果说明,保持颜色一致性绘制对直观显示电磁环境的动态变化尤为重要,能够帮助用户更好地理解数据场的实际变化情况。

由于在保持颜色一致性绘制时,会有颜色与数据对应关系的调整,如图 7(a3)图 7(a4)图 7(b3)图 7(b4)处所示,此时能够通过图 4所示的界面提醒用户颜色的改变,在2次调整之间的图像序列则很好地保持了颜色一致性。调整是为了避免绘制时由于数据值域的较大波动而造成的颜色浪费,是保持颜色一致性绘制无法避免的问题,将在后续深入研究并加以改善。

4.3 算法执行效率

算法在集成了NVIDIA GPU Computing SDK 4.2的Microsoft Visual Studio 2005中编程实现,使用的硬件环境包括:Intel Core i5-2400 CPU、4 GB内存、NVIDIA GeForce GTX 470显卡。连续500帧的运行时间统计结果如表 1中所示,分别统计了2个操作步骤的执行时间:数据处理对应于代码中主机端从获取数据到数据绑定到纹理的一系列操作;生成图像对应于代码中设备端的操作。

表 1 算法执行时间统计 Table 1 Statistic of algorithm implementation time
ms
执行过程 最短时间 最长时间 平均时间
数据处理 12.67 15.08 13.76
生成图像 6.75 8.19 7.53

表 1中的统计时间可以看出,算法具有较高的执行效率:2个操作的最长时间之和为23.27 ms,能够达到42.9帧/s的绘制帧率。数据处理比生成图像的执行时间长,这主要是因为数据处理在CPU中串行执行,生成图像在GPU中并行执行。在CUDA中实现的光线投射算法具有较高的执行效率,为算法中的数据处理提供了时间支持,使其能够完成颜色与数据对应关系的调整等操作。当只需满足25帧/s的绘制帧率时,算法能够提供25 ms以上的时间以备执行更多其他操作,利于算法的应用。

5 结 论

本文研究了绘制动态电磁环境时保持颜色一致性的问题,通过对静态电磁环境绘制方法进行针对性修改,提出了保持颜色一致性的动态电磁环境绘制算法,实验结果表明:

1) 算法能够在保持颜色一致性的情况下绘制动态电磁环境,生成图像中的颜色变化与数据变化一致。

2) 算法中调整颜色序列与数据的对应关系是可行的,能够使颜色序列跟随数据的变化趋势,减少颜色的浪费。

3) 在CUDA下并行实现对数据场的绘制操作后,使算法具有较高的执行效率,不仅为数据处理提供了时间支持,同时为算法的实时应用提供了25 ms以上的时间裕度。

虽然取得了较好的绘制效果,但本文算法只是保持颜色一致性情况下绘制动态电磁环境的初步研究,有待进一步完善。

参考文献
[1] 吴迎年, 张霖, 张利芳, 等. 电磁环境仿真与可视化研究综述[J]. 系统仿真学报, 2009, 21 (20) : 6332 –6338. WU Y N, ZHANG L, ZHANG L F, et al. Survey on electromagnetic environment simulation and visualization[J]. Journal of System Simulation, 2009, 21 (20) : 6332 –6338. (in Chinese)
[2] CHEN P, WU L D. 3D representation of radar coverage in complicated environment[J]. Simulation Modeling Practice and Theory, 2008, 16 (9) : 1190 –1199. DOI:10.1016/j.simpat.2008.06.005
[3] 杨超, 徐江斌, 赵健, 等. 基于多层等值面的电磁环境三维可视化研究[J]. 系统工程与电子技术, 2009, 31 (11) : 2767 –2772. YANG C, XU J B, ZHAO J, et al. Research on 3D visualization of electromagnetic environment based on multi-isosurface[J]. Systems Engineering and Electronics, 2009, 31 (11) : 2767 –2772. (in Chinese)
[4] YANG C, WU L D. GPU-based volume rendering for 3D electromagnetic environment on virtual globe[J]. International Journal of Image, Graphics and Signal Processing, 2010, 2 (1) : 53 –60. DOI:10.5815/ijigsp
[5] ZHANG Q, EAGLESON R, PETERS T M. Volume visualization:A technical overview with a focus on medical applications[J]. Journal of Digital Imaging, 2011, 24 (4) : 640 –664. DOI:10.1007/s10278-010-9321-6
[6] 冯晓萌, 吴玲达, 吕雅帅, 等. 电磁环境实时分频段绘制算法[J]. 北京邮电大学学报, 2015, 38 (1) : 108 –113. FENG X M, WU L D, LÜ Y S, et al. Real-time band rendering algorithm for electromagnetic environment[J]. Journal of Beijing University of Posts and Telecommunications, 2015, 38 (1) : 108 –113. (in Chinese)
[7] 杨超, 徐江斌, 吴玲达. 硬件加速的虚拟电磁环境体可视化[J]. 北京邮电大学学报, 2011, 34 (1) : 55 –59. YANG C, XU J B, WU L D. Hardware accelerated volume visualization in virtual electromagnetic environment[J]. Journal of Beijing University of Posts and Telecommunications, 2011, 34 (1) : 55 –59. (in Chinese)
[8] 冯晓萌, 吴玲达, 董士伟. CUDA加速的动态电磁环境数据场实时绘制[J]. 系统仿真学报, 2014, 26 (9) : 2044 –2049. FENG X M, WU L D, DONG S W. CUDA accelerated real-time rendering for dynamic electromagnetic environment volume data[J]. Journal of System Simulation, 2014, 26 (9) : 2044 –2049. (in Chinese)
[9] LEVOY M. Efficient ray tracing of volume data[J]. ACM Transactions on Graphics, 1990, 9 (3) : 245 –261. DOI:10.1145/78964.78965
[10] 贺承浩, 金西, 郑琳琳, 等. 时变数据的实时体绘制加速算法优化[J]. 计算机辅助设计与图形学学报, 2014, 26 (2) : 314 –319. HE C H, JIN X, ZHENG L L, et al. Accelerated real-time volume rendering algorithm optimization for time-varying data[J]. Journal of Computer-Aided Design & Computer Graphics, 2014, 26 (2) : 314 –319. (in Chinese)
[11] 马千里, 李思昆, 白晓征, 等. CFD非结构化网格格心格式数据高质量体绘制方法[J]. 计算机学报, 2011, 34 (3) : 508 –516. MA Q L, LI S K, BAI X Z, et al. High-quality volume rendering of unstructured-grid cell-centered data in CFD[J]. Chinese Journal of Computers, 2011, 34 (3) : 508 –516. DOI:10.3724/SP.J.1016.2011.00508 (in Chinese)
[12] WANG L, GIESEN J, MCDONNELL K T, et al. Color design for illustrative visualization[J]. IEEE Transactions on Visualization and Computer Graphics, 2008, 14 (6) : 1739 –1746. DOI:10.1109/TVCG.2008.118
[13] SCHUBERT N, SCHOLL I. Comparing GPU-based multi-volume ray casting techniques[J]. Computer Science-Research and Development, 2011, 26 (1-2) : 39 –50. DOI:10.1007/s00450-010-0141-1
[14] ZHANG Y B, DONG Z, MA K L. Real-time volume rendering in dynamic lighting environments using precomputed photon mapping[J]. IEEE Transactions on Visualization and Computer Graphics, 2013, 19 (8) : 1317 –1330. DOI:10.1109/TVCG.2013.17
[15] 聂雪军. GPU高性能编程CUDA实战[M]. 北京: 机械工业出版社, 2011 : 84 -101. NIE X J. CUDA by example an introduction to general-purpose GPU programming[M]. Beijing: China Machine Press, 2011 : 84 -101. (in Chinese)
[16] 周志光, 陶煜波, 林海. 一种有效显示隐藏特征的光线投射算法[J]. 计算机学报, 2011, 34 (3) : 517 –525. ZHOU Z G, TAO Y B, LIN H. A novel ray casting algorithm for the display of occluded features[J]. Chinese Journal of Computers, 2011, 34 (3) : 517 –525. DOI:10.3724/SP.J.1016.2011.00517 (in Chinese)
[17] MOLONEY B, AMENT M, WEISKOPF D, et al. Sort first parallel volume rendering[J]. IEEE Transactions on Visualization and Computer Graphics, 2011, 17 (8) : 1164 –1177. DOI:10.1109/TVCG.2010.116
http://dx.doi.org/10.13700/j.bh.1001-5965.2015.0503
北京航空航天大学主办。
0

文章信息

冯晓萌, 吴玲达, 于荣欢
FENG Xiaomeng, WU Lingda, YU Ronghuan
保持颜色一致性的动态电磁环境绘制算法
Rendering algorithm with color coherence for dynamic electromagnetic environment
北京航空航天大学学报, 2016, 42(8): 1659-1666
Journal of Beijing University of Aeronautics and Astronsutics, 2016, 42(8): 1659-1666
http://dx.doi.org/10.13700/j.bh.1001-5965.2015.0503

文章历史

收稿日期: 2015-07-28
录用日期: 2015-09-11
网络出版时间: 2015-10-09 15:52

相关文章

工作空间