一种平面向量场的四边形网格化方法

文档序号:6630656阅读:1018来源:国知局
一种平面向量场的四边形网格化方法
【专利摘要】本发明公开一种平面向量场的四边形网格化方法,其主要步骤为:输入一个平面向量场F,确定对F进行网格化处理的平面区域Ω,以及一组过程控制参数;对覆盖区域Ω的扩展矩形包围盒进行栅格化处理;根据流场及控制参数,分别生成向量场F及其正交对偶向量场G的流线集合;求出各栅格单元中F的流线与G的流线的交点,并将所得到的交点分别插入到相关流线上的相应位置;提取由交点和流线交织成的平面网格的面片;对网格中的非四边形网格面片进行剖分,生成四边形单元占优的网格;通过网格细分产生平面四边形网格。本发明能够实现任意平面向量场的四边形网格化,其原理简单,易于实现,能够自动生成面片大小较为均匀的四边形网格。
【专利说明】一种平面向量场的四边形网格化方法

【技术领域】
[0001] 本发明公开一种平面向量场的四边形网格化方法,相关内容属于计算机图形技术 领域,内容涉及数字化流场的可视化方法,尤其涉及一种平面向量场的四边形网格化方法。

【背景技术】
[0002] 目前,与本发明相关的技术主要有两方面:
[0003] (1)图像的网格化技术:随着图像处理技术的发展,很多数字图像处理算法需要 将图像转化为三角网格进行后继处理。现有技术公开了几种图像的三角网格表示方法。如 DDTs(数据依赖三角形剖分)方法(参见:P.Li等,Atunedmesh-generationstrategy forimagerepresentationbasedondata-dependenttriangulation,IEEETransaction onImageProcessing,2013, 22(5) : 2004-2018),该方法根据一个能够隐式侦测图像边缘 细节的成本函数来产生一组三角形来剖分图像,在后继处理中利用这组三角形来替换原输 入图像。该技术针对规则图像而非平面向量场进行网格化,最终输出的结果为三角形平面 网格而非四边形平面网格。
[0004] (2)几何模型网格化技术:利用扫描设备可以获得表示物体表面形状的采 样点数据(点云),根据这些数据对曲面进行重构,能够重建描述物体形状的数字 化几何模型。目前,已有多种曲面重构方法。如Mencl重构方法(参见:R.Mencl 等,agraph-basedapproachtosurfacereconstruction,ComputerGraphics Forum, 1995, 14(3) :467-468),该方法是一种基于面片生成过程的方法,通过计算点云的欧 几里得最小生成树,得到一个曲面描述图,然后在曲面描述图的基础上,通过填充三角形得 到重构曲面网格。该技术最终用三角形面片而非四边形面片来逼近物体的形状。
[0005] 目前,尚未见到针对平面向量场进行四边形网格化处理的文献。


【发明内容】

