CN105653881B - 基于多密度层次的流场可视化方法 - Google Patents
基于多密度层次的流场可视化方法 Download PDFInfo
- Publication number
- CN105653881B CN105653881B CN201610123731.4A CN201610123731A CN105653881B CN 105653881 B CN105653881 B CN 105653881B CN 201610123731 A CN201610123731 A CN 201610123731A CN 105653881 B CN105653881 B CN 105653881B
- Authority
- CN
- China
- Prior art keywords
- streamline
- flow field
- field
- grid
- point
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Z—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
- G16Z99/00—Subject matter not provided for in other main groups of this subclass
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Generation (AREA)
Abstract
本发明涉及流场研究技术领域,为实现在多密度的可视化结果中,高密度层次的结果具有较少的流线,使用者可以清晰地观察到流场的大致结构,在低密度层次的流线结果中,使用者可以观察到更多的细节。本发明采用的技术方案是,基于多密度层次的流场可视化方法,首先使用一种混合算法生成低密度的可视化结果,在该混合算法中,首先利用基于熵值的种子点选取算法保证流线的覆盖性,然后利用控制网格的方式保证流线的均匀性;最后在低密度的可视化结果上,使用基于流线属性对流线进行筛选,最终获得不同密度的可视化结果;在多密度的可视化结果中,高密度层次的结果具有较少的流线。本发明主要应用于流场研究场合。
Description
技术领域
本发明涉及科学计算可视化,流场研究等技术领域,具体讲,涉及基于多密度层次的流场可视化方法。
背景技术
在大数据时代,可视化为数据处理的提供了新手段。医学、气象、仿真等领域都存在大量流场现象,从大规模复杂的实验数据中发现流场规律、清晰地观察到流场的特征是科研研究中普遍存在的问题。可视化技术可以为此提供良好的解决方法。
对流场现象进行可视化是科学计算可视化领域的主流研究方向之一,已经有许多相关方面的研究,主要的研究方法包括直接可视化、基于纹理的流场可视化、基于特征的流场可视化及基于几何的流场可视化等。直接可视化一般在流场中放置采样点,通过对采样点点的矢量值进行显示,也可以采用颜色或箭头等方式来显示流场中的信息,这种方法实现简单,但不能展示数据的内在联系性。基于纹理的可视化主要使用纹理的方式来显示,常用方法有:点噪声法[1],线卷积积分法[2],纹理平流法[3]等,纹理的方式可以很清晰的绘制出图像细节,但是计算代价较高。基于特征的可视化主要依据流场拓扑结构来显示流场结构信息,这种方式可以简化数据量,把握流场本质,但是容易丢失流场部分信息。基于几何的流场可视化用线、面、体、几何元素描述流场,可以获得良好的视觉感知,但容易在高维情况下造成混乱与遮挡。
基于几何的流场可视化主要方法是流线可视化,即根据粒子追踪来获得流场特征线。在二维和三维流场中有很多的种子点生成算法,如等距离布种策略[4]、基于流场拓扑引导的布种方法[5]、最远种子点法[6]、基于图像的种子点放置策略[7]、基于对偶流线的布种方法[8]、基于熵理论的布种方法[9]等。其中等距离布种策略直观易于理解,但由于采用局部最优的策略,无法保证全部流线在图中的均匀分布;基于流场拓扑引导的布种方法基于临界点进行种子点放置,临界点周围的特征很清晰,但不能保证流线的均匀性;最远种子点法采用的策略不适合应用于大型数据集,另外当密度增大时会出现流线不连续情况;基于图像的种子点放置策略用能量函数生成均匀流线,但耗时较长;基于对偶流线的布种方法使用了贪心算法的思想来生成流线,保证了流线的覆盖性和连续性,并且可以扩展到曲面上,但很难扩展到三维领域;基于熵理论的流线种子点选择算法使用了矢量场信息化的信息框架,以独特的视角诠释了流线生成的信息意义。此外,国内王少荣等人提出了基于出入度的布种策略[10],定义了一个出入流差异矩阵,主要优点是解决了视觉上效果不连续问题。2014年,王少荣等人还提出了基于聚类的二维向量场可视化方法[11]。该方法有很好的鲁棒性,但仅局限于二维矢量场。在流线可视化中除了种子点选取方法之外,Gunther等人提出基于流线的优化算法[12],这种算法先随机生成流线,然后对流线进行全局优化处理,主要优点是在保证重要的结构信息不缺失的情况下允许实时的浏览整个流场,但无法处理大规模数据集。
参考文献:
[1]Van Wijk J J.Spot noise texture synthesis for data visualization[A]In:Proceedings ofACMSIGGRAPH Computer Graphics[C].Las Vegas,USA:1991,25(4)∶309-318.
[2]Cabral B,Leedom L C.Imaging vector fields using lineintegralconvolution[A]In:Proceedings ofthe 20th annual conference on Computergraphicsand interactive techniques[C].Anaheim,CA,USA:1993∶263-270.
[3]Max N,Crawfis R,Williams D.Visualizing wind velocities byadvectingcloudtextures[A]In:Proceedings ofthe 3rd conference onVisualization'92[C].Boston,Massachusetts,USA;1992∶179-184.
[4]Jobard B,Lefer W.Creating evenly-spaced streamlines of arbitrarydensity[M].Austria:Springer Vienna,1997.43-55
[5]Verma V,Kao D,Pang A.A flow-guided streamline seeding strategy[A]In:Proceedings ofthe conference on Visualization'00[C].ILos Alamitos,CA,USA:2000∶163-170.
[6]MebarkiA,AlliezP,Devillers O.Farthest point seeding for efficientplacement ofstreamlines[A]In:Proceedings ofIEEEVisualization2005[C].Baltimore,Maryland.:2005∶479-486.
[7]Li L,Shen H W.Image-based streamline generation and rendering[J].Visualization and Computer Graphics,2007,13(3)∶630-640.
[8]Rosanwo O,Petz C,Prohaska S,et al.Dual streamline seeding[A]In:Proceedings ofPacific Visualization Symposium[C].Beijing,China:2009∶9-16.
[9]Xu L,Lee T Y,Shen H W.An information-theoretic framework for flowvisualization[J].Visualization and Computer Graphics,2010,16(6):1216-1224.
[10]王少荣,吴迪,汪国平.一种流线放置方法[J].软件学报,2012,23(2):42-52.
[11]王少荣,汪国平.基于聚类的二维向量场可视化[J].计算机辅助设计与图形学报,2014,26(10):1593-1602.
[12]Günther T,C,Theisel H.Opacity optimization for 3D linefields[J].ACM Transactions on Graphics(TOG),2013,32(4)∶120.
发明内容
为克服现有技术的不足,实现在多密度的可视化结果中,高密度层次的结果具有较少的流线,使用者可以清晰地观察到流场的大致结构,在低密度层次的流线结果中,使用者可以观察到更多的细节,可以应用于二维或三维流场中。本发明采用的技术方案是,基于多密度层次的流场可视化方法,首先使用一种混合算法生成低密度的可视化结果,在该混合算法中,首先利用基于熵值的种子点选取算法保证流线的覆盖性,然后利用控制网格的方式保证流线的均匀性;最后在低密度的可视化结果上,使用基于流线属性对流线进行筛选,最终获得不同密度的可视化结果;在多密度的可视化结果中,高密度层次的结果具有较少的流线,使用者可以清晰地观察到流场的大致结构,在低密度层次的流线结果中,使用者可以观察到更多的细节。
基于混合算法的流线生成包括两个步骤:基于熵值的种子点选取算法和基于网格的空白域填充算法,
1.1种子选取算法
使用香农熵来选出包含临界点的种子点集合,通过选取熵值较大的点可以选出流场的临界点:
式(1)中H(X)是某一点的熵值,P(x)是在该点邻域内x这一方向出现的概率,x表示向量的方向,通过计算可视化区域内每个点的邻域熵值来选出熵值较大的点作为种子点来绘制流线;
种子点选取完成后,使用四阶龙格库塔方法来计算流线;
1.2空白域填充算法
空白域填充算法是将整个流场分为很多小的网格,网格的大小由用户自定义完成,而后在生成流线时标记流线所经过的网格,然后检测相连的空白网格,用其代表空白域,然后将每一个空白域的中心作为种子点,生成流线。然后重新计算空白域重复上述操作,当空白域的规模低于某一阈值时,将停止绘制;
1.2.1网格标记
根据当前流线进行边界初始化和流线标记的工作:首先,对当前流场进行整个流场边界网格的确定,假设流场网格的大小为N×N,在二维场四周定义一圈已被标记的网格,使得未标记网格的数量为(N-1)×(N-1);
除了对网格边界进行标记,在进行空白域填充时,还需根据当前流线标记网格,具体的过程是:假设标记线段(a,b),首先求解端点a、b所在的网格,然后在由线段(a,b)为对角线的矩形区域内逐个判断网格是否与线段相交;
1.2.2空白域检测
使用采用广度优先搜索来检测空白域,在三维流场中,由于流线无法将三维流场分为多个空白域,因此在三维流场中采用改进广度优先搜索算法;
1.2.3种子点选取
在二维流场中,使用空白域的几何中心作为新的种子点坐标,若生成的坐标在该空白域内,将其作为新的种子点然后生成流线;若生成的坐标并不在该空白域内,在该点做x方向和y方向的平行线,求解两线与空白域相交的线段,比较两个方向上线段的长度,选择长度较长的线段中点作为新的种子点;
在三维流场中,在检测到空白域后,将空白域的几何中心作为种子点绘制流线,同二维类似的是,当空白域的几何中心不在空白域内,将在x,y,z三个方向做平行于坐标轴的直线,然后检测每个方向直线与空白域相交线段的长度,选择三个方向中最长线段的中点作为种子点生成流线。
基于流线属性的流线筛选
2.1流线属性
使用流线长度,流线与流场间距离这两种属性;
流线长度即曲线的长度,流线通过一个点序列来表示,流线的长度可以用相邻点的距离和来表示,使用流线长度来剔除一些过短的流线,二维流场上流线与流场间距离ls计算如下:
ls=min{ltop,ldown,lleft,lright} (2)
上述公式中,ltop,ldown,lleft,lright分别代表二维上x轴正方向,x轴负方向,y轴正方向,y轴负方向上流场与流场间距离,lline是流线的长度,p是top或down,q是left或right,(3)式表示了x轴正方向上的距离,计算流程是,将流线看成点的集合,虚线所在方向为x轴正方向,计算每一点在该方向上与已标记网格的距离,而后计算将相邻两点以及曲线围成的区域视为梯形的面积,最后将面积除以流线长度作为流线在该方向上与流场的距离,同样计算y轴负方向、x轴正方形、x轴负方向这三个方向上流线与流场距离,最终选取四个方向上最小值作为流线与流场的距离;
在三维流场绘制时,其做法二维流场一致,即:根据流线的长度和流线与流场的距离来剔除过短的流线和过密的流线,其中流线的长度依旧是计算每一段的长度和,但是计算流线与流场的距离时,由于维度上升,需要比较六个方向上的距离,其中每个方向上的距离计算方法与二维下的计算方法一致;
2.2筛选算法
在经过基于熵值的种子点选取、基于网格的空白域填充后,得到了流线集,在该流线集中,先将流线依照其种子点的熵值进行降序排序。而后初始化网格,按照流线顺序依次将流线放置在场中,当流线的长度小于某一阈值σl或流线与流场间距离小于某一阈值σt时,将删除该流线,直至所有的流线均被检查。
二维流场中选取的某一点周围的9点作为邻域,熵值计算完成后选取的阈值是0.7;三维流场中选取某一点周围的27点作为邻域,采用按比例采样的方法来选取初始的种子点:即在熵值大于0.97倍最大熵值的点中,采用1∶10的采样比例,在熵值大于0.95倍最大熵值小于0.97倍最大熵值的点中,采用1∶20的采样比例。
本发明的特点及有益效果是:
本发明提出基于多密度层次的可视化方法,首先使用一种混合算法生成低密度的可视化结果,在该混合算法中,首先利用基于熵值的种子点选取算法保证流线的覆盖性,然后利用控制网格的方式保证流线的均匀性。最后在低密度的可视化结果上,使用基于流线属性对流线进行筛选,最终获得不同密度的可视化结果。在多密度的可视化结果中,高密度层次的结果具有较少的流线,使用者可以清晰地观察到流场的大致结构,在低密度层次的流线结果中,使用者可以观察到更多的细节。
附图说明:
图1方法流程图。
本发明主要实现了二维和三维中流场可视化的效果,图2、图3中显示了Isabel数据集在不同时间片下的可视化结果,Isabel数据集主要描述了飓风场在不同时间片的状态,其大小为500×500×100;图2中显示了在不同时间片下数据集中同一层的二维可视化结果,其大小为500×500;为了更优的可视化效果,图3中显示了在不同时间片下压缩后的三维可视化结果,其大小为100×100×100,图中左侧显示了低密度层次下的可视化结果,图中右侧显示了高密度层次下的可视化结果。
图4计算流线与流场间距离示意图。
具体实施方式
本发明针对可视化结果的均匀性、覆盖性、连续性提出多密度层次的流场可视化方法。其中均匀性指流线分布均匀,覆盖性指流线不能丢失重要的结构特征,连续性指流线要尽可能地长。
在对流场现象的研究中,常常需要对流场数据进行可视化处理然后观察流场特征。相对于二维流场可视化,三维流场可视化更贴近实际,但是由于流线在三维空间上相互遮挡导致可视化效果不佳,现有的三维流场可视化对于三维上流线均匀性方面的处理不佳。
针对三维上的遮挡问题和可视化结果的均匀性,本发明提出基于多密度层次的可视化方法,首先使用一种混合算法生成低密度的可视化结果,在该混合算法中,首先利用基于熵值的种子点选取算法保证流线的覆盖性,然后利用控制网格的方式保证流线的均匀性。最后在低密度的可视化结果上,使用基于流线属性对流线进行筛选,最终获得不同密度的可视化结果。在多密度的可视化结果中,高密度层次的结果具有较少的流线,使用者可以清晰地观察到流场的大致结构,在低密度层次的流线结果中,使用者可以观察到更多的细节。
本发明的整体框架见图1,主要包括以下几个步骤:
1.基于混合算法的流线生成(图1(b)(c)):本发明使用基于熵值的种子点选取算法和基于网格的空白域填充算法来生成最低密度层次的可视化结果。该结果满足均匀性、覆盖性、连续性。
2.基于流线属性的流线筛选(图1(d)):本发明根据流线与流场间的距离和流线长度这两种属性对流线集进行筛选,控制流线与流场间距离这一属性可以生成不同密度的流线结果。控制流场长度这一属性可以剔除较短的流线,使最终的流线结果满足连续性。
本发明可以为用户提供2维或3维的流场可视化结果,可以用于有关流场研究领域中理解流场整体结构特征,为用户提供更快更易理解的流场可视化结果。
本发明实验机器配置如下:Intel Core i53500mq,8G RAM,ATI Radeon HD7450M,Windows7,VS2012。
下面结合附图和具体实例进一步详细说明本发明。
1.基于混合算法的流线生成
本发明中使用了一种混合算法来生成密度最大的流线集。在该算法中主要包括两个部分:基于熵值的种子点选取算法和基于网格的空白域填充算法,基于熵值的种子点选取可以使流线可视化结果包含流场中的重要结构特征;基于网格的空白域填充算法可以使可视化结果更加均匀。
1.1种子选取算法
本发明使用香农熵来选出包含临界点的种子点集合,香农熵衡量的是一组向量所含有的信息量,向量之间的差异越大,熵值越大;在流场中,临界点周围的方向差异很大,故熵值很高,因此,通过选取熵值较大的点可以选出流场的临界点。
式(1)中H(X)是某一点的熵值,P(x)是在该点邻域内x这一方向出现的概率,x表示向量的方向。本发明通过计算可视化区域内每个点的邻域熵值来选出熵值较大的点作为种子点来绘制流线。在本文的实验中,二维流场中我们选取的某一点周围的9点(包括该点本身)作为邻域,熵值计算完成后本次实验选取的阈值是0.7;三维流场中我们选取某一点周围的27点(包括该点本身)作为邻域,由于三维场数据量较大,若直接选取大于某一阈值的熵值点时,熵值点的数量将会很多,因此,本文采用按比例采样的方法来选取初始的种子点。即在熵值大于0.97倍最大熵值的点中,采用1∶10的采样比例,在熵值大于0.95倍最大熵值小于0.97倍最大熵值的点中,采用1∶20的采样比例等。最终初始种子点的数量控制在1000左右。
种子点选取完成后,本文使用四阶龙格库塔方法来计算流线。
1.2空白域填充算法
在经过基于熵值的种子点选取后,可视化结果可能存在空白区域,本发明在这一部分介绍了如何利用网格来限制流线间的距离,使最终的可视化效果满足均匀性。空白域填充算法是一种基于空间网格化的迭代算法,其大致思路是将整个流场分为很多小的网格,网格的大小可以由用户自定义完成,而后在生成流线时标记流线所经过的网格,然后检测相连的空白网格,用其代表空白域,然后将每一个空白域的中心作为种子点,生成流线。然后重新计算空白域重复上述操作,当空白域的规模低于某一阈值时,将停止绘制。
1.2.1网格标记
在本发明的空白域填充算法中,空白域的定义需要检测边界的存在,所以本发明首先会根据当前流线进行边界初始化和流线标记的工作。首先,对当前流场进行整个流场边界网格的确定,假设流场网格的大小为N×N,那么如图2所示,在二维场四周定义一圈已被标记的网格,使得未标记网格的数量为(N-1)×(N-1)。
除了对网格边界进行标记,在进行空白域填充时,其初始的流线是经过熵值选取种子点生成的,因此我们还需根据当前流线标记网格。在本发明中,由于流线是由很多小的线段构成,所以标记流线只需检测线段与哪些网格相交即可。其具体的过程是:假设标记线段(a,b),首先求解端点a、b所在的网格,然后在由线段(a,b)为对角线的矩形区域内逐个判断网格是否与线段相交。
1.2.2空白域检测
空白域是流场中由流线构成的空白区域。在基于网格的算法中,空白域是连续的未标记网格的集合,其边界是已被标记的网格,所以空白域的大小由构成空白域的网格的数量决定。在求取空白域时,可以由一点出发,搜索其相邻的未标记网格,因此求解空白域的过程也可以看作一个搜索问题。本文中使用采用广度优先搜索来检测空白域。在三维流场中,由于流线无法将三维流场分为多个空白域,因此在三维流场中,本文改进广度优先搜索算法。
1.2.3种子点选取
在二维流场中,使用空白域的几何中心作为新的种子点坐标,若生成的坐标在该空白域内,我们将其作为新的种子点然后生成流线。若生成的坐标并不在该空白域内,我们在该点做x方向和y方向的平行线,求解两线与空白域相交的线段,比较两个方向上线段的长度,选择长度较长的线段中点作为新的种子点。图1中显示了二维流场在空白域填充后的可视化结果。绘制结果可以看出基于空白域的绘制结果很好地填充了空白区域,绘制结果中流线分布均匀,并且绘制结果显示出了整个流场的大致结构特征。
在三维流场中,在检测到空白域后,我们将空白域的几何中心作为种子点绘制流线,同二维类似的是,当空白域的几何中心不在空白域内,我们将在x,y,z三个方向做平行于坐标轴的直线,然后检测每个方向直线与空白域相交线段的长度,选择三个方向中最长线段的中点作为种子点生成流线。
基于网格的空白域填充算法可以根据预定义的网格大小均匀的绘制出整个流场,网格的大小与绘制出的流场密度有关。
2.基于流线属性的流线筛选
在完成流线生成之后,我们可以得到较低层次的流场可视化结果,然而二维可视化结果中流线太密,可能不符合用户期望,同时三维可视化结果中流线分布密集,相互遮挡严重,因此本文在这部分介绍多层次的密度显示,即如何利用流线属性对流线进行筛选,产生更好的可视化效果。
2.1流线属性
流线简化是流线可视化中一个常见的子方向,其主要通过对生成的流线属性进行比较,然后从中选择部分流线作为最后的可视化结果。常用的流线属性有流线的长度、流线间距离、流线的线性熵值等。本文中主要使用流线长度,流线与流场间距离这两种属性。
流线长度即曲线的长度,本文中流线通过一个点序列来表示,流线的长度可以用相邻点的距离和来表示。本文使用流线长度来剔除一些过短的流线。二维流场上流线与流场间距离ls计算如下:
ls=min{ltop,ldown,lleft,lright} (2)
上述公式中,ltop,ldown,lleft,lright分别代表二维上x轴正方向,x轴负方向,y轴正方向,y轴负方向上流场与流场间距离,lline是流线的长度,p是top或down,q是left或right。(3)式表示了x轴正方向上的距离,其计算示意图如图4,我们将流线看成点的集合,计算每一点在x轴正方向上与已标记网格的距离,而后计算该方向上流线与流场所围成区域的面积(将相邻两点以及曲线围成的区域视为梯形进行计算),最后将面积除以流线长度作为流线在该方向上与流场的距离,同样计算y轴负方向、x轴正方形、x轴负方向这三个方向上流线与流场距离,最终选取四个方向上最小值作为流线与流场的距离。
在三维流场绘制时,其做法二维流场一致,即:根据流线的长度和流线与流场的距离来剔除过短的流线和过密的流线。其中流线的长度依旧是计算每一段的长度和,但是计算流线与流场的距离时,由于维度上升,我们需要比较六个方向上的距离,其中每个方向上的距离计算方法与二维下的计算方法一致。
2.2筛选算法
在经过基于熵值的种子点选取、基于网格的空白域填充后,我们得到了一个流线集,在该流线集中,我们先将流线依照其种子点的熵值进行降序排序。而后初始化网格,按照流线顺序依次将流线放置在场中,当流线的长度小于某一阈值σl或流线与流场间距离小于某一阈值σt时,我们将删除该流线,直至所有的流线均被检查。
Claims (3)
1.一种基于多密度层次的流场可视化方法,其特征是,首先使用一种混合算法生成低密度的可视化结果,在该混合算法中,首先利用基于熵值的种子点选取算法保证流线的覆盖性,然后利用控制网格的方式保证流线的均匀性;最后在低密度的可视化结果上,使用基于流线属性对流线进行筛选,最终获得不同密度的可视化结果;在多密度的可视化结果中,高密度层次的结果具有较少的流线,使用者可以清晰地观察到流场的大致结构,在低密度层次的流线结果中,使用者可以观察到更多的细节;基于混合算法的流线生成包括两个步骤:基于熵值的种子点选取算法和基于网格的空白域填充算法;
1.1种子选取算法
使用香农熵来选出包含临界点的种子点集合,通过选取熵值较大的点可以选出流场的临界点:
式(1)中H(X)是某一点的熵值,P(x)是在该点邻域内x这一方向出现的概率,x表示向量的方向,通过计算可视化区域内每个点的邻域熵值来选出熵值较大的点作为种子点来绘制流线;
种子点选取完成后,使用四阶龙格库塔方法来计算流线;
1.2空白域填充算法
空白域填充算法是将整个流场进行网格划分,网格的大小由用户自定义完成,而后在生成流线时标记流线所经过的网格,然后检测相连的空白网格,用其代表空白域,然后将每一个空白域的中心作为种子点,生成流线, 然后重新计算空白域重复上述操作,当空白域的规模低于某一阈值时,将停止绘制;
1.2.1网格标记
根据当前流线进行边界初始化和流线标记的工作:首先,对当前流场进行整个流场边界网格的确定,假设流场网格的大小为N×N,在二维场四周定义一圈已被标记的网格,使得未标记网格的数量为(N-1)×(N-1);
除了对网格边界进行标记,在进行空白域填充时,还需根据当前流线标记网格,具体的过程是:假设标记线段(a,b),首先求解端点a、b所在的网格,然后在由线段(a,b)为对角线的矩形区域内逐个判断网格是否与线段相交;
1.2.2空白域检测
使用采用广度优先搜索来检测空白域,在三维流场中,由于流线无法将三维流场分为多个空白域,因此在三维流场中采用改进广度优先搜索算法;
1.2.3种子点选取
在二维流场中,使用空白域的几何中心作为新的种子点坐标,若生成的坐标在该空白域内,将其作为新的种子点然后生成流线;若生成的坐标并不在该空白域内,在该点做x方向和y方向的平行线,求解两线与空白域相交的线段,比较两个方向上线段的长度,选择长度较长的线段中点作为新的种子点;
在三维流场中,在检测到空白域后,将空白域的几何中心作为种子点绘制流线,同二维类似的是,当空白域的几何中心不在空白域内,将在x,y,z三个方向做平行于坐标轴的直线,然后检测每个方向直线与空白域相交线段的长度,选择三个方向中最长线段的中点作为种子点生成流线。
2.如权利要求1所述的基于多密度层次的流场可视化方法,其特征是,基于流线属性的流线筛选具体是:
2.1流线属性
使用流线长度,流线与流场间距离这两种属性;
流线长度即曲线的长度,流线通过一个点序列来表示,流线的长度可以用相邻点的距离和来表示,使用流线长度来剔除一些过短的流线,二维流场上流线与流场间距离ls计算如下:
ls=min{ltop,ldown,lleft,lright} (2)
上述公式中,ltop,ldown,lleft,lright分别代表二维上x轴正方向,x轴负方向,y轴正方向,y轴负方向上流场与流场间距离,lline是流线的长度,p是top或down,q是left或right,(3)式表示了x轴正方向上的距离,计算流程是,计算每一点在x轴正方向上与已标记网格的距离,而后计算该方向上流线与流场所围成区域的面积,即将相邻两点以及曲线围成的区域视为梯形进行计算,最后将面积除以流线长度作为流线在该方向上与流场的距离,同样计算y轴负方向、x轴正方形、x轴负方向这三个方向上流线与流场距离,最终选取四个方向上最小值作为流线与流场的距离;
在三维流场绘制时,其做法二维流场一致,即:根据流线的长度和流线与流场的距离来剔除过短的流线和过密的流线,其中流线的长度依旧是计算每一段的长度和,但是计算流线与流场的距离时,由于维度上升,需要比较六个方向上的距离,其中每个方向上的距离计算方法与二维下的计算方法一致;
2.2筛选算法
在经过基于熵值的种子点选取、基于网格的空白域填充后,得到了流线集,在该流线集中,先将流线依照其种子点的熵值进行降序排序, 而后初始化网格,按照流线顺序依次将流线放置在场中,当流线的长度小于某一阈值σl或流线与流场间距离小于某一阈值σt时,将删除该流线,直至所有的流线均被检查。
3.如权利要求2所述的基于多密度层次的流场可视化方法,其特征是,二维流场中选取的某一点周围的9点作为邻域,熵值计算完成后选取的阈值是0.7;三维流场中选取某一点周围的27点作为邻域,采用按比例采样的方法来选取初始的种子点:即在熵值大于0.97倍最大熵值的点中,采用1:10的采样比例,在熵值大于0.95倍最大熵值小于0.97倍最大熵值的点中,采用1:20的采样比例。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610123731.4A CN105653881B (zh) | 2016-03-04 | 2016-03-04 | 基于多密度层次的流场可视化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610123731.4A CN105653881B (zh) | 2016-03-04 | 2016-03-04 | 基于多密度层次的流场可视化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105653881A CN105653881A (zh) | 2016-06-08 |
CN105653881B true CN105653881B (zh) | 2018-09-11 |
Family
ID=56492195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610123731.4A Active CN105653881B (zh) | 2016-03-04 | 2016-03-04 | 基于多密度层次的流场可视化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105653881B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107633104A (zh) * | 2016-07-19 | 2018-01-26 | 中国科学院计算机网络信息中心 | 一种流场可视化方法 |
CN106202522B (zh) * | 2016-07-22 | 2019-11-08 | 北京大学 | 一种流场积分曲线的复用方法及*** |
CN113159117A (zh) * | 2021-03-11 | 2021-07-23 | 中国科学院计算机网络信息中心 | 流线生成方法及装置 |
CN113536076A (zh) * | 2021-05-25 | 2021-10-22 | 山东大学 | 一种交互式集合可视化方法及*** |
CN114492225A (zh) * | 2021-12-28 | 2022-05-13 | 中国航天空气动力技术研究院 | 一种基于聚类筛选的流线可视化方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694725A (zh) * | 2009-10-10 | 2010-04-14 | 北京理工大学 | 一种拓扑驱动的平面流场流线放置方法 |
CN102646288A (zh) * | 2012-02-23 | 2012-08-22 | 北京理工大学 | 一种间隔基本均匀的三维流线放置方法 |
CN102930563A (zh) * | 2012-08-13 | 2013-02-13 | 北京理工大学 | 一种基于双重控制网格的二维流场流线放置方法 |
CN104318591A (zh) * | 2014-10-16 | 2015-01-28 | 南京师范大学 | 一种带边界平面流场的动态绘制方法 |
-
2016
- 2016-03-04 CN CN201610123731.4A patent/CN105653881B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101694725A (zh) * | 2009-10-10 | 2010-04-14 | 北京理工大学 | 一种拓扑驱动的平面流场流线放置方法 |
CN102646288A (zh) * | 2012-02-23 | 2012-08-22 | 北京理工大学 | 一种间隔基本均匀的三维流线放置方法 |
CN102930563A (zh) * | 2012-08-13 | 2013-02-13 | 北京理工大学 | 一种基于双重控制网格的二维流场流线放置方法 |
CN104318591A (zh) * | 2014-10-16 | 2015-01-28 | 南京师范大学 | 一种带边界平面流场的动态绘制方法 |
Non-Patent Citations (2)
Title |
---|
一种流线放置方法;王少荣 等;《软件学报》;20140201;第23卷(第3期);第42-52页 * |
基于聚类的二维向量场可视化;王少荣 等;《计算机辅助设计与图形学学报》;20141031;第26卷(第10期);第1595-1598页第2-4节 * |
Also Published As
Publication number | Publication date |
---|---|
CN105653881A (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105653881B (zh) | 基于多密度层次的流场可视化方法 | |
Zhou et al. | Edge bundling in information visualization | |
Gao et al. | Feature suppression based CAD mesh model simplification | |
Cui et al. | Geometry-based edge clustering for graph visualization | |
Kobourov | Spring embedders and force directed graph drawing algorithms | |
Edmunds et al. | Surface-based flow visualization | |
CN101989178B (zh) | 多叉树数据结构的立体环状可视化方法 | |
CN112257597B (zh) | 一种点云数据的语义分割方法 | |
Ma et al. | Dynamic element textures | |
CN102881047B (zh) | 一种自动的非封闭隐式曲面重建方法 | |
CN104240299B (zh) | 基于最大化泊松圆盘采样的重新网格化方法 | |
Gronemann et al. | Drawing clustered graphs as topographic maps | |
Zhang et al. | Resolving topology ambiguity for multiple-material domains | |
Wang et al. | 3D-TSV: The 3D trajectory-based stress visualizer | |
Shan et al. | Interactive visual exploration of halos in large-scale cosmology simulation | |
CN116258840B (zh) | 层级细节表示树的生成方法、装置、设备及存储介质 | |
Zhang | The D-FCM partitioned D-BSP tree for massive point cloud data access and rendering | |
Elshakhs et al. | A comprehensive survey on Delaunay triangulation: applications, algorithms, and implementations over CPUs, GPUs, and FPGAs | |
CN102855624B (zh) | 一种基于广义数据场和Ncut算法的图像分割方法 | |
CN109858159B (zh) | 基于三元并行多层快速多极子的电磁分析方法 | |
Mascarenhas et al. | Isocontour based visualization of time-varying scalar fields | |
Zhang et al. | Multiresolution streamline placement for 2d flow fields | |
Hildenbrand et al. | Flexible level-of-detail rendering for large graphs | |
Li et al. | VisQuery: Visual querying of streaming data via pattern matching | |
US11776207B2 (en) | Three-dimensional shape data processing apparatus and non-transitory computer readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |