本发明涉及一种三维流场可视化方法,特别涉及一种基于流线长度累加的三维流场可视化方法,属于流场可视化技术领域。
背景技术:
流场可视化在空气动力学和流体力学等领域具有广泛的应用。其应用的目的之一是将包含在流场数据中的流场特征揭示出来,以便更好地研究和理解流场特性和规律。对于二维流场,这个目的并不难实现。常规的流线可视化技术,例如图像引导的流线放置方法(参见g.turkandd.banks.image-guidedstreamlineplacement.proc.acmsiggraph'96,1996:453-460.),即可很好地展示流场结构和流场的流动模式。然而,对于三维流场,却不太容易通过常规的流线可视化技术来揭示流场结构和流动模式。
目前,比较有代表性的直接采用流线可视化三维流场的方法主要有:(1)mattausch等人提出的基于邻近点放置策略的三维流线放置方法(参见o.mattausch,t.theuβl,h.hauserande.
但是,由于三维流场维度高且空间结构复杂等原因,上述三维流线放置方法在处理三维流场时都面临共同的问题与不足。这主要表现在:少量流线很难有效揭示三维流场的情况;为了比较全面地揭示流场信息,必须放置大量流线;而大量流线在三维空间中往往会出现严重的遮挡和视觉混乱,从而影响流场可视化效果。
为了解决常规流线可视化技术在处理三维流场时存在的严重遮挡与视觉混乱问题,本发明提出一种基于流线长度累加的三维流场可视化方法。该方法首先在三维流场放置大量分布基本均匀的流线,通过流线捕捉流场结构特征等重要信息;然后通过累加体素单元格内的流线长度将流线体素化,形成流线体数据;再利用直接体绘制技术绘制流线体数据,得到三维流场的可视化结果。该方法不仅保留了流线可视化的效果和风格,而且在揭示流场结构和强调流场特征方面具有明显优势。
技术实现要素:
本发明的目的是提供一种基于流线长度累加的三维流场可视化方法,通过该方法改善现有流线可视化技术在处理三维流场时存在的严重遮挡与视觉混乱问题,同时突出显示流场内部的结构特征,以此增强三维流场的可视化效果。
本发明的目的是通过以下技术方案实现的:
一种基于流线长度累加的三维流场可视化方法,包括以下步骤:
(1)输入描述三维流场的矢量数据v;
(2)根据矢量数据v在三维流场中放置大量分布基本均匀的三维流线,得到流线集合l,其中放置流线的方法包括但不限于基于邻近点放置策略的三维流线放置方法、基于控制网格的三维流线放置方法,以及其他类似的方法;
(3)构建一个刚好覆盖流场定义域的标量体数据s,其中体素大小的按照实际需要设定,将s当作流线体数据并设定所有体素的初始值为0;
(4)通过流线长度累加机制将所有流线体素化,由此得到更新后的流线体数据s,具体方法是:针对s中的每个体素,计算流线集合l中穿过该体素的流线被该体素所截断的流线段长度,将所有流线段长度累加起来,令其结果为λ,然后将该体素的值更新为λ;
(5)采用直接体绘制技术对体数据s进行体绘制,得到三维流场的可视化结果。
有益效果
本发明所述的一种基于流线长度累加的三维流场可视化方法,与现有流线可视化技术相比,具有以下几个方面的特点和优点:
(1)本发明方法在三维流场放置分布基本均匀的流线,通过流线捕获流场结构特征,保留了流线在揭示流场模式方面简单直观的技术特点。
(2)本发明方法将三维流线数据转换为标量体数据,然后采用直接体绘制技术得到可视化结果,避免了直接绘制三维流线时存在的严重遮挡与视觉混乱问题。
(3)本发明方法采用直接体绘制技术绘制流线体数据,在此过程中可以通过调节体绘制传输函数,交互式探索和浏览三维流场的内部结构和特征。这有助于深入分析和理解流场内部的现象和规律。
(4)按照本发明方法建立的流场可视化图像以直观自然的方式强调了流场内部的结构和特征。
附图说明
图1本发明方法的流程图;
图2流线集合l的几何绘制结果;
图3流线体数据s的直接体绘制结果;
图4针对图3的体绘制不透明度传输函数;
图5流线体数据s的另一种直接体绘制结果。
具体实施方式
下面结合附图,详细说明本发明优选的实施方式。
图1给出了本发明所述的一种基于流线长度累加的三维流场可视化方法的处理流程图,其主要步骤如下:
步骤1、输入描述三维流场的矢量数据v。
本发明采用一个模拟龙卷风的三维流场作为实施实例。该流场的定义域为[0,39]×[0,39]×[0,39],描述该流场的矢量数据v是一个三维的体数据,其中体素的数量为40×40×40,每个体素都包含一个与之对应的三维矢量。
步骤2、根据矢量数据v在三维流场中放置大量分布基本均匀的三维流线,得到流线集合l,其中放置流线的方法包括但不限于基于邻近点放置策略的三维流线放置方法、基于控制网格的三维流线放置方法,以及其他类似的方法。
本实施例采用基于控制网格的三维流线放置方法在三维流场放置流线,得到的流线集合l包含3608条流线。按照一般绘制几何图形的方法,在三维空间绘制该流线集合l,得到的可视化结果图像如图2所示。由流线数目比较多,流线遮挡比较严重,从图2难以辨别具体的流场模式和流场结构。
步骤3、构建一个刚好覆盖流场定义域的标量体数据s,其中体素大小的按照实际需要设定,将s当作流线体数据并设定所有体素的初始值为0。
本实施例针对输入的三维流场设定的体素大小为0.2×0.2×0.2,得到的体数据s包含195×195×195个体素。
步骤4、通过流线长度累加机制将所有流线体素化,由此得到更新后的流线体数据s,具体方法是:针对s中的每个体素,计算流线集合l中穿过该体素的流线被该体素所截断的流线段长度,将所有流线段长度累加起来,令其结果为λ,然后将该体素的值更新为λ。
这一步骤得到的体数据s实际上就是流线集合l的体素化结果,其中每个体素的值都是该体素所包含的流线段的长度累加值。
步骤5、采用直接体绘制技术对体数据s进行体绘制,得到三维流场的可视化结果。
本实施例对体数据s进行直接体绘制得到的结果如图3所示。该图以类似于流线的风格展示了三维流场的流动模式,同时揭示了该流场内部重要的结构特征。从该图可以比较清楚地看到龙卷风的螺旋结构以及风眼中周边区域的流动模式。这些内容对于理解流场模式和流动行为至关重要。
在此,需要注意的是,体数据s的直接体绘制结果跟体绘制的不透明度传输函数密切相关。在实际应用中,可以交互式地调节体绘制不透明度传输函数,得到不同内容的体绘制结果,从而以不同的视角探索和浏览三维流场的内部情况。按照本发明方法构建的流线体数据可以很好地支持这种交互式可视化分析。
本实施例中图3所示的体绘制结果,是采用图4所示的体绘制不透明度传输函数得到的。图5是针对流线体数据s调节体绘制不透明度传输函数之后,得到的另一种体绘制结果。与图3相比,图5更清晰地展示了龙卷风的螺旋结构和风眼区域内部的细节信息。
上述步骤及实施例说明了本发明所述的一种基于流线长度累加的三维流场可视化方法的全部过程。
应该理解的是,本实施方式只是本发明实施的具体实例,不应该是本发明保护范围的限制。在不脱离本发明的精神与范围的情况下,对上述内容进行等效的修改或变更均应包含在本发明所要求保护的范围之内。