一种间隔基本均匀的三维流线放置方法

文档序号:6365345阅读:380来源:国知局
专利名称:一种间隔基本均匀的三维流线放置方法
技术领域
本发明涉及一种基于流线的流场可视化方法,特别涉及一种间隔基本均匀的三维流线放置方法,属于科学计算可视化技术领域。
背景技术
在工程和科研领域,常常需要对流场进行可视化处理,将不可见的流场模拟数据或者是测试数据,转化为可见的流场图像。在现有的流场可视化技术和方法中,流线是最为常用的方法之一,因为流线能比较直观地展现流场模式。但是,基于流线的流场可视化面临如何在流场中放置流线的问题。只有在流场的适当位置放置适当数量的流线, 才能建立比较好的流场可视化效果。流线太少难以形成有效的流场模式,流线太多则容易产生视觉混舌L。为了在适当的位置放置适当数量的流线,国内外学者已经针对二维流场提出了很多流线放置方法,例如图像引导的流线放置方法(参见G. Turk and D. Banks. Image-guidedstreamline placement. Proc. ACM SIGGRAPHJ 96,1996 :453-460.)、流引导的流线放置方法(参见 V. Verma, D. Kao, and A. Pang. A flow-guided streamline seeding strategy.Proc. IEEE Visualization’ 00,2000 :163-170.)、最远点流线放置策略(参见 A. Mebarki,P.Alliez, and 0. Devillers. Farthest point seeding for efficient placement ofstreamlines. Proc. IEEE Visualization,05, 2005 :479-486.)、邻近点流线放置策略(B. Jobard and ff. Lefer. Creating evenly-spaced streamlines of arbitrary density.Proc.8th EG Workshop on Visualization in Scientific Computing,1997 :45-55.),等
坐寸ο对于三维流场,则由于三维空间的复杂性以及三维流线的遮挡问题,目前仅有少数几个三维流线放置方法,其中比较有代表性的是(I)Mattausch等人提出的三维流线放置方法(参见0. Mattausch, T. Theu β I,H. Hauser and E. Groller.Strategies for Interactive Exploration of 3D Flow UsingEvenly-Spaced Illuminated Streamlines. Proc. Nineteenth Spring Conf. on ComputerGraphics, 2003 :213-222.)。该方法是从二维邻近点流线放置策略扩展而来的,基本思想是先任意放置一条初始流线,针对该流线的采样点,在其周围选择6个围绕该流线且彼此间隔距离等于某一预先设定值的点,以这些点作为新流线的候选种子点;然后从候选种子点中选择有效的种子点计算新流线,并针对新流线继续查找候选种子点;不断重复这一过程,直到不再有新流线产生为止。为了使流线分布尽可能均匀,该方法在计算新流线的时候,不断检测新流线与已有流线之间的间隔距离,确保流线之间的最小间隔不低于某一预选设定的值。该方法能够在三维空间放置间隔基本均匀的流线。然而,不足的是该方法的计算量比较大,执行时间比较长,因为候选种子点的有效性判别以及流线的间隔控制,都需要大量计算点与点之间的距离。这种基于点距的流线间隔控制影响了该方法的性能和效率。
(2)Ye等人在二维流引导的流线放置方法基础上提出的基于种子点模板的三维流线放置方法(参见 X. Ye, D. Kao and A. Pang. Strategy for Seeding3D Streaml ines.Proc. IEEE Visualization’ 05,2005 :471-478)。该方法的基本思想是先提取流场临界点,并依靠临界点识别流场不同区域的流动模式;然后针对不同的流动模式,采用不同的种子点模板在临界点周围放置流线;最后按照Poisson分布在空白区域放置附加的流线。该方法能够捕获流场的基本流动模式,强调流场拓扑结构特征,其实质是一种基于流场拓扑特征的流线放置方法,需要事先进行流场拓扑分析。流场拓扑分析不仅算法复杂,而且计算量也很大。因此,Ye等人的三维流线放置方法在性能和效率上不太理想。鉴于上述现状,本发明提出了一种新的三维流场流线放置方法。该方法不依赖于流场拓扑分析,也不采用基于点距的流线间隔控制,但是能够在三维流场放置间隔基本均匀的三维流线。该方法计算量小,效率高,容易实现。

