一种将几何对象融入体绘制结果的方法与流程

文档序号:15274742发布日期:2018-08-28 22:51阅读:168来源:国知局

本发明涉及一种数据可视化方法,特别涉及一种将几何对象融入体绘制结果的方法,属于科学计算可视化中的三维多变量数据场交互可视化分析领域。



背景技术:

在科学计算可视化领域,几何可视化(geometricvisualization)和体绘制(volumerendering)是两种常用但不同类型的数据可视化方法。

几何可视化主要是根据输入数据构造图标、图表或管线等几何对象(geometricobjects),通过几何对象的形状、大小、方向或颜色等视觉特征来表现科学数据,以此实现科学数据的可视化,进而揭示科学数据内在的规律或现象。例如,在流场里面绘制流线(streamlines)或流管(streamtubes),可以揭示流场的流动方向和流动模式。

几何可视化将数据直接映射为可见的视觉特征,简单、自然、直观,非常适合于局部数据的可视化分析。但是对于三维数据场,几何方法往往难以获得比较理想的全局可视化效果,因为建立全局视图所需要的大量几何对象很容易造成视觉混乱。

体绘制是一种直接根据三维数据场产生二维图像的数据可视化技术。利用体绘制技术很容易建立高质量的反映整个数据场概貌的全局视图,但是体绘制技术不太适合于局部数据细节的交互分析。

另外,体绘制技术处理的一般都是单一的标量数据场。在实际应用中,往往需要对多变量或多属性数据场进行可视化分析。单纯的体绘制技术难以满足这种应用需求。几何可视化可以将多个变量或属性关联到几何对象上,实现多变量或多属性数据的关联分析;但是全局分析能力不足。

为此,可以将几何可视化与体绘制结合起来,通过几何可视化建立局部几何对象,展示局部细节信息,然后将几何对象嵌入到展示全局概况的体绘制结果中,由此实现局部细节与全局概况的融合。

针对上述设想,最简单的融合方法是:将几何可视化和体绘制结果在同一视图空间同时显示,即将几何可视化的结果和体绘制的结果看作两个不同的图层,通过图层叠加的方式实现融合。按照这种方法,将体绘制结果作为顶层,几何可视化结果作为底层,最后会发现:通过体绘制的透明区域可以查看到部分几何对象;而在体绘制结果的非透明区域,几何对象则被遮挡了。虽然调整体绘制的不透明度传递函数,可以改善遮挡的情况,但是难以完全避免。因为体绘制的不透明度传递函数在体绘制过程中有自己的特殊用途,调整不透明度传递函数将使体绘制结果发生改变。反过来,将几何可视化结果放在顶层,体绘制结果放在底层;这样几何对象不会被遮挡,但在视觉效果上,几何对象看起来好像是漂浮在体绘制图像上,并没有融入到体绘制结果中。

针对上述遮挡问题和漂浮现象,一个可能的解决方案是:将几何对象嵌入到体数据中,然后针对包含几何对象的体数据进行体绘制。为了优先保证几何对象在视图空间的可见行,在基于光线投射的体绘制过程中,先计算投射光线与几何对象的交点;如果投射光线与几何对象不相交则按照常规体绘制算法进行绘制,否则将投射光线上从交点到视点的所有体素都处理成全透明的。这种方案或类似方案可以消除遮挡问题,但是需要大量的求交运算,实时性比较差,难以满足交互分析的实际应用需求。

鉴于上述情况,本发明提供了一种将几何对象融入体绘制结果的方法。该方法在确保几何对象可见的前提下,在同一视图空间高效地实现了几何可视化与体绘制结果的融合,有利于三维多变量数据场的交互式可视化分析。



技术实现要素:

本发明的目的是在确保几何对象可见的前提下,在同一视图空间融合几何可视化结果和体绘制结果,实现三维多变量数据场中局部细节与全局概况的同时显示,而提供一种将几何对象融入体绘制结果的方法。

本发明的目的是通过以下技术方案实现的。

一种将几何对象融入体绘制结果的方法,包括以下步骤:

步骤一、输入三维多变量数据场;