[0006] 本发明给出一种平面向量场的四边形网格化方法,该方法可根据一组控制参数自 动生成不同密度且分布均匀的流线,进而生成面片大小较为均匀的平面四边形网格。
[0007] 为了叙述方便,对相关的概念、符号做如下说明:
[0008] 1.平面向量场F=f(X,y)及对F进行网格化处理范围-平面区域Q。对于任 意一点P= (X,y)GQ,可由F=f(X,y)得到p点处的向量场值f(p)。
[0009] 2.网格生成过程的相关控制参数:
[0010] 步长参数h:在生成流线的过程中,用于控制流线每次向前行进的距离;
[0011] 密度控制参数ds :用于控制两条相邻流线之间的最近距离;
[0012] 终止控制参数d6 :用于判定一条流线的生长过程是否终止。
[0013] 本发明公开一种平面向量场的四边形网格化方法,其步骤如下:
[0014] 1.输入平面向量场及网格化控制参数:输入给定的平面向量场F=f(x,y),以及 对向量场F进行网格化处理的平面区域Q;确定网格化控制参数:平面向量场流线的生长 步长参数h、流线的密度控制参数ds、终止单条流线生长的控制参数4等,并使h> 4 ;
[0015] 求区域Q的各边均平行于坐标轴的矩形包围盒?,并适当放大?,记之为2;
[0016] 2.建立平面矩形区域I:的栅格剖分结构:沿X轴和Y轴方向分别等分2,在区域 2内形成栅格结构,将平面矩形区域2分割成具有mXn个栅格单元的栅格结构;
[0017] 3.生成向量场F的流线:任选一采样点StlU,y)GQ,计算其场值f(Sci),从Sci沿 F(Stl)方向前进h距离,得到采样点S1 ;计算S1的场值If(S1),从S1沿f(S1)方向前进h距 离,得到新采样点S2的位置,……,如此重复,直到或者其与已有采样点的最小距离 小于或者等于d6为止;
[0018] 返回到s。,并沿f(S(1)的反方向前进h距离,得到新点的位置,……,如 此重复,直到或者其与已有采样点的最小距离小于或者等于de为止;
[0019]最后,将有序采样点列A,s_2, s_i,S(l,S1, S2,A所定义的折线视为流线,并将该采 样点列放入到F的流线集合中,将各采样点Si及相应流线均记入所对应的各栅格结构单元 中,同时将Si放入备选点序列A中;
[0020] 若备选点序列A非空,贝U从A中摘除一点p,以p为起点,在与p的场值f(p)正交 的方向上取与P距离为ds的新的起始点Pl,p2;判断是否满足P1eQ且?1与已有采样点 的最小距离大于若满足条件,则以该点为初始点生成流线,对于点p2进行同样的操作;
[0021] 重复摘除A中的点,产生新的流线,直到A为空为止;
[0022] 4.生成F的正交对偶向量场G的流线:定义F的正交对偶向量场G=g(x,y),采 用与步骤3相同的方法生成G的流线,并将每一条流线的有序采样点列存入向量场G的流 线集合中,同时将采样点及相应流线均记入该采样点所对应的各栅格结构单元中;
[0023] 5.计算F的流线与G的流线的交点:对每个栅格单元C,从其内已注册的F的流 线If上任选两个相继的点Pi,pi+1 (其中至少有一个点在该单元内),从其内已注册的G的流 线Is上任选两个相继的点q」,qj+1 (其中至少有一个点在该单元内),判断线段piPi+1与线段 qjqj+1是否有交点;若有交点,则将交点分别插入到1F和Is上的相应位置处;
[0024]6.提取四边形占优网格的顶点和边:删除各条流线上的采样点,换之于用流线上 的交点来表示各条流线,并删除少于两个交点的退化流线及与之相关的交点;将F的所有 流线上的交点放入顶点集合中;将F和G的每条流线上的任意两个相继交点所定义的线段, 作为备选边,放入备选边集合中;
[0025] 7.生成四边形占优网格的面片:遍历备选边集合中的各边,识别由F和G的各条 流线交织而成的格网结构中的多边形面片,其具体步骤为:
[0026]7. 1首先确定以下A)或B)之一作为面片提取过程中的边搜索"前进规则":
[0027] A) "向左转"最优先,"直行"次优先,"向右转"最不优先;
[0028] B)"向右转"最优先,"直行"次优先,"向左转"最不优先;
[0029] 7. 2为备选边集合中的所有边设置一个计数变量,并将各计数变量的值初始化为 〇 ;
[0030] 7. 3遍历备选边集中的每条边e,并执行如下判断与操作:
[0031] 1)若e的计数为2,则不处理该边;
[0032]2)若e的计数小于2,则使之增1,并设该边的顶点(即交点)分别为P1和p2 ;这 时欲提取面片的第一条边是由点P1到达点P2的边;而后根据"前进规则"所约定的顺序判 断由点P2 "向左转"到达点P4,还是"直行"到达点IV或是"向右转"到达点P5 ;在依据"前 进规则"依次判定前进方向的过程中,若往最优先方向前进的交点不存在,则向次优先方向 前进,若次优先方向的交点也不存在,则向最不优先方向前进;
[0033] 3)设上述前进过程到达的新交点为p,把新边p2p视为上述边e,重复上面的前进 过程,直至所经历的顶点再次出现点P1为止;这时,用所经历的顶点序列定义一个平面简单 多边形区域,其即为所要提取的多边形面片;
[0034] 当面片被提取后,判断其是否为非四边形网格面片;若是非四边形网格面片,则 对其进行四边形化剖分处理,生成以四边形网格面为主的平面网格,称之为四边形占优网 格;
[0035] 8.生成二维向量场的平面四边形网格:对于四边形占优网格的每条边,计算出它 的中点;对于每个面片,计算其重心,并将该重心与其各边中点相连接,生成平面四边形网 格。
[0036] 本发明方法具有如下优点:
[0037] 1.在绘制流线的过程中,通过参数来控制流线的密度,可以生成较为均匀的流线, 由此生成的四边形网格面的大小也较为均匀。
[0038] 2.在流线生长过程中,判断一个采样点是否有效时,只需查找与当前采样点所在 的栅格单元相邻的单元中的采样点,进而计算这些采样点与当前采样点之间的距离。可以 减少计算量,提高算法的效率。
[0039] 3.具有自适应性,用户只需输入适当参数的值,就可以生成不同密度的网格。
[0040] 4.本发明能够实现任意平面向量场的四边形网格化,其原理简单,易于实现,能够 自动生成面片大小较为均匀的四边形网格。

