CN104063903B - 三维实体模型的四面体网格生成方法和装置 - Google Patents
三维实体模型的四面体网格生成方法和装置 Download PDFInfo
- Publication number
- CN104063903B CN104063903B CN201410322935.1A CN201410322935A CN104063903B CN 104063903 B CN104063903 B CN 104063903B CN 201410322935 A CN201410322935 A CN 201410322935A CN 104063903 B CN104063903 B CN 104063903B
- Authority
- CN
- China
- Prior art keywords
- grid
- model
- tetrahedral
- mesh
- summit
- 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
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000005070 sampling Methods 0.000 claims abstract description 29
- 238000004422 calculation algorithm Methods 0.000 claims description 25
- 230000011218 segmentation Effects 0.000 claims description 25
- 238000000638 solvent extraction Methods 0.000 claims description 7
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 2
- 238000003379 elimination reaction Methods 0.000 claims description 2
- 238000009966 trimming Methods 0.000 claims description 2
- 238000005457 optimization Methods 0.000 abstract description 18
- 238000011084 recovery Methods 0.000 abstract description 9
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 238000013508 migration Methods 0.000 description 10
- 230000005012 migration Effects 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000008439 repair process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010219 correlation analysis Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007788 roughening Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
提供了三维实体模型的四面体网格生成方法和装置。该方法可以包括:对实体模型边界进行粗采样,以及基于采样点构造初始四面体网格,其中建立实体模型信息与初始四面体网格信息之间的对应关系;进行并行域划分;并行地对划分后的各个域,进行网格细分和根据实体模型信息的用于保持模型边界的网格优化;以及将子区域网格合并为整体网格。根据本发明实施例的四面体网格生成方法和装置,在模型边界采样阶段,进行粗采样,并且在四面体网格生成过程中带入三维模型信息,从而能够在并行过程中动态恢复模型的几何边界特征,并且模型边界采样可以高效完成,后续并行过程中进行网格细分和网格优化,从而能够在保持模型边界特征的同时高效生成四面体网格。
Description
技术领域
本发明总体地涉及对三维实体的有限元分析和仿真,特别涉及三维实体模型的四面体网格生成方法和装置。
背景技术
现实世界中的一些三维对象和相关分析(例如建筑物的仿真和受力分析)需要利用有限元技术来仿真。
Delaunay四面体网格是有限元技术中广泛使用的一种三维网格,其具有四个顶点和四个三角形状的面。
为了在有限元计算仿真分析过程中进行更为精确的模拟,往往需要规模更大、质量更高,粒度更小的Delaunay四面体网格。随着网格的规模不断增大,Delaunay四面体网格生成所需的时间也显著增大,因此如何提高大规模三维Delaunay网格生成算法的效率成为了近年来有图形学和有限元计算领域的研究重点之一。并行Delaunay网格生成算法是近年来广泛研究的一个方向,它结合了计算几何和并行计算两个领域。对于计算几何领域,并行Delaunay网格生成算法需要确保生成的网格能够保持模型几何边界特征,并且具有较高的网格质量。对于并行计算领域,并行Delaunay网格生成算法需要能够处理超大规模数据集,并且具有较高的并行效率和扩展性能。
传统的基于分布式并行的四面体网格生成算法的输入主要为模型的表面采样顶点集合或面网格集合,并在此基础上进行并行体网格生成,因此最终生成体网格的几何边界特征受限于输入的顶点集合或面网格集合,无法在并行过程中动态恢复和修正模型的几何边界特征;传统的四面体网格生成算法由于无法在并行过程中动态恢复模型几何特征,所以在串行预处理阶段,通常必须生成非常密集的模型表面采样,才能维持一定的网格精度,因此初始网格生成需要耗费大量时间。随后在此基础上进行并行体网格生成,因此最终生成体网格的几何边界特征受限于输入的顶点集合或面网格集合,无法在并行过程中动态恢复和修正模型的几何边界特征,随着网格规模的不断增大,网格的精度无法提升。
发明内容
鉴于以上情况,做出了本发明。
根据本发明的一个方面,提供了一种三维实体模型的四面体网格生成方法,可以包括:对实体模型边界进行粗采样,得到采样点,以及基于采样点构造初始四面体网格,其中建立实体模型信息与初始四面体网格信息之间的对应关系;进行并行域划分;并行地对划分后的各个域,进行下述操作:对于面网格进行网格细分;在细分后的面网格的顶点不在模型边界的情况下,根据实体模型信息以及实体模型信息与初始四面体网格信息之间的对应关系,移动顶点到模型边界上;以及将子区域网格合并为整体网格。
根据本发明的再一方面,提供了一种三维实体模型的四面体网格生成装置,可以包括:粗采样和初始网格生成部件,配置为对实体模型边界进行粗糙采样,得到采样点,以及基于采样点构造初始四面体网格,其中建立实体模型信息与初始四面体网格信息之间的对应关系;并行域划分部件,配置为对初始四面体网络进行并行域划分;网格细分和网格顶点移动部件,配置为并行地对划分后的各个域,进行下述操作:对于面网格进行网格细分;在细分后的面网格的顶点不在模型边界的情况下,根据实体模型信息以及实体模型信息与初始四面体网格信息之间的对应关系,移动顶点到模型边界上;以及子区域网格合并部件,配置为将子区域网格合并为整体网格。
根据本发明实施例的四面体网格生成方法和装置,在模型边界采样阶段,进行粗采样,并且在四面体网格生成过程中带入三维模型信息,从而能够在并行过程中动态恢复模型的几何边界特征,并且模型边界采样可以高效完成,后续并行过程中进行网格细分和网格优化,从而能够在保持模型边界特征的同时高效生成四面体网格。
根据本发明一个实施例,四面体网格生成方法和装置还可以包括在将子区域网格合并为整体网格后进行下述操作:对于每一个四面体网格单元,判断该四面体网格单元是否满足Delaunay性质,如果不满足,则将该四面体网格单元清除,形成空腔,随后在空腔内部执行顶点***算法,重建Delaunay四面体网格。利用根据该实施例的四面体网格生成方法和装置,能够确保整体网格的Delaunay性质,高效修复非Delaunay网络。
附图说明
从下面结合附图对本发明实施例的详细描述中,本发明的这些和/或其它方面和优点将变得更加清楚并更容易理解,其中:
图1示出了根据本发明实施例的三维实体模型的示例性四面体网格生成方法100的流程图。
图2中的(a)、(b)、(c)分别示出了圆柱体模型、模型边界粗采样和初始网格生成的示意图。
图3示出了关于圆柱体实体模型例子的实体模型信息与网格信息之间对应关系的示例性建立过程。
图4(a)、(b)、(c)分别示出了作为例子的圆柱体的初始网格、划分后的对应的子区域、以及各个子区域拥有的网格顶点数目和单元数目的示意图。
图5示意性地示出了基于局部特征的自适应网格细分的示意图,其中左图为网格细分前的情况,右图为网格细分后的结果。
图6(a)、(b)、(c)分别示出了实体三维模型、初始四面体网格(网格细分前的四面体网格)和网格细分后的四面体网格的示意图。
图7示出了模型面网格优化前后的网格效果图。
图8示意性示出了模型面网格细分顶点的位置调整的示意图。
图9示出了根据本发明第二实施例的四面体网格生成方法200的流程图。
图10中的左图和右图分别示出了作为一个示例的最小负载迁移前的子区域网格和最小负载迁移后的子区域网格的示意图。
图11描述根据本发明第三实施例的四面体网格生成方法300的流程图。
图12示出了根据本发明实施例的四面体网格生成装置400的配置框图。
具体实施方式
为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。
在详细描述本发明实施例之前,为便于本领域技术人员理解和把握本发明,下面描述本发明的主要思想。
传统技术主要输入为表面采样顶点集合或面网格集合,这丢失了三维模型信息,从而最终体网格的几何边界特征受限于输入的顶点集合或面网格集合,无法在并行过程中动态恢复模型的几何边界特征。针对此,发明人想到在模型边界采样阶段,进行粗采样,并且在四面体网格生成过程中带入三维模型信息,从而能够在并行过程中动态恢复模型的几何边界特征。
在本文中,术语“实体模型边界”,指三维实体模型与外界交接的界面,例如对于三维球体来说,其模型边界为球面;对于圆柱体来说,其模型边界为圆柱外表面和圆柱体的底面;对于正方体来说,其模型边界为八个外表面。
一、第一实施例的四面体网格生成方法
图1示出了根据本发明实施例的三维实体模型的示例性四面体网格生成方法100的流程图。
在步骤S110中,对实体模型边界进行粗采样,得到采样点,以及基于采样点构造初始四面体网格,其中建立实体模型信息与初始四面体网格信息之间的对应关系。
本文中的“粗采样”是指相对于传统技术中的密集的模型表面采样而言,本实施例中的粗采样无需进行密集的模型表面采样,只需进行较粗略的模型表面采样,后续再对划分后的并行域进行网格细分。
在一个示例中,对模型边界进行粗采样包括如下步骤:首先将每一个曲面映射到二维参数域,随后对曲面边界进行采样,最后将二维参数域上的顶点映射回三维曲面上。由于会在后续的并行多尺度网格细分和并行保模型边界的面网格优化过程中不断恢复实体模型几何特征,因此在模型边界粗采样过程中,无需依据边界几何曲率特征进行采样,从而该过程可以在较短的时间内完成。
不过上述模型边界粗采样方法仅为示例,也可以采样其他模型边界粗采样方法。
在一个示例中,生成初始网格可以采用增量顶点***算法。对于三维顶点集,首先构造由5个或6个Delaunay四面体组成的长方体,该长方体内包含了所有的输入顶点。随后对输入顶点集进行排序,并通过连续方式依次***顶点,在基础网格构造Delaunay网格。每次***一个新的顶点,可以包含如下步骤:
·1)对于新***的顶点,首先识别出所有外接球包含该顶点的四面体集合,通过移除这些四面体,从而构造一个多面体空腔;
·2)对空腔表面的三角面片做可见性检查(visibility check)并修正,随后通过将这些三角面片同***的顶点连接形成新的四面体集合;
·3)重建这些四面体的邻接关系。
图2中的(a)、(b)、(c)分别示出了圆柱体模型、模型边界粗采样和初始网格生成的示意图。
在粗采样和初始网格生成过程中,需要建立起实体模型信息与网格信息之间的对应关系,从而其后可以将模型信息带入到后续的并行计算过程当中。
下面描述实体模型信息与网格信息之间对应关系的建立方法示例。首先需要对组成实体模型边界的曲面进行编号,例如分别编号为F1,F2…Fn。随后在模型边界粗采样的过程中,记录采样顶点所在模型曲面的编号,由于采样顶点是在两个曲面相交的边界上,因此每一个采样顶点分别对应两个曲面编号。在接下来的初始网格生成过程中,依次对每一个模型曲面进行面网格生成,因此生成的每一个面网格单元和新***的顶点对应唯一的一个曲面,记录下该曲面编号。
下面参考图3以圆柱体为例来介绍实体模型信息与网格信息之间对应关系的建立过程。
首先在读取模型信息的过程中,给每一个曲面编号,例如圆柱模型的上底面,侧面,下底面分别编号为1、2和3,在图3的(a)中显示为F1、F2和F3。
随后在模型边界的粗采样过程中,对每一个采样点赋予它对应的曲面编号,例如采样点V1和V2在上底面和侧面的交界处,因此对应的曲面编号为1和2,故在图3的(b)中采样点V1附近显示其对应的曲面编号Face_idx=(1,2);以及采样点V2附近显示其对应的曲面编号Face_idx=(1,2)。
随后在初始网格生成过程中,对每一个面网格单元赋予它对应的曲面编号,例如单元e1在上底面,因此对应的曲面编号为1,同理单元e2对应的曲面编号为2,故在图3的(c)中在单元e1附近显示其对应的曲面编号Face_idx=1,以及在单元e2附近显示其对应的曲面编号Face_idx=2。
上面给出了建立实体模型信息与网格信息之间对应关系的方法示例,该描述是示例性的,而非限制性的,本领域技术人员可以根据需要设计其他的建立实体模型信息与网格信息之间对应关系的方法示例。
在步骤S120中,进行并行域划分。
将初始四面体网格分割成特定数目的子区域,同时最小化跨区域的切边的数目,从而减小后续并行过程的通信开销,而且每一个子区域拥有的网格顶点数目和单元数目基本一致,从而实现并行过程的负载均衡。例如,利用ParMetis多层次图分割方法。
为了对网格进行分割,在一个示例性方法中,将网格的分割问题转换为图的分割问题,其中转换方式包括两种,分别是对偶图(将每一个网格单元转换为一个图的顶点)和节点图(将每一个网格顶点转换为一个图的顶点)。随后通过多层次K-way图分割算法对图进行分割。在粗化阶段,通过边的合并不断缩小图的尺寸;在初始分割阶段,通过K-way分割算法对收缩图进行分割;在细化阶段,收缩图的分割结果被不断迭代优化,从而映射回原图。在具体的实现过程中,采用Heavy Edge Matching算法来合并边,从而不断缩小图的尺寸。在K-way分割阶段,采用多层次迭代二分算法来将初始网格分割为k个子区域。最后在细化阶段,采用KL优化算法,不断将顶点从权重较小的子区域移动到权重较大的子区域,直至各区域达到了负载均衡。
有关ParMetis多层次图分割方法的详细介绍,可以参考如下非专利文献,Karypis George,Kumar Vipin.Parallel multilevel series k-way partitioningscheme for irregular graphs.Siam Review,1999,41(2):278-300。
图4(a)、(b)、(c)分别示出了作为例子的圆柱体的初始网格、划分后的对应的子区域、以及各个子区域拥有的网格顶点数目和单元数目的示意图。
图4(a)示出了圆柱体的初始网格,图4(b)示出了划分后的8个子区域,其中区域7和区域8未显示,图4(c)示出了各个子区域拥有的网格顶点数目和单元数目。
从图4(c)可见,每一个子区域拥有的网格顶点数目和单元数目基本一致,实现了初始的负载均衡。
在步骤S120中进行并行域划分后,并行地对划分后的各个域,进行步骤S130和步骤S140的操作。
在步骤S130中,对于面网格进行网格细分。
子区域的表面网格可以分为模型面网格和分割面网格。
在一个示例中,对于面网格进行网格细分可以包括:
对于模型面网格,需要进行基于局部特征例如曲率的自适应网格细分,以尽量拟合模型边界。例如,对于模型面网格上的任意一条网格边,分别计算该网格边的两个端点处的曲率;若曲率变化较大,则进行细粒度的细分;若曲率变化较小,则进行粗粒度的细分。由于本方法将实体模型信息带入到分布式并行机上的网格生成中,从而在整个并行四面体网格生成的过程中始终保持精确的实体模型信息,因此可以快速地计算曲面上任意一点的曲率。因此本方法的细分网格确保了曲率变化的连续性,同时保持了模型几何特征。
对于相邻域之间的分割面网格,采用中点细分算法进行网格细分。由于并行域剖分已经产生了一致的分割墙面,因此通过中点细分算法仍然会保持分割墙面的一致性,从而实现相邻域一致剖分,并且在最终的三维Delaunay网格生成过程中无需通信开销。
模型面网格和分割面网格的细分过程在每一个计算节点(具有计算能力的装置,例如工作站、服务器、多核计算机等)上并行独立执行。该网格细分过程可以迭代执行,直至满足特定的细分粒度和细分质量要求,但是最好保证同一分割面周围的不同子区域的细分尺度是相同的,以此保持分割墙面的一致性,从而实现相邻域一致剖分。
图5示意性地示出了基于局部特征的自适应网格细分的示意图,其中左图为网格细分前的情况,右图为网格细分后的结果。如图5所示,<P1,P4>和<P3,P6>间的曲率超过了特定阈值,因此通过***两个顶点将原有网格边分割为三段,<P1,P2>、<P2,P3>、<P4,P5>和<P5,P6>间的曲率相对较小,因此通过***一个顶点分割为两段。图5中P1-P6为原模型面网格顶点,其余未用参考标号标注的圆形顶点为新***的细分顶点。
图6(a)、(b)、(c)分别示出了实体三维模型、初始四面体网格(网格细分前的四面体网格)和网格细分后的四面体网格的示意图。由网格细分前后的对比图可见,样条曲面的顶部区域曲率变化较大,因此进行了细粒度的细分。可见,对于模型面网格,为了恢复模型几何特征,本实施例的细分算法结合模型信息依据曲率变化进行自适应的网格细分,获得了良好的网格细分结果。
在步骤S140中,在细分后的面网格的顶点不在模型边界的情况下,根据实体模型信息以及实体模型信息与初始四面体网格信息之间的对应关系,移动顶点到模型边界上。
对于模型面网格,细分过程中新***的顶点仍然在网格边上,而不是在模型边界上,因为本发明实施例的网格优化方法将新***的顶点移动到模型边界上,从而动态恢复模型边界几何特征。
本实施例的优化方法将连续的三维实体模型信息带入到分布式并行机上的网格生成中,同时建立起实体模型信息与网格信息之间的对应关系,因此能够通过网格信息获取对应的实体模型曲面信息,并利用曲面参数计算出新***顶点在模型边界上的对应位置。
图7示出了模型面网格优化前后的网格效果图。其中P1-P6为原模型面网格顶点,其余未用参考标号标注的圆形顶点为新***的细分顶点,左图为优化前效果,右图为优化后效果,可以看到更新了新***顶点的位置,移动到模型表面,恢复了模型几何特征。
图8示意性示出了模型面网格细分顶点的位置调整的示意图。
如图8所示,三角形<P1,P2,P3>为模型表面上的网格,点P为并行多尺度网格细分过程中新***的顶点,满足公式(1)。
P=P1×t1+P2×t2+P3×t3 (1)
面网格并行优化过程的目标是找到P点在模型表面上的对应位置P′,使得过P′点并且垂直于线段<P,P′>的平面与曲面相切,即将三角网格<P1,P2,P3>沿线段<P,P′>方向移动会与曲面相切,这表明对应位置P′较好地保持了模型的几何特征。
本实施例的优化方法针对不同的曲面类型,可以采用不同的保模型边界的面网格优化算法。具体地,例如,对于平面,无需移动顶点位置;对于球面和圆环面,可以采用中心射线-曲面求交法计算映射点位置;对于圆柱面,可以采用截面射线-曲面求交法计算映射点位置;对于圆锥面,可以采用截面射线-母线求交法计算映射点位置,而对于参数曲面,则可以采用法向-曲面求交法计算映射点位置。
在步骤S150中,将子区域网格合并为整体网格。
每一个计算节点并行生成四面体网格,最后通过合并每一个计算节点的结果得到整个模型的四面体网格。
根据本发明实施例的四面体网格生成方法,在模型边界采样阶段,进行粗采样,并且在四面体网格生成过程中带入三维模型信息,从而能够在并行过程中动态恢复模型的几何边界特征,并且模型边界采样可以高效完成,后续并行过程中进行网格细分和网格优化,从而能够在保持模型边界特征的同时高效生成四面体网格。
二、第二实施例的四面体网格生成方法
如前所述,对划分后的域并行进行网格细分和针对保持模型边界进行的网格优化可以迭代进行,但是由于在网格细分过程中***了不同数目的网格顶点和网格单元,因此可能导致子区域内部的网格顶点和网格单元不再均衡。为此,本发明第二实施例的四面体网格生成方法采用最小负载迁移算法,通过迁移部分网格单元来动态改变分割边界,以此实现动态的负载均衡,确保每一个计算节点拥有均衡的计算量。
图9示出了根据本发明第二实施例的四面体网格生成方法200的流程图。
下面将描述的第二实施例的四面体网格生成方法考虑各个计算节点的负载均衡问题。
相比于结合图1描述的第一实施例的四面体网格生成方法,图9的第二实施例的四面体网格生成方法不同在于引入了步骤S241-S243,下文重点描述步骤S241-S243,其余步骤与图1中所示的对应标号的步骤相似,这里不再赘述。
在步骤S130的网格细分和步骤S140的网格优化之后,前进到步骤S241。
在步骤S241中,判断网格尺度(或网格大小)和网格质量是否达到预定标准,如果达到,前进到步骤S150,否则将进行下一轮网格细分和网格优化的迭代,具体地在该示例中,前进到步骤S242。
在步骤S242中,判断各个计算节点的负载是否均衡。负载均衡的度量指标可以采用例如负载均衡率来衡量。如果负载均衡,在前进到步骤S130,开始下一轮的网格细分和网格优化,否则前进到步骤S243。
在步骤S243中,执行最小负载迁移算法,以实现负载均衡。
在一个示例中,可以采用ParMetis多层次图分割方法中提供的最小负载迁移算法,通过迁移部分网格单元来动态改变分割边界,以此实现动态的负载均衡,确保每一个计算节点拥有均衡的计算量。有关ParMetis多层次图分割方法和最小负载迁移算法的详细介绍,可以参考如下非专利文献,KarypisGeorge,Kumar Vipin.Parallel multilevel series k-way partitioning scheme forirregular graphs.Siam Review,1999,41(2):278-300。
图10中的左图和右图分别示出了作为一个示例的最小负载迁移前的子区域网格和最小负载迁移后的子区域网格的示意图。
表1示出了负载迁移前后的网格信息统计结果,由该表可见,在负载迁移前,负载均衡率在0.77到1.3的范围内,十分不均衡,并行效果不高。在负载迁移后,负载均衡率提高至0.99到1.01的范围内,从而实现了动态负载均衡。
表1
在步骤S243中进行了最小负载迁移之后,前进到步骤S130,开始下一轮的网格细分和网格优化。
根据本发明第二实施例的四面体网格方法,迭代进行,同时在该过程中可以通过最小负载迁移来实现动态负载均衡。
三、第三实施例的四面体网格生成方法
下面结合图11描述根据本发明第三实施例的四面体网格生成方法300。
图11所示的根据本发明第三实施例的四面体网格生成方法300与图9所示的第二实施例的四面体网格生成方法的不同在于多了步骤S160,下面重点介绍步骤S160,有关其他步骤的功能和实现可以参考图9的对应步骤的实现。
如前所述,并行地对各个域进行网格细分和网格优化,从而每一个计算节点并行生成四面体网格,最后在步骤S150通过合并每一个计算节点的结果得到整个模型的四面体网格。
由于模型边界面网格顶点和并行域剖分共享面网格顶点位置进行了调整,在子区域网格合并为整体网格时,可能出现部分四面体网格单元不符合Delaunay性质。为此在第三实施例中,对于不符合Delaunay性质的四面体网格单元,重建Delaunay四面体网格。
具体地,在步骤S160中,对于每一个四面体网格单元,判断该四面体网格单元是否满足Delaunay性质,如果不满足,则将该四面体网格单元清除,形成空腔,随后在空腔内部执行顶点***算法,重建Delaunay四面体网格。
发明人经研究提出了如下三维局部Delaunay定理:令X为空间中的顶点集,如果顶点子集构成了一个简单凸多面体,且顶点c在此简单凸多面体P内部,则顶点c的Delaunay邻接点必然包含在顶点c与该多面体所有三角面片构成的四面体的外接球中。
基于该三维局部Delaunay定理,提出了如下重建Delaunay四面体网格的方法:
1)消除不满足Delaunay性质的四面体网格单元,形成包含顶点c的凸多面体空腔P={P1,P2…Pk};
2)构造通过顶点c和空腔每一个三角面片的外接球,形成外接球集合Q;
3)对空间中的每一个顶点,判断其是否在外接球集合Q中,若存在在外接球集合Q中的点v,则形成新的空腔P={P1,P2…Pk,v},随后进入步骤2,若不存在在外接球集合Q中的点,则表示空腔P已是最小重建区域;
4)在最小重建区域,重建Delaunay四面体网格,例如利用顶点***算法重建网格四面体单元。
如前所述,在并行生成四面体网格后,由于各子区域独自进行三维Delaunay体网格生成,并行域剖分共享面周围的四面体网格单元可能不满足Delaunay性质。现行并行算法中,部分算法并没有对此进行修复处理,部分算法则是通过网格边或面的翻转操作来修复,但是在三维空间中,翻转四面体单元的面,可能会陷入局部循环翻转或者导致非Delaunay网格单元的扩散,因此并不能完全确保整体网格的Delaunay性质。
利用根据本发明第三实施例的四面体网格生成方法,通过计算最小重建区域来修复非Delaunay网格单元,确保了整体网格的Delaunay性质,能够高效修复非Delaunay网络。
需要说明的是,第三实施例的四面体网格生成方法是在第二实施例的四面体网格生成方法之后添加了三维局部Delaunay网格重建操作实现的。不过这仅为示例而不应视为对本发明的限制。实际上,根据需要也可以在其他四面体网格生成方法,例如第一实施例的四面体网格生成方法后也可以添加这里描述的三维局部Delaunay网格重建操作。
四、第四实施例的四面体网格生成装置
图12示出了根据本发明实施例的四面体网格生成装置400的配置框图。
如图所示,四面体网格生成装置400可以包括:粗采样和初始网格生成部件410、并行域划分部件420、网格细分和网格顶点移动部件430、子区域网格合并部件440。
粗采样和初始网格生成部件410可以配置为对实体模型边界进行粗糙采样,得到采样点,以及基于采样点构造初始四面体网格,其中建立实体模型信息与初始四面体网格信息之间的对应关系。
并行域划分部件420可以配置为对初始四面体网络进行并行域划分。
网格细分和网格顶点移动部件430可以配置为并行地对划分后的各个域,进行下述操作:对于面网格进行网格细分;在细分后的面网格的顶点不在模型边界的情况下,根据实体模型信息以及实体模型信息与初始四面体网格信息之间的对应关系,移动顶点到模型边界上。
子区域网格合并部件440可以配置为将子区域网格合并为整体网格。
有关粗采样和初始网格生成部件410、并行域划分部件420、网格细分和网格顶点移动部件430、子区域网格合并部件440的操作和具体实现可以参考结合图1中对相应步骤的描述,这里不再赘述。
需要说明的是,上述四面体网格生成装置的各个部件可以用软件程序来实现,例如通过通用计算机中的CPU结合RAM和ROM等以及其中运行的软件代码来实现。软件程序可以存储在诸如闪存、软盘、硬盘、光盘等存储介质上,在运行时加载到诸如随机访问存储器RAM上来由CPU执行。另外,除了通用计算机上,还可以通过专用集成电路和软件之间的合作来实现。所述集成电路包括通过例如MPU(微处理单元)、DSP(数字信号处理器)、FPGA(现场可编程门阵列)、ASIC(专用集成电路)等中的至少一个来实现。另外,Linux基础软件依赖关系分析装置的各个部件可以用专门的硬件来实现,例如特定的现场可编程门阵列、专用集成电路等。另外,图像编码器的各个部件也可以利用软件和硬件的结合来实现。
上述四面体网格生成装置中的各个单元的结构和数量不对本发明的范围构成限制。根据本发明的一个实施例,各个部件可以合并为一个独立的部件来执行和实现相应的功能和操作,或者各个部件进一步拆分为更小的单元来实现他们各自的功能和操作。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改、组合、次组合和变更都是显而易见的。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种三维实体模型的四面体网格生成方法,包括:
对实体模型边界进行粗采样,得到采样点,以及基于采样点构造初始四面体网格,其中建立实体模型信息与初始四面体网格信息之间的对应关系;
进行并行域划分;
并行地对划分后的各个域,进行下述操作:
对于面网格进行网格细分;
在细分后的面网格的顶点不在模型边界的情况下,根据实体模型信息以及实体模型信息与初始四面体网格信息之间的对应关系,移动顶点到模型边界上;以及
将子区域网格合并为整体网格。
2.根据权利要求1的四面体网格生成方法,还包括在将子区域网格合并为整体网格后进行下述操作:
对于每一个四面体网格单元,判断该四面体网格单元是否满足Delaunay性质,如果不满足,则将该四面体网格单元清除,形成空腔,随后在空腔内部执行顶点***算法,重建Delaunay四面体网格。
3.根据权利要求2的四面体网格生成方法,所述重建Delaunay四面体网格包含如下步骤:
1)消除不满足Delaunay性质的四面体网格单元,形成包含顶点c的凸多面体空腔P={P1,P2…Pk};
2)构造通过顶点c和空腔每一个三角面片的外接球,形成外接球集合Q;
3)对空间中的每一个顶点,判断其是否在外接球集合Q中,若存在在外接球集合Q中的点v,则形成新的空腔P={P1,P2…Pk,v},随后进入步骤2,若不存在在外接球集合Q中的点,则表示空腔P已是最小重建区域;
4)在最小重建区域,重建Delaunay四面体网格。
4.根据权利要求1到3中任一项的四面体网格生成方法,还包括:
在并行地对划分后的各个域进行了网格细分和移动顶点到模型边界之后,判断网格尺度和质量是否满足预定标准,
如果不满足,则重复并行地对划分后的各个域进行网格细分和移动顶点到模型边界的操作。
5.根据权利要求4的四面体网格生成方法,还包括:
在重复并行地对划分后的各个域进行了网格细分和移动顶点到模型边界的操作之前,判断各个域的负载是否均衡,
如果负载不均衡,则进行最小负载均衡操作。
6.根据权利要求1到3任一项的四面体网格生成方法,所述建立实体模型信息与初始四面体网格信息之间的对应关系包括:
对组成实体模型边界的曲面进行编号;
在模型边界粗采样的过程中,记录采样顶点所在模型曲面的编号,由于采样顶点是在两个曲面相交的边界上,因此每一个采样顶点分别对应两个曲面编号;以及
在初始网格生成过程中,依次对每一个模型曲面进行面网格生成,因此生成的每一个面网格单元和新***的顶点对应唯一的一个曲面,记录下该曲面编号。
7.根据权利要求1到3任一项的四面体网格生成方法,所述进行并行域划分包括:
利用多层次图分割算法将初始四面体网格分割成特定数目的子区域,使得最小化跨区域的切边的数目,以及使得每一个子区域拥有的网格顶点数目和单元数目基本一致。
8.根据权利要求1到3任一项的四面体网格生成方法,所述对于面网格进行网格细分包括:
对于模型面网格,对于模型面网格上的任意一条网格边,分别计算该网格边的两个端点处的曲率;若曲率变化较大,则进行细粒度的细分;若曲率变化较小,则进行粗粒度的细分;
对于相邻域之间的分割面网格,采用中点细分算法进行网格细分。
9.根据权利要求1到3任一项的四面体网格生成方法,所述对实体模型边界进行粗糙采样包括:
将模型边界上的每一个曲面映射到二维参数域,随后对曲面边界进行采样,最后将二维参数域上的顶点映射回三维曲面上。
10.一种三维实体模型的四面体网格生成装置,包括:
粗采样和初始网格生成部件,配置为对实体模型边界进行粗糙采样,得到采样点,以及基于采样点构造初始四面体网格,其中建立实体模型信息与初始四面体网格信息之间的对应关系;
并行域划分部件,配置为对初始四面体网络进行并行域划分;
网格细分和网格顶点移动部件,配置为并行地对划分后的各个域,进行下述操作:对于面网格进行网格细分;在细分后的面网格的顶点不在模型边界的情况下,根据实体模型信息以及实体模型信息与初始四面体网格信息之间的对应关系,移动顶点到模型边界上;以及
子区域网格合并部件,配置为将子区域网格合并为整体网格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410322935.1A CN104063903B (zh) | 2014-07-08 | 2014-07-08 | 三维实体模型的四面体网格生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410322935.1A CN104063903B (zh) | 2014-07-08 | 2014-07-08 | 三维实体模型的四面体网格生成方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063903A CN104063903A (zh) | 2014-09-24 |
CN104063903B true CN104063903B (zh) | 2016-09-14 |
Family
ID=51551595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410322935.1A Expired - Fee Related CN104063903B (zh) | 2014-07-08 | 2014-07-08 | 三维实体模型的四面体网格生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104063903B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106384386A (zh) * | 2016-10-08 | 2017-02-08 | 广州市香港科大***研究院 | Lod模型生成中网格处理方法、***以及3d重建方法和*** |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105719349B (zh) * | 2016-01-19 | 2018-07-31 | 中国科学院自动化研究所 | 基于最大化泊松圆盘采样的四面体网格化方法和*** |
CN105888068B (zh) * | 2016-04-20 | 2017-12-26 | 同济大学建筑设计研究院(集团)有限公司 | 一种柔性建筑的建造方法 |
CN106023061A (zh) * | 2016-05-18 | 2016-10-12 | 深圳市神州龙资讯服务有限公司 | 一种航拍建筑模型多终端并行计算生成方法 |
CN106097451B (zh) * | 2016-06-29 | 2018-08-28 | 中国石油化工股份有限公司 | 复杂地质模型的并行四面体剖分方法 |
CN108205815B (zh) * | 2016-12-19 | 2021-03-16 | 中国科学院苏州纳米技术与纳米仿生研究所 | 基于藕节状四面体坐标系的建立模型间对应关系的方法 |
CN109016491A (zh) * | 2017-06-09 | 2018-12-18 | 河北卓达建材研究院有限公司 | 一种房屋3d建模及3d打印方法 |
CN108022287A (zh) * | 2017-12-06 | 2018-05-11 | 北京像素软件科技股份有限公司 | 模型网格生成方法及装置 |
CN108961413B (zh) * | 2018-07-16 | 2023-07-04 | 清华大学深圳研究生院 | 一种用于心脏标测***中的心内膜逐点***动态表面重建方法 |
CN110171139B (zh) * | 2019-04-11 | 2021-06-04 | 华北水利水电大学 | 薄壁结构3d打印与数值计算统一网格的方法 |
CN110188395B (zh) * | 2019-05-05 | 2021-06-15 | 广东海洋大学 | 一种基于线面体的维度增加式计算流体网格生成方法 |
CN110322547B (zh) * | 2019-05-27 | 2023-09-19 | 中国石油大学(华东) | 一种储层自适应四面体剖分方法 |
CN110704916B (zh) * | 2019-09-24 | 2023-06-16 | 中水北方勘测设计研究有限责任公司 | 基于bim技术的大型复杂三维地质模型网格粗化方法 |
CN110750927A (zh) * | 2019-10-08 | 2020-02-04 | 谢亿民工程科技(常州)有限公司 | 基于有限元结果的连续体表面轻量化结构生成方法及*** |
CN110825831B (zh) * | 2019-10-30 | 2022-09-16 | 广州海格星航信息科技有限公司 | 数字孪生城市多尺度空间网格编码方法及装置 |
CN111168990B (zh) * | 2019-12-30 | 2021-04-09 | 浙江大学 | 一种可实现在线检测和实时纠偏的生物3d打印装置及其方法 |
CN112560319A (zh) * | 2020-12-22 | 2021-03-26 | 上海交通大学 | 一种疲劳断裂凹坑缺陷有限元模型构建方法 |
CN112669463B (zh) * | 2020-12-25 | 2022-02-15 | 河南信大融通信息科技有限公司 | 三维点云的曲面重建方法、计算机设备和计算机可读存储介质 |
CN113705036B (zh) * | 2021-07-22 | 2024-04-19 | 广州华工机动车检测技术有限公司 | 基于Grasshopper的复杂变密度多孔结构建模方法 |
CN113689568B (zh) * | 2021-08-03 | 2023-05-23 | 南昌威爱信息科技有限公司 | 一种基于云端渲染的三维效果图高精度建模方法 |
CN114219899B (zh) * | 2022-02-21 | 2022-05-10 | 墨研计算科学(南京)有限公司 | 一种基于改进叉树算法的网格生成方法及装置 |
CN114741918B (zh) * | 2022-02-24 | 2024-02-23 | 西北大学 | 一种面向遗址劣化有限元分析的并行网格剖分方法 |
CN114494648B (zh) * | 2022-04-06 | 2022-07-12 | 中汽研(天津)汽车工程研究院有限公司 | 基于有限元网格划分的网格调整方法、设备和存储介质 |
CN115495968B (zh) * | 2022-11-21 | 2023-06-02 | 广州中望龙腾软件股份有限公司 | 网格划分方法、终端以及存储介质 |
CN115564925B (zh) * | 2022-11-21 | 2024-04-16 | 广州中望龙腾软件股份有限公司 | 基于B-rep模型和笛卡尔网格切片的网格生成方法 |
CN116976201A (zh) * | 2023-07-10 | 2023-10-31 | 哈尔滨工业大学 | 呼吸机微涡轮叶片自编程参数化建模方法及其建模***、计算机可读存储介质和电子设备 |
CN117786912A (zh) * | 2024-01-05 | 2024-03-29 | 浙江大学 | 基于无锁原子操作的并行约束四面体网格优化方法 |
CN118095012A (zh) * | 2024-03-29 | 2024-05-28 | 浙江大学 | 一种面向电磁计算的几何自适应网格生成方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774696A (en) * | 1995-05-29 | 1998-06-30 | Nec Corporation | Triangle and tetrahedron mesh generation method |
CN1991846A (zh) * | 2005-12-29 | 2007-07-04 | 比亚迪股份有限公司 | 一种生成三维有限元网格的方法 |
CN101189600A (zh) * | 2005-06-30 | 2008-05-28 | 微软公司 | 对程序几何对象进行三角剖分 |
CN101436303A (zh) * | 2008-12-25 | 2009-05-20 | 上海交通大学 | 从物体三维图像中获取四面体网格的方法 |
CN102194253A (zh) * | 2011-06-15 | 2011-09-21 | 北京航空航天大学 | 一种面向三维地质层面结构的四面体网格生成方法 |
-
2014
- 2014-07-08 CN CN201410322935.1A patent/CN104063903B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774696A (en) * | 1995-05-29 | 1998-06-30 | Nec Corporation | Triangle and tetrahedron mesh generation method |
CN101189600A (zh) * | 2005-06-30 | 2008-05-28 | 微软公司 | 对程序几何对象进行三角剖分 |
CN1991846A (zh) * | 2005-12-29 | 2007-07-04 | 比亚迪股份有限公司 | 一种生成三维有限元网格的方法 |
CN101436303A (zh) * | 2008-12-25 | 2009-05-20 | 上海交通大学 | 从物体三维图像中获取四面体网格的方法 |
CN102194253A (zh) * | 2011-06-15 | 2011-09-21 | 北京航空航天大学 | 一种面向三维地质层面结构的四面体网格生成方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106384386A (zh) * | 2016-10-08 | 2017-02-08 | 广州市香港科大***研究院 | Lod模型生成中网格处理方法、***以及3d重建方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN104063903A (zh) | 2014-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063903B (zh) | 三维实体模型的四面体网格生成方法和装置 | |
CN108629147B (zh) | 一种多晶体几何建模方法 | |
CN111797555B (zh) | 一种基于有限元模型的几何重构方法 | |
Coupez et al. | Parallel meshing and remeshing | |
Seo et al. | Isogeometric topology optimization using trimmed spline surfaces | |
CN101609564B (zh) | 一种草图式输入的三维网格模型制作方法 | |
EP0313586A4 (en) | A method for global blending of computer modeled solid objects using a convolution integral | |
CN109472870B (zh) | 一种基于网格重构和多影响域修正的模型匹配方法 | |
Owen et al. | Parallel hex meshing from volume fractions | |
CN108230452B (zh) | 一种基于纹理合成的模型补洞方法 | |
Morozov et al. | Efficient delaunay tessellation through KD tree decomposition | |
Joy et al. | Frame-sliced voxel representation: An accurate and memory-efficient modeling method for workpiece geometry in machining simulation | |
Duh et al. | Fast variable density node generation on parametric surfaces with application to mesh-free methods | |
US11017597B2 (en) | Singularity reduction in quadrilateral meshes | |
CN113792458B (zh) | 一种有限元三角形网格的优化方法及装置 | |
Rassineux et al. | Simultaneous surface and tetrahedron mesh adaptation using mesh‐free techniques | |
CN104915984A (zh) | 基于八叉树的复杂矿体块段模型构建方法及*** | |
CN110532670B (zh) | 一种适分析样条实体模型构建方法及*** | |
Remacle et al. | Fast and robust mesh generation on the sphere–application to coastal domains | |
Owen et al. | Parallel hexahedral meshing from volume fractions | |
Lee | Automatic metric 3D surface mesh generation using subdivision surface geometrical model. Part 2: Mesh generation algorithm and examples | |
Itoh et al. | Automatic conversion of triangular meshes into quadrilateral meshes with directionality | |
Zhu et al. | A simple automatic hexahedron mesh generation and polyhedral smoothed finite element method for mechanics problems | |
CN113627040A (zh) | 一种非均质边坡稳定性分析方法 | |
CN106446532A (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: 20160914 |
|
CF01 | Termination of patent right due to non-payment of annual fee |