发明内容
本发明的目的是提供一种适用于三维流场的流线放置方法,在满足流线间隔基本均匀的前提下,减少流线放置的计算量,提高流线放置效率。本发明的目的是通过以下技术方案实现的一种间隔基本均匀的三维流线放置方法,包括以下步骤步骤I、对于给定的三维流场,构造一个定义域与之对应的三维正交控制网格,网格单元的大小根据实际应用需求设定;为每个网格单元设置一个计数器,记录每个网格单元所包含的流线数目,同时设定计数器的计数上限值,该上限值为一个大于或等于I的正整数;初始时刻每个网格单元都是空白的,相应计数器的计数值为0,如果某个网格单元的计数器值不为0,则表示该网格单元是非空的。步骤2、在三维正交控制网格中,任意查找一个六联通空白区域,令所找到六联通空白区域为R。步骤3、在步骤2得到的六联通空白区域R内,选取一个流线种子点。理论上,流线种子点可以为R内的任意点。但是,流线种子点选得不好会影响流线放置的结果。在实际应用中,有很多种选取方法,例如可以在R内任意选取一点,或者是R内某个单元格的中心点。优选的,本发明采取的流线种子点选取方法为计算R内所有网格单元中心点的坐标平均值,将其作为一个新的坐标点P,如果P位于R内,则选择P为流线种子点;否则过新坐标点P作垂直于任一坐标轴的平面,得到R在该平面内的截面图S,不失一般性,令截面图S垂直于Z轴,然后在截面图S内任意选取一个封闭区域W,计算W内所有网格单元中心点的坐标平均值,并将其作为另一个坐标点q,分别过q作平行于X轴和Y轴直线,得到与W的截线段,选取其中最长的截线段的中点作为流线种子点。采用该流线种子点选取方法,可以使三维流线间隔尽可能均匀。步骤4、根据步骤3中得到的流线种子点,计算并得到经过该点的流线;在计算流线的过程中,如果流线延伸到流场边界、速度为零的临界点、或者是计数器值已达计数上限的网格单元时,该流线的计算过程就终止。流线的计算方法包括但不限于欧拉算法和龙格-库塔算法。
步骤5、将步骤4中得到的流线作为新流线放置到流场中,并更新该流线所涉及的控制网格单元的计数值,即将该流线所涉及的每个控制网格单元的计数值加I。步骤6、重复步骤2、3、4和5,直到三维控制网格中不存在任何空白的六联通区域为止。步骤7、结束流线放置过程,完成所有流线放置工作。有益效果本发明与一般的三维流线放置方法相比,具有以下几个方面的优点
(I)本发明可以使三维流场的流线分布尽可能均匀。(2)本发明通过三维控制网格以及基于网格单元的计数机制来控制三维流场的流线分布。这种控制方法计算量小,执行效率高。(3)本发明可以通过调整网格单元的大小以及网格单元计数器的上限值,实现任意密度的三维流线放置。(4)本发明提供了一种在三维流场选择流线种子点的方法。该方法有利于三维流线的均匀分布。(5)本发明的方法对于任何三维流场都可顺利实施,不依赖于流场的拓扑结构。