步骤二、根据输入的三维多变量数据场构造几何对象g,其中几何对象g的构造方法根据实际需要而定;

步骤三、将几何对象g体素化,得到参考体数据r,r的大小和分辨率与输入的三维数据场相同,其中取值为1的体素何对象g所占据的体素,取值为0的体素是空白区域;

步骤四、对参考体数据r进行高斯滤波处理,其中高斯滤波核的大小根据实际应用情况确定;

步骤五、根据实际需要从输入的三维多变量数据场中选取一个标量属性,令其对应的体数据为s;

步骤六、按照实际需要为体数据s设置不透明度传递函数α和颜色传递函数c;

步骤七、为参考体数据r设置不透明传递函数β,使体素值为0的区域完全透明,体素值为1的区域完全不透明,其他区域半透明;其中半透明区域的不透明度值按照实际需要确定;

步骤八、采用光线投射法,按照步骤六和步骤七设置的结果,结合参考体数据r,对属性体数据s进行体绘制;具体方法是:将r和s重叠,然后按照光线投射法对s进行体绘制,其中如果投射光线在参考体数据r遇到不透明度值高于θ的区域d,则在该投射光线离开区域d时,将该投射光线在s中累积的体绘制结果清除,之后再按照正常的光线投射算法进行绘制;如果投射光线在参考体数据r中没有遇到不透明度值高于θ的区域,则按照正常的光线投射算法对s进行体绘制;控制参数θ的取值范围在0.0到1.0之间,具体取值根据实际需要设定;

步骤九、在同一视图空间,将几何对象g叠加到步骤八的体绘制结果上同时显示,由此得到融入了几何对象的体绘制结果。

有益效果

本发明所述的一种将几何对象融入体绘制结果的方法,在确保几何对象可见的前提下,在同一视图空间融合几何可视化结果和体绘制结果,实现三维多变量数据场中局部细节与全局概况的同时显示。与其他方法相比,本发明的方法具有以下几个方面的优点:

(1)本发明方法可以确保几何对象一直可见,避免了一般方法中几何对象被体绘制结果遮挡的情况。

(2)本发明方法没有复杂的几何求交运算,实时性比较好,有利于交互分析。

(3)本发明方法在融合过程中不改变几何对象的绘制,可以确保了几何对象的绘制精度和可视化效果,有利于局部细节的展示以及局部细节与全局概况的对比分析。

附图说明

图1几何对象g的示意图;

图2几何对象g的体素化结果;

图3体数据s的不透明度传递函数和颜色传递函数;

图4体数据s的体绘制结果;

图5结合r对s进行体绘制的结果;

图6融入了几何对象的体绘制结果。

具体实施方式

本发明采用一个公开的飓风场模拟数据集作为实施例来阐述本发明的具体实施方式。下面结合附图和实施例对本发明做详细说明。

一种将几何对象融入体绘制结果的方法,包括以下步骤:

步骤1、输入三维多变量数据场。

本实施例输入的三维多变量数据场是美国国家气象研究中心针对2003年的isabel飓风模拟生成的多变量数据场。数据场大小是500×500×100。数据场中除了基本的流场矢量数据u、v、w外,还包括p(pressure)、tc(temperature)、qvapor(watervapor)、cloud(cloud),precip(precipitaton)等标量属性数据。

步骤2、根据输入的三维多变量数据场构造几何对象g,其中几何对象g的构造方法根据实际需要而定。

本实施例需要分析飓风场中各个属性变量之间的关联关系。为此,根据输入数据中的流场矢量数据计算一条流线,然后根据流线构造一个多面体流管,在流管的侧面通过颜色映射分别编码不同的标量属性数据,以便沿着流管查看各个属性变量的变化情况。按照这些需求,本实施例构造得到的几何对象g如图1所示,其中多面体流管的红色面编码了压力数据p、黄色面编码了温度数据tc。图1除了可见的红色面和黄色面外,实际上还有背后不可见的蓝色面、绿色面和紫色面,各自编码的属性数据依次为qvapor、cloud和precip。

