CN102646288B - 一种间隔基本均匀的三维流线放置方法 - Google Patents
一种间隔基本均匀的三维流线放置方法 Download PDFInfo
- Publication number
- CN102646288B CN102646288B CN201210044458.8A CN201210044458A CN102646288B CN 102646288 B CN102646288 B CN 102646288B CN 201210044458 A CN201210044458 A CN 201210044458A CN 102646288 B CN102646288 B CN 102646288B
- Authority
- CN
- China
- Prior art keywords
- streamline
- dimensional
- flow
- flow field
- grid cell
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种间隔基本均匀的三维流线放置方法,属于科学计算可视化技术领域。该方法,包括以下步骤:1、对于给定的三维流场,构造一个定义域与之对应的三维正交控制网格;2、在三维正交控制网格中,任意查找一个六联通空白区域,令所找到六联通空白区域为R;3、在步骤2得到的六联通空白区域R内,选取一个流线种子点。4、根据步骤3中得到的流线种子点,计算并得到经过该点的流线;5、将步骤4中得到的流线作为新流线放置到流场中,并更新该流线所涉及的控制网格单元的计数值,即将该流线所涉及的每个控制网格单元的计数值加1;6、重复步骤2、3、4和5,直到三维控制网格中不存在任何空白的六联通区域为止;7、结束流线放置过程,完成所有流线放置工作。
Description
技术领域
本发明涉及一种基于流线的流场可视化方法,特别涉及一种间隔基本均匀的三维流线放置方法,属于科学计算可视化技术领域。
背景技术
在工程和科研领域,常常需要对流场进行可视化处理,将不可见的流场模拟数据或者是测试数据,转化为可见的流场图像。在现有的流场可视化技术和方法中,流线是最为常用的方法之一,因为流线能比较直观地展现流场模式。但是,基于流线的流场可视化面临如何在流场中放置流线的问题。只有在流场的适当位置放置适当数量的流线,才能建立比较好的流场可视化效果。流线太少难以形成有效的流场模式,流线太多则容易产生视觉混乱。
为了在适当的位置放置适当数量的流线,国内外学者已经针对二维流场提出了很多流线放置方法,例如图像引导的流线放置方法(参见G.Turk and D.Banks.Image-guided streamline placement.Proc.ACM SIGGRAPH’96,1996:453-460.)、流引导的流线放置方法(参见V.Verma,D.Kao,and A.Pang.Aflow-guided streamline seeding strategy.Proc.IEEE Visualization’00,2000:163-170.)、最远点流线放置策略(参见A.Mebarki,P.Alliez,and O.Devillers.Farthest point seeding for efficient placement of streamlines.Proc.IEEE Visualization’05,2005:479-486.)、邻近点流线放置策略(B.Jobard and W.Lefer.Creating evenly-spaced streamlines of arbitrarydensity.Proc.8th EG Workshop on Visualization in Scientific Computing,1997:45-55.),等等。
对于三维流场,则由于三维空间的复杂性以及三维流线的遮挡问题,目前仅有少数几个三维流线放置方法,其中比较有代表性的是:
(1)Mattausch等人提出的三维流线放置方法(参见O.Mattausch,T.Theuβl,H.Hauser and E.Strategies for Interactive Explorationof 3D Flow Using Evenly-Spaced Illuminated Streamlines.Proc.NineteenthSpring Conf.on Computer Graphics,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等人的三维流线放置方法在性能和效率上不太理想。
鉴于上述现状,本发明提出了一种新的三维流场流线放置方法。该方法不依赖于流场拓扑分析,也不采用基于点距的流线间隔控制,但是能够在三维流场放置间隔基本均匀的三维流线。该方法计算量小,效率高,容易实现。
发明内容
本发明的目的是提供一种适用于三维流场的流线放置方法,在满足流线间隔基本均匀的前提下,减少流线放置的计算量,提高流线放置效率。
本发明的目的是通过以下技术方案实现的:
一种间隔基本均匀的三维流线放置方法,包括以下步骤:
步骤1、对于给定的三维流场,构造一个定义域与之对应的三维正交控制网格,网格单元的大小根据实际应用需求设定;为每个网格单元设置一个计数器,记录每个网格单元所包含的流线数目,同时设定计数器的计数上限值,该上限值为一个大于或等于1的正整数;初始时刻每个网格单元都是空白的,相应计数器的计数值为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中得到的流线作为新流线放置到流场中,并更新该流线所涉及的控制网格单元的计数值,即将该流线所涉及的每个控制网格单元的计数值加1。
步骤6、重复步骤2、3、4和5,直到三维控制网格中不存在任何空白的六联通区域为止。
步骤7、结束流线放置过程,完成所有流线放置工作。
有益效果
本发明与一般的三维流线放置方法相比,具有以下几个方面的优点:
(1)本发明可以使三维流场的流线分布尽可能均匀。
(2)本发明通过三维控制网格以及基于网格单元的计数机制来控制三维流场的流线分布。这种控制方法计算量小,执行效率高。
(3)本发明可以通过调整网格单元的大小以及网格单元计数器的上限值,实现任意密度的三维流线放置。
(4)本发明提供了一种在三维流场选择流线种子点的方法。该方法有利于三维流线的均匀分布。
(5)本发明的方法对于任何三维流场都可顺利实施,不依赖于流场的拓扑结构。
附图说明
图1三维示例流场的定义域;
图2三维示例流场的控制网格;
图3在示例流场中放置第一条流线的中间结果;
图4在示例流场中放置第二条流线的中间结果;
图5示例流场最后的流线放置结果;
图6示例流场的三维流线图。
具体实施方式
下面结合附图,具体说明本发明的优选实施方式。
对于定义在区域D=[xmin,xmax]×[ymin,ymax]×[zmin,zmax]中的三维流场F:(x,y,z)α(u,v,w),其定义域通常被离散成矩形网格单元Ci,j,k(i=1,Λ,M,j=1,Λ,N,k=1,Λ,K),在每个网格单元的中心(xi,j,k,yi,j,k,zi,j,k),有一个表示该点流速的矢量(ui,j,k,vi,j,k,wi,j,k)。这种离散化的三维流场就是本发明在具体实施过程中所要处理的客体对象。
为了展现本发明的实施方式,采用一个三维螺旋流场作为示例。该示例流场如图1所示,其定义域D=[0,10]×[0,10]×[0,10]。图1中三个不同颜色的箭头分别表示XYZ三个坐标轴的方向。在该流场的定义域内任意一点(x,y,z)的流速矢量(u,v,w)定义为:
对于该示例流场,本发明的目的是在图1所示的流场区域内放置间隔尽可能均匀的流线,建立该流场的三维流线图,以便展现该流场的流动模式和流动行为。具体的实施步骤如下:
步骤1:构造三维正交控制网格
根据给定的三维流场,构造一个与之对应的三维正交控制网格;控制网格的定义域与流场的定义域完全一致;网格单元的大小根据实际应用需求设定;与此同时,为每个网格单元设置一个计数器,记录每个网格单元所包含的流线数目,并设定计数器的计数上限值,该上限值为一个大于或等于1的正整数;初始时刻每个网格单元都是空白的,相应计数器的计数值为0,如果某个网格单元的计数器值不为0,则表示该网格单元是非空的。
对于图1所示的示例流场,指定控制网格的网格单元的大小为1×1×1,构造得到的控制网格图如图2所示。为该控制网格设定的网格单元的计数上限值为10。
步骤2:查找六联通空白区域
在三维正交控制网格中,任意查找一个六联通空白区域,令所找到六联通空白区域为R。这里的六联通空白区域是指三维正交控制网格中在三个正交的坐标轴方向上都连续的一组空白网格单元。
对于图1所示的示例流场,在初始时刻,控制网格中所有网格单元都是空白的,所有这些空白网格单元一起构成一个六联通空白区域;因此在初始时刻该步骤找到的六联通空白区域就是整个控制网格。
步骤3:选取流线种子点
选择步骤2中得到的六联通空白区域R,在R内选取一个流线种子点。按照本发明优先的种子点选取方法是:计算R内所有网格单元中心点的坐标平均值,将其作为一个新的坐标点p,如果p位于R内,则选择p为流线种子点;否则过新作标点p作垂直于任一坐标轴的平面,得到R在该平面内的截面图S,不失一般性,令截面图S垂直于Z轴,然后在截面图S内任意选取一个封闭区域W,计算W内所有网格单元中心点的坐标平均值,并将其作为另一坐标点q,分别过q作平行于X轴和Y轴直线,得到与W的截线段,选取其中最长的截线段的中点作为流线种子点。
当六联通空白区域R等于整个控制网格时,在本步骤中所选取的流线种子点就是整个控制网格的中心点,即图3中的绿色小圆点P0,其坐标为(0,0,0)。
步骤4、计算三维流线
选择步骤3中得到的流线种子点,采用四阶龙格-库塔算法,计算经过该点的流线。如果该流线延伸到流场边界、速度为零的临界点、或者是计数值已达计数上限的控制网格单元时,该流线的计算过程就终止。
在该步骤中,当六联通空白区域R等于整个控制网格时,计算得到的流线就是图3中所示的流线L0。
步骤5、放置三维流线
将步骤4中得到的三维流线作为新流线放置到三维流场中,并更新该流线所涉及的控制网格单元的计数值,即将该流线所涉及的每个控制网格单元的计数值加1。
在该步骤中,当六联通空白区域R等于整个控制网格时,流线L0的放置结果以及控制网格的更新结果如图3所示,其中计数器值大于0的网格单元都被标记为蓝色,其余的空白网格单元没有显示。
步骤6、重复步骤2、3、4和5,直到三维控制网格中不存在任何空白的六联通区域为止。
对于本实施方式中所选择的三维示例流场,在放置了图3所示的流线L0之后,重复一次步骤2、3、4和5得到的流线放置结果如图4所示。在此基础上,继续重复步骤2、3、4和5,直到三维控制网格中不再包含任何空白的六联通区域为止,而得到的流线放置结果如图5所示,其中包含了控制网格的填充情况以及所有流线的种子点。从图5可以看到,控制网格的所有网格单元都被标记为蓝色,表明所有控制网格单元都包含有流线。
步骤7、结束流线放置过程,完成所有流线放置工作。
对于本实施方式中所选择的三维示例流场,按照本发明的方法得到的三维流线图如图6所示,该图实际上是三维流线在二维平面的透视投影结果,与图5的区别是没有显示控制网格和流线种子点。从图6可以看到三维流线的间隔基本均匀,流场的流动模式和流动行为得到了比较好的展现。这表明本发明达到了预期的目的。需要注意的是,三维流线在二维平面的投影显示并不是本发明所关注的问题。
应该理解的是,本实施方式只是本发明实施的具体实例,不应该是本发明保护范围的限制。在不脱离本发明的精神与范围的情况下,对上述内容进行等效的修改或变更均应包含在本发明所要求保护的范围之内。
Claims (1)
1.一种间隔基本均匀的三维流线放置方法,其特征在于,包括以下步骤:
步骤1、对于给定的三维流场,构造一个定义域与之对应的三维正交控制网格,网格单元的大小根据实际应用需求设定;为每个网格单元设置一个计数器,记录每个网格单元所包含的流线数目,同时设定计数器的计数上限值,该上限值为一个大于或等于1的正整数,其中每个计数器的初始值都为0;
步骤2、在三维正交控制网格中,任意查找一个六联通空白区域,令所找到六联通空白区域为R;
步骤3、在步骤2得到的六联通空白区域R内,计算R内所有网格单元中心点的坐标平均值,将其作为一个新的坐标点p,如果p位于R内,则选择p为流线种子点;否则过新坐标点p作垂直于任一坐标轴的平面,得到R在该平面内的截面图S,然后在截面图S内任意选取一个封闭区域W,计算W内所有网格单元中心点的坐标平均值,并将其作为另一个坐标点q,分别过q作平行于另外两个坐标轴的直线,得到与W的截线段,选取其中最长的截线段的中点作为流线种子点;
步骤4、根据步骤3中得到的流线种子点,计算并得到经过该点的流线;在计算流线的过程中,如果流线延伸到流场边界、速度为零的临界点、或者是计数器值已达计数上限的网格单元时,该流线的计算过程就终止;
步骤5、将步骤4中得到的流线作为新流线放置到流场中,并更新该流线所涉及的控制网格单元的计数值,即将该流线所涉及的每个控制网格单元的计数值加1;
步骤6、重复步骤2、3、4和5,直到三维正交控制网格中不存在任何空白的六联通区域为止;
步骤7、结束流线放置过程,完成所有流线放置工作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210044458.8A CN102646288B (zh) | 2012-02-23 | 2012-02-23 | 一种间隔基本均匀的三维流线放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210044458.8A CN102646288B (zh) | 2012-02-23 | 2012-02-23 | 一种间隔基本均匀的三维流线放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102646288A CN102646288A (zh) | 2012-08-22 |
CN102646288B true CN102646288B (zh) | 2014-02-26 |
Family
ID=46659100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210044458.8A Expired - Fee Related CN102646288B (zh) | 2012-02-23 | 2012-02-23 | 一种间隔基本均匀的三维流线放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102646288B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103226804B (zh) * | 2013-04-12 | 2015-12-23 | 山东大学 | 一种基于流线重心Voronoi图的流场可视化方法 |
CN105653881B (zh) * | 2016-03-04 | 2018-09-11 | 天津大学 | 基于多密度层次的流场可视化方法 |
CN106202522B (zh) * | 2016-07-22 | 2019-11-08 | 北京大学 | 一种流场积分曲线的复用方法及系统 |
CN109544678B (zh) * | 2018-11-06 | 2022-08-26 | 北京理工大学 | 一种分布基本均匀的三维流线并行放置方法 |
CN110211207B (zh) * | 2019-06-14 | 2020-10-02 | 北京理工大学 | 一种基于流线长度累加的三维流场可视化方法 |
CN110232735B (zh) * | 2019-06-14 | 2020-10-02 | 北京理工大学 | 一种基于流线计数机制的三维流场可视化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050209983A1 (en) * | 2004-03-18 | 2005-09-22 | Macpherson Deborah L | Context driven topologies |
CN101694725A (zh) * | 2009-10-10 | 2010-04-14 | 北京理工大学 | 一种拓扑驱动的平面流场流线放置方法 |
-
2012
- 2012-02-23 CN CN201210044458.8A patent/CN102646288B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050209983A1 (en) * | 2004-03-18 | 2005-09-22 | Macpherson Deborah L | Context driven topologies |
CN101694725A (zh) * | 2009-10-10 | 2010-04-14 | 北京理工大学 | 一种拓扑驱动的平面流场流线放置方法 |
Non-Patent Citations (4)
Title |
---|
A Streamline Placement Method Highlighting Flow Field Topology;Wenyao Zhang et al.;《2010 International Conference on Computational Intelligence and Security》;20101231;238-242 * |
Oliver Mattausch et al..Strategies for interactive exploration of 3D flow using evenly-spaced illuminated streamlines.《Proceeding SCCG "03 Proceedings of the 19th spring conference on Computer graphics》.2003,213-222. |
Strategies for interactive exploration of 3D flow using evenly-spaced illuminated streamlines;Oliver Mattausch et al.;《Proceeding SCCG "03 Proceedings of the 19th spring conference on Computer graphics》;20031231;213-222 * |
Wenyao Zhang et al..A Streamline Placement Method Highlighting Flow Field Topology.《2010 International Conference on Computational Intelligence and Security》.2010,238-242. |
Also Published As
Publication number | Publication date |
---|---|
CN102646288A (zh) | 2012-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102646288B (zh) | 一种间隔基本均匀的三维流线放置方法 | |
Cui et al. | Geometry-based edge clustering for graph visualization | |
Gyulassy et al. | Efficient computation of Morse-Smale complexes for three-dimensional scalar functions | |
CN102521854B (zh) | 一种适用于二维流场的并行流线放置方法 | |
CN103714577B (zh) | 一种适用于带纹理模型的三维模型简化方法 | |
CN104933757B (zh) | 一种基于款式描述符的三维服装建模方法 | |
CN104036095B (zh) | 基于区域分解的耦合高精度复杂外形流场快速算法 | |
Cheng et al. | Loop subdivision surface based progressive interpolation | |
CN106649817B (zh) | 地理信息系统三维管模型构建放样方法及装置 | |
CN105118091B (zh) | 一种构建多精度非均匀地质网格曲面模型的方法和系统 | |
CN106447768B (zh) | 一种适用于三维场景中三维模型并行绘制的方法 | |
CN101694725B (zh) | 一种拓扑驱动的平面流场流线放置方法 | |
CN105160700B (zh) | 一种用于三维模型重建的截面曲线重构方法 | |
CN104268322B (zh) | Weno差分方法的一种边界处理技术 | |
CN104966317A (zh) | 一种基于矿体轮廓线的三维自动建模方法 | |
CN102354402B (zh) | 基于风格学习的绘画渲染方法 | |
CN107169228A (zh) | Bim模型数据交换方法、装置、终端及计算机可读存储介质 | |
CN107102991A (zh) | 一种三维gis系统中的杆塔参数化建模方法 | |
CN105653881B (zh) | 基于多密度层次的流场可视化方法 | |
Zhang et al. | Synthetic modeling method for large scale terrain based on hydrology | |
CN104200502B (zh) | 一种二维散点数据密度制图方法 | |
CN107330209B (zh) | 一种基于参数化设计的造型墙智能模板实现方法 | |
CN109767492A (zh) | 一种变电站三维模型的间距计算方法 | |
McLoughlin et al. | Easy integral surfaces: a fast, quad-based stream and path surface algorithm | |
CN104537254A (zh) | 一种基于社会统计数据的精细化制图方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140226 Termination date: 20160223 |
|
CF01 | Termination of patent right due to non-payment of annual fee |