图I三维示例流场的定义域;图2三维示例流场的控制网格;图3在示例流场中放置第一条流线的中间结果;图4在示例流场中放置第二条流线的中间结果;图5示例流场最后的流线放置结果;图6示例流场的三维流线图。
具体实施例方式下面结合附图,具体说明本发明的优选实施方式。对于定义在区域D = [xmin, XmaJ X [ymin, ymax] X [zmin, ZmaJ 中的三维流场 F (x, y,z) a (u, v, w),其定义域通常被离散成矩形网格单元Ci, j,k(i = I, Λ,M, j = I, Λ,N, k =1,Λ,K),在每个网格单元的中心(Xi,j,k,yi,j,k,Z^k),有一个表示该点流速的矢量(U^k,Vi,^, Wi,^)。这种离散化的三维流场就是本发明在具体实施过程中所要处理的客体对象。为了展现本发明的实施方式,采用一个三维螺旋流场作为示例。该示例流场如图I所示,其定义域D =
X
X
。图I中三个不同颜色的箭头分别表示XYZ三个坐标轴的方向。在该流场的定义域内任意一点(X,y,z)的流速矢量(u,v,w)定义为
u-{x-5.5)12-{y -5.5)< v - (y - 5.5)/2 + (x — 5.5).
w = (z - 5.5)/2对于该示例流场,本发明的目的是在图I所示的流场区域内放置间隔尽可能均匀的流线,建立该流场的三维流线图,以便展现该流场的流动模式和流动行为。具体的实施步骤如下
步骤I :构造三维正交控制网格根据给定的三维流场,构造一个与之对应的三维正交控制网格;控制网格的定义域与流场的定义域完全一致;网格单元的大小根据实际应用需求设定;与此同时,为每个网格单元设置一个计数器,记录每个网格单元所包含的流线数目,并设定计数器的计数上限值,该上限值为一个大于或等于I的正整数;初始时刻每个网格单元都是空白的,相应计数器的计数值为0,如果某个网格单元的计数器值不为0,则表示该网格单元是非空的。对于图I所示的示例流场,指定控制网格的网格单元的大小为IX IX 1,构造得到的控制网格图如图2所示。为该控制网格设定的网格单元的计数上限值为10。步骤2 :查找六联通空白区域在三维正交控制网格中,任意查找一个六联通空白区域,令所找到六联通空白区 域为R。这里的六联通空白区域是指三维正交控制网格中在三个正交的坐标轴方向上都连续的一组空白网格单元。对于图I所示的示例流场,在初始时刻,控制网格中所有网格单元都是空白的,所有这些空白网格单元一起构成一个六联通空白区域;因此在初始时刻该步骤找到的六联通空白区域就是整个控制网格。步骤3 :选取流线种子点选择步骤2中得到的六联通空白区域R,在R内选取一个流线种子点。按照本发明优先的种子点选取方法是计算R内所有网格单元中心点的坐标平均值,将其作为一个新的坐标点P,如果P位于R内,则选择P为流线种子点;否则过新作标点P作垂直于任一坐标轴的平面,得到R在该平面内的截面图S,不失一般性,令截面图S垂直于Z轴,然后在截面图S内任意选取一个封闭区域W,计算W内所有网格单元中心点的坐标平均值,并将其作为另一坐标点q,分别过q作平行于X轴和Y轴直线,得到与W的截线段,选取其中最长的截线段的中点作为流线种子点。当六联通空白区域R等于整个控制网格时,在本步骤中所选取的流线种子点就是整个控制网格的中心点,即图3中的绿色小圆点Ptl,其坐标为(0,0,0)。步骤4、计算三维流线选择步骤3中得到的流线种子点,采用四阶龙格-库塔算法,计算经过该点的流线。如果该流线延伸到流场边界、速度为零的临界点、或者是计数值已达计数上限的控制网格单元时,该流线的计算过程就终止。在该步骤中,当六联通空白区域R等于整个控制网格时,计算得到的流线就是图3中所示的流线U。步骤5、放置三维流线将步骤4中得到的三维流线作为新流线放置到三维流场中,并更新该流线所涉及的控制网格单元的计数值,即将该流线所涉及的每个控制网格单元的计数值加I。在该步骤中,当六联通空白区域R等于整个控制网格时,流线Ltl的放置结果以及控制网格的更新结果如图3所示,其中计数器值大于O的网格单元都被标记为蓝色,其余的空白网格单元没有显示。步骤6、重复步骤2、3、4和5,直到三维控制网格中不存在任何空白的六联通区域为止。
对于本实施方式中所选择的三维示例流场,在放置了图3所示的流线Ltl之后,重复一次步骤2、3、4和5得到的流线放置结果如图4所示。在此基础上,继续重复步骤2、3、4和5,直到三维控制网格中不再包含任何空白的六联通区域为止,而得到的流线放置结果如图5所示,其中包含了控制网格的填充情况以及所有流线的种子点。从图5可以看到,控制网格的所有网格单元都被标记为蓝色,表明所有控制网格单元都包含有流线。步骤7、结束流线放置过程,完成所有流线放置工作。对于本实施方式中所选择的三维示例流场,按照本发明的方法得到的三维流线图 如图6所示,该图实际上是三维流线在二维平面的透视投影结果,与图5的区别是没有显示控制网格和流线种子点。从图6可以看到三维流线的间隔基本均匀,流场的流动模式和流动行为得到了比较好的展现。这表明本发明达到了预期的目的。需要注意的是,三维流线在二维平面的投影显示并不是本发明所关注的问题。应该理解的是,本实施方式只是本发明实施的具体实例,不应该是本发明保护范围的限制。在不脱离本发明的精神与范围的情况下,对上述内容进行等效的修改或变更均应包含在本发明所要求保护的范围之内。
权利要求
1.一种间隔基本均匀的三维流线放置方法,其特征在于,包括以下步骤 步骤I、对于给定的三维流场,构造一个定义域与之对应的三维正交控制网格,网格单元的大小根据实际应用需求设定;为每个网格单元设置一个计数器,记录每个网格单元所包含的流线数目,同时设定计数器的计数上限值,该上限值为一个大于或等于I的正整数; 步骤2、在三维正交控制网格中,任意查找一个六联通空白区域,令所找到六联通空白区域为R ; 步骤3、在步骤2得到的六联通空白区域R内,选取一个流线种子点; 步骤4、根据步骤3中得到的流线种子点,计算并得到经过该点的流线;在计算流线的过程中,如果流线延伸到流场边界、速度为零的临界点、或者是计数器值已达计数上限的网格单元时,该流线的计算过程就终止; 步骤5、将步骤4中得到的流线作为新流线放置到流场中,并更新该流线所涉及的控制网格单元的计数值,即将该流线所涉及的每个控制网格单元的计数值加I ; 步骤6、重复步骤2、3、4和5,直到三维控制网格中不存在任何空白的六联通区域为止; 步骤7、结束流线放置过程,完成所有流线放置工作。
2.根据权利要求I所述的一种间隔基本均匀的三维流线放置方法,其特征在于,步骤4中流线的计算方法包括但不限于欧拉算法和龙格-库塔算法。
3.根据权利要求I所述的一种间隔基本均匀的三维流线放置方法,其特征在于,步骤3中采取的流线种子点选取方法为计算R内所有网格单元中心点的坐标平均值,将其作为一个新的坐标点P,如果P位于R内,则选择P为流线种子点;否则过新坐标点P作垂直于任一坐标轴的平面,得到R在该平面内的截面图S,不失一般性,令截面图S垂直于Z轴,然后在截面图S内任意选取一个封闭区域W,计算W内所有网格单元中心点的坐标平均值,并将其作为另一个坐标点q,分别过q作平行于X轴和Y轴直线,得到与W的截线段,选取其中最长的截线段的中点作为流线种子点。
全文摘要
本发明涉及一种间隔基本均匀的三维流线放置方法,属于科学计算可视化技术领域。该方法,包括以下步骤1、对于给定的三维流场,构造一个定义域与之对应的三维正交控制网格;2、在三维正交控制网格中,任意查找一个六联通空白区域,令所找到六联通空白区域为R;3、在步骤2得到的六联通空白区域R内,选取一个流线种子点。4、根据步骤3中得到的流线种子点,计算并得到经过该点的流线;5、将步骤4中得到的流线作为新流线放置到流场中,并更新该流线所涉及的控制网格单元的计数值,即将该流线所涉及的每个控制网格单元的计数值加1;6、重复步骤2、3、4和5,直到三维控制网格中不存在任何空白的六联通区域为止;7、结束流线放置过程,完成所有流线放置工作。
文档编号G06T17/20GK102646288SQ201210044458
公开日2012年8月22日 申请日期2012年2月23日 优先权日2012年2月23日
发明者孙波, 宁建国, 张文耀 申请人:北京理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1