从图1黄色面的颜色变化情况,可以推断出:该流管中间部位的温度tc比较高(因为颜色比较亮),而两端的温度tc值则比较低(颜色较暗);而红色面对应的压力数据p的变化则刚好相反:中间低,两端高。

步骤3、将几何对象g体素化,得到参考体数据r,r的大小和分辨率与输入的三维数据场相同,其中取值为1的体素何对象g所占据的体素,取值为0的体素是空白区域。

本实施例在步骤2中得到的几何对象g,在经步骤3处理之后,得到的参考体数据r如图2所示。图2只显示了几何对象g所占据的体素,此时g的表面是不光滑的。

步骤4、对参考体数据r进行高斯滤波处理,其中高斯滤波核的大小根据实际应用情况确定。

本实施例为参考体数据r设定大小为1×1×1的高斯滤波核,然后进行高斯滤波处理,由此得到经过高斯滤波处理后的参考体数据r。

步骤5、根据实际需要从输入的三维多变量数据场中选取一个标量属性,令其对应的体数据为s。

本实施例期望查看飓风场中的压力分布情况,通过压力分布了解飓风场的整体概况,所以从输入的三维多变量数据场中选取的标量属性数据为压力p,令p对应的体数据为s。

步骤6、按照实际需要为体数据s设置不透明度传递函数α和颜色传递函数c。

本实施例针对体数据s设定的不透明度传递函数α和颜色传递函数c,如图3所示。图3上半部分为不透明度传递函数,从左到右四个控制点的参数分别为:(-4654.74,0.0)、(-2181.0,0.27)、(75.77,0.0)、(2567.28,1.0)。图3下半部分为颜色传递函数,从左到右五个控制点的参数分别为:(-4654.74,black)、(-2842.0,green)、(-1029.0,red)、(783.0,white)、(2567.28,white)。

按照图3所示的设定,对体数据s进行体绘制可得到如图4所示的体绘制结果。图4展示了飓风场的整体情况,飓风眼的位置、大小和旋转方向等内容清晰可见;但是对于局部细节信息的表现并没有图1那么清晰明确。

步骤7、为参考体数据r设置不透明传递函数β,使体素值为0的区域完全透明,体素值为1的区域完全不透明,其他区域半透明;其中半透明区域的不透明度值按照实际需要确定。

本实施例令参考体数据r中半透明区域的不透明度值等于体素值。这种设置是合理可行的,因为参考体数据r是几何对象g体素化之后经高斯滤波得到的结果,所有体素的取值都不会高于1.0也不会低于0.0,满足不透明度函数的取值要求。

步骤8、采用光线投射法,按照步骤6和步骤7设置的结果,结合参考体数据r,对属性体数据s进行体绘制。具体方法是:将r和s重叠,然后按照光线投射法对s进行体绘制,其中如果投射光线在参考体数据r遇到不透明度值高于θ的区域d,则在该投射光线离开区域d时,将该投射光线在s中累积的体绘制结果清除,之后再按照正常的光线投射算法进行绘制;如果投射光线在参考体数据r中没有遇到不透明度值高于θ的区域,则按照正常的光线投射算法对s进行体绘制。控制参数θ的取值范围在0.0到1.0之间,具体取值根据实际需要设定。

本实施例设定θ=0.01,然后按照步骤8进行处理,得到的体绘制结果如图5所示。

步骤9、在同一视图空间,将几何对象g叠加到步骤8的体绘制结果上同时显示,由此得到融入了几何对象的体绘制结果。

本实施例按照步骤9处理后的体绘制结果如图6所示。图6将图1的几何对象和图4的常规体绘制结果融合在一起,除了综合图1和图4各自的优点外,还展现和提供了更多的可视化信息,例如:飓风眼的压力p值很低,但是温度tc值比较高。这达到了本发明的预期目的,也是本发明方法的有益效果之一。

上述步骤说明了本发明所述的一种将几何对象融入体绘制结果的方法的全部过程。

应该理解的是,本实施方式只是本发明实施的具体实例,不应该是本发明保护范围的限制。在不脱离本发明的精神与范围的情况下,对上述内容进行等效的修改或变更均应包含在本发明所要求保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1