【专利附图】

【附图说明】
[0041] 图1为本发明方法的流程图;
[0042] 图2为向量场进行网格化处理的平面区域:a图为不规则区域及其包围盒,b图为 任意摆放的矩形及其包围盒,c图为各边平行于坐标轴向的矩形及其包围盒;
[0043] 图3为栅格单元的标记方法;
[0044] 图4为以Stl为初始点生成的一条流线;
[0045] 图5为两个新的初始点;
[0046] 图6a和图6b分别为F和G的流线;
[0047] 图7为不同密度的F和G的流线,a图中,dsep = 0.015 ;b图中,dsep = 0.02 ;c图 中,dsep = 0? 03 ;
[0048] 图8为F的流线和G的流线的交点;
[0049] 图9为以p2为端点的四条边;
[0050] 图10为四边形占优平面网格的一个多边形面片;
[0051] 图11为一个多边形面片的剖分过程;
[0052] 图12为剖分处理后得到的四边形占优的平面网格;
[0053]图13为四边形占优平面网格的细分过程。

【具体实施方式】
[0054] 为了更清楚地阐明本发明的技术方案,下面结合具体的实施例和相关附图,对本 发明的技术细节进行详细说明。
[0055] 本实施例涉及的主要数据结构为:
[0056] 1.有序采样点双向链表L:存储用于定义一条流场流线的有序采样点序列: A,s_2,S-DSq,S11s2,A。
[0057] 2.流线集合Lf和Lt=:分别用于存储向量场F及其正交对偶向量场G的流线,即Lf 或Lt=中的元素均为不同长度的双向链表L。
[0058] 3.备选点队列A:用于存储当前已有流线的某些采样点,这些采样点可潜在地用 于生成下一条新流线。
[0059] 4.顶点集合V:用于存储潜在四边形网格的顶点。
[0060] 5.边集合E:用于存储潜在四边形网格的边(备选边)。
[0061] 6.面片集合Sf :用于存储潜在四边形网格的面。
[0062] 本实施例的具体步骤(参见附图1)如下:
[0063] 1.输入平面向量场及网格化控制参数
[0064]输入给定的平面向量场F=f(x,y),以及对向量场F进行网格化处理的平面区域 Q;输入网格化控制参数:平面向量场流线的生长步长h、流线的密度控制参数ds、终止单 条流线生长的控制参数de等。本实施例中,取参数h= 0. 05、ds = 0. 02、de = 0. 01。
[0065] 求区域Q的各边均平行于坐标轴的矩形包围盒?。不同平面区域的包围盒如附 图2所示。本实施例中,取平面区域为Q= [Xci,yjX[X1,yj(Xci <X1,Ytl <Y1),显然其包 围为其自身,即 ?Q= [XwycJXlixpyJ。
[0066] 保持包围盒?的中心不变,按X轴和Y轴正负方向少许放大?,放大后的包围盒 记为2 = [XfAjfAlXh+Aji+A]。本实例中,取A为?最大边长的1/100。 [0067] 2.建立平面矩形区域2的栅格剖分结构
[0068] 沿X轴和Y轴方向分别等分平面区域2,形成大小为mXn的栅格结构,其将区域 2剖分为一系列小的矩形栅格单元,其中每个栅格单元的大小均为AxXAy。
[0069] 分别沿X轴和Y轴对栅格单元进行编号,每个栅格单元均由两个序号表示,如:X轴方向第i个、Y轴方向第j个单元可表示为Cij (参见附图3)。
[0070]对于平面上的任意一点(X,y),由下式
[0071]
[0072] 可确定它位于栅格单元Cab内,其中L

【权利要求】
1. 一种平面向量场的四边形网格化方法,其特征在于,具体步骤如下: a. 输入平面向量场及网格化控制参数:输入一个平面向量场F、对向量场F进行网格 化处理的平面区域Ω、以及网格化控制参数;求区域Ω的各边均平行于坐标轴的矩形包围 盒,并将其适当放大,记之为Σ ; b. 建立平面矩形区域Σ的栅格剖分结构:沿X轴和Y轴方向分别等分Σ,在区域Σ 内形成栅格结构; c. 生成向量场F的流线:根据输入的网格化控制参数,对向量场F进行采样,并用有序 采样点定义的折线来逼近向量场F的流线;将表示流线的有序采样点列存入向量场F的流 线集合中,将各采样点注册到其所在的栅格结构单元中,同时将流线也分别注册到其采样 点所在的各栅格结构单元中; d. 生成向量场F的正交对偶向量场G的流线:定义F的正交对偶向量场G ;生成G的流 线,将流线的有序采样点列存入G的流线集合中,将各采样点注册到其所在的栅格结构单 元中,同时将流线也分别注册到其采样点所在的各栅格结构单元中; e. 计算向量场F的流线与向量场G的流线的交点:在每个栅格单元内,判断其内已注 册的向量场F的流线和向量场G的流线是否存在交点;若存在交点,则求出该交点,并将其 插入到相关流线的相应位置; f. 提取四边形占优网格的顶点和边:删除每条流线上的采样点,换之于用流线上的交 点来表示每一条流线,并删除少于两个交点的退化流线及与其相关的交点;将向量场F的 所有流线上的交点放入顶点集合中;将向量场F和向量场G的每一条流线上任意两个相继 交点所定义的线段,作为备选边,放入备选边集合中; g. 生成四边形占优网格的面片:遍历备选边集合中的各边,识别由向量场F和向量场G 的各条流线交织而成的格网结构中的多边形面片;对非四边形网格面进行剖分,生成以四 边形面片为主的平面网格,称之为四边形占优网格; h. 生成二维向量场的平面四边形网格:对于四边形占优网格的每条边,计算出它的中 点;对于每个面片,计算其重心,并将其重心与其各边中点相连接,生成平面四边形网格。
2. 根据权利要求1所述的一种平面向量场的四边形网格化方法,其特征在于,所述步 骤g中的多边形面片提取方法包括如下具体步骤: (1) 确定以下A或B之一作为面片提取过程中的边搜索"前进规则": A. "向左转"最优先,"直行"次优先,"向右转"最不优先; B. "向右转"最优先,"直行"次优先,"向左转"最不优先; (2) 为备选边集合中的每条边设置一个计数变量,并将各计数变量的值初始化为O ; (3) 遍历备选边集合中的各条边e,并执行如下判断与操作: 1) 若e的计数为2,则不处理该边; 2) 若e的计数小于2,则使之增1,并设该边的顶点,即交点,分别为P1和p2 ;这时欲提 取面片的第一条边为由点P1到达点P2的边,而后根据"前进规则"所约定的顺序判断由点 P2 "向左转"到达点P4,还是"直行"到达点P3,或是"向右转"到达点P5 ;在依据"前进规则" 依次判定前进方向的过程中,若往最优先方向前进的顶点不存在,则向次优先方向前进,若 次优先方向的顶点也不存在,则向最不优先方向前进; 3) 设上述前进过程到达的新顶点为p,把新边p2p视为上述边e,重复上面的前进过程, 直至所经历的顶点再次出现点P1为止;这时,用所经历的顶点序列定义一个平面简单多边 形区域,其即为所要提取的多边形面片。
【文档编号】G06T11/00GK104318594SQ201410551172
【公开日】2015年1月28日 申请日期:2014年10月16日 优先权日:2014年10月16日
【发明者】董晓芬, 庞明勇 申请人:南京师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1