CN105719349B - 基于最大化泊松圆盘采样的四面体网格化方法和系统 - Google Patents
基于最大化泊松圆盘采样的四面体网格化方法和系统 Download PDFInfo
- Publication number
- CN105719349B CN105719349B CN201610031891.6A CN201610031891A CN105719349B CN 105719349 B CN105719349 B CN 105719349B CN 201610031891 A CN201610031891 A CN 201610031891A CN 105719349 B CN105719349 B CN 105719349B
- Authority
- CN
- China
- Prior art keywords
- sampling
- point set
- region
- grid
- mesh
- 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
- 238000005070 sampling Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000010586 diagram Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 14
- 239000011800 void material Substances 0.000 claims description 10
- 238000001514 detection method Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 claims description 7
- 238000005457 optimization Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000009826 distribution Methods 0.000 description 7
- 238000003860 storage Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000052 comparative effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000012634 fragment Substances 0.000 description 3
- 238000012952 Resampling Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000003814 drug Substances 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/30—Polynomial surface description
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Sampling And Sample Adjustment (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
Abstract
本发明公开了一种基于最大化泊松圆盘采样的四面体网格化方法和系统;其中,该方法包括获取三维区域;对三维区域进行均匀地体素化,得到三维均匀网格;在三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集;然后根据表面采样点集,提取表面网格;使用松弛方法对表面网格进行边界保护,并在三维均匀网格上进行体采样,得到体采样点集;根据体采样点集,使用三维狄洛尼三角化方法或者三维正则三角化方法,提取四面体网格。通过本发明实施例,解决了如何快速生成四面体网格,且消除四面体网格中薄片的技术问题。
Description
技术领域
本发明实施例涉及计算机图形处理技术领域,尤其是涉及一种基于最大化泊松圆盘采样的四面体网格化方法和系统。
背景技术
网格生成是使用简单的离散元素(例如,二维情况下的三角形和四边形;三维情况下的四面体、角锥体、棱柱、六面体)来近似表示一个给定的封闭区域。网格生成在工程领域和科学研究领域,都有众多的应用,例如机械部件或者建筑结构的仿真、医学和生物数据分析、地理科学、计算流体动力学、以及计算机图形学领域的动画等等。
对于四面体网格生成,现在已经存在很多鲁棒的商业软件(例如,Ansys)和用于网格生成的开源软件包(例如,TetGen、CGALmesh、GelPSC和Gmsh等)。但是由于不同的应用对于网格质量的要求不同,这些工具往往不能同时满足各种应用的需求,因此四面体网格化方法依然有很大的研究价值。
另一方面,对于四面体网格有很多评价其质量的指标,例如与原始区域的近似程度、四面体二面角以及半径比等,这些指标彼此冲突,很难被同时满足。对于仿真应用来说,二面角几乎是最重要的评价指标,因为它与刚度矩阵的条件数直接相关。一个具有坏形状的四面体(体积接近零,被叫做薄片)将会导致整个仿真实验的失败。然而,现有的四面体网格化方法仍然没有很好的解决这个问题。目前常用的开源库Tetgen(H.Si.Tetgen,aDelaunay-based quality tetrahedral mesh generator.ACM Trans.Math.Softw.,41(2):11:1-11:36,Feb.2015.)使用基于狄洛尼插入的方法,但是该方法得到的四面体网格质量不高。Yan等人(D.-M.Yan,W.Wang,B.Lévy,and Y.Liu.Efficient computation ofclipped Voronoi diagram for mesh generation.Computer-Aided Design,45(4):843-852,2013.)将重心Voronoi图(CVT)的方法应用到四面体网格生成,但是会在边界处产生大量薄片。
Tournois等人(J.Tournois,C.Wormser,P.Alliez,and M.Desbrun.Interleavingdelaunayrefinement and optimization for practical isotropictetrahedron meshgeneration.ACM Trans.on Graphics(Proc.SIGGRAPH),28(3):75:1-75:9,July2009.)将最优狄洛尼三角化(Optimal Delaunay Triangulation--ODT)能量扩展到区域边界,叫做natural ODT(NODT),这个扩展确保了区域边界和区域内部的能量函数的一致性,从而减少了区域边界的薄片数目。Chen等人(Z.Chen,W.Wang,B.Lévy,L.Liu,and F.Sun.Revisitingoptimal Delaunay triangulation for 3D graded mesh generation.SIAM Journal onScientific Computing,36(3):A930-A954,2014.)的revisited optimal Delaunaytriangulation(RODT)方法使用拟牛顿算子来快速生成变密度的四面体网格。但是这些算法自身不能消除薄片,必须要依赖后期处理。
有鉴于此,特提出本发明。
发明内容
本发明实施例的主要目的在于提供一种基于最大化泊松圆盘采样的四面体网格化方法,其至少部分地解决了如何快速生成四面体网格,且消除四面体网格中薄片的技术问题。此外,还提供一种基于最大化泊松圆盘采样的四面体网格化系统。
为了实现上述目的,根据本发明的一个方面,提供了以下技术方案:
一种基于最大化泊松圆盘采样的四面体网格化方法,该方法至少可以包括:
获取三维区域;
对所述三维区域进行均匀地体素化,得到三维均匀网格;
在所述三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集;
根据所述表面采样点集,提取表面网格;
使用松弛方法对所述表面网格进行边界保护,并在所述三维均匀网格上进行体采样,得到体采样点集;
根据所述体采样点集,使用三维狄洛尼三角化方法或者三维正则三角化方法,提取四面体网格。
根据本发明的另一个方面,还提供一种基于最大化泊松圆盘采样的四面体网格化系统,该系统至少包括:
获取模块,被配置为获取三维区域;
体素化模块,被配置为对所述三维区域进行均匀地体素化,得到三维均匀网格;
第一采样模块,被配置为在所述三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集;
第一提取模块,被配置为根据所述表面采样点集,提取表面网格;
第二采样模块,被配置为使用松弛方法对所述表面网格进行边界保护,并在所述三维均匀网格上进行体采样,得到体采样点集;
第二提取模块,被配置为根据所述体采样点集,使用三维狄洛尼三角化方法或者三维正则三角化方法,提取四面体网格。
与现有技术相比,上述技术方案至少具有以下有益效果:
本发明实施例通过获取三维区域;对三维区域进行均匀地体素化,得到三维均匀网格;再在三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集;然后根据表面采样点集,提取表面网格;再使用松弛方法对表面网格进行边界保护,并在三维均匀网格上进行体采样,得到体采样点集;最后根据体采样点集,使用三维狄洛尼三角化方法或者三维正则三角化方法,提取四面体网格。由此,解决了如何快速生成四面体网格,且消除四面体网格中薄片的技术问题。
采用网格几何处理的技术,通过上述技术方案所采用的优化手段使得新的网格表面可以很好地近似原始网格,同时避免了在网格化的结果中出现体积接近为零的单个四面体。在物理模拟以及几何建模等领域有很好的应用价值。
当然,实施本发明的任一产品不一定需要同时实现以上所述的所有优点。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其它优点可通过在所写的说明书、权利要求书以及附图中所特别指出的方法来实现和获得。
需要说明的是,发明内容部分并非旨在标识出请求保护的主题的必要技术特征,也并非是用来确定请求保护的主题的保护范围。所要求保护的主题不限于解决在背景技术中提及的任何或所有缺点。
附图说明
附图作为本发明的一部分,用来提供对本发明的进一步的理解,本发明的示意性实施例及其说明用于解释本发明,但不构成对本发明的不当限定。显然,下面描述中的附图仅仅是一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。在附图中:
图1为根据一示例性实施例示出的基于最大化泊松圆盘采样的四面体网格化方法的流程示意图;
图2a为根据一示例性实施例示出的最大化泊松圆盘采样点集示意图;
图2b为根据一示例性实施例示出的对图2a中的采样点集进行表面网格提取后的示意图;
图2c为根据一示例性实施例示出的对表面网格进行边界优化后的示意图;
图2d为根据一示例性实施例示出的进行表面采样之后进行体采样的结果示意图;
图2e为根据一示例性实施例示出的对四面体网格进行二面角优化后的网格截面示意图;
图3a为根据一示例性实施例示出的表面网格边界消失示意图;
图3b为根据一示例性实施例示出的对表面网格进行边界保护的示意图;
图4a为根据一示例性实施例示出的未使用边界保护方法进行四面体网格化后的结果的示意图;
图4b为根据一示例性实施例示出的使用本发明实施例提供的边界保护方法进行四面体网格化后的结果的示意图;
图5为根据一示例性实施例示出的本发明实施例的方法与TetGen、CVT、NODT和RODT方法对于输入网格进行均匀四面体网格化的结果对比图;
图6为根据一示例性实施例示出的本发明实施例的方法与TetGen、CVT和NODT方法对于输入网格进行变密度的四面体网格化的结果对比图;
图7为根据一示例性实施例示出的基于最大化泊松圆盘采样的四面体网格化系统。
这些附图和文字描述并不旨在以任何方式限制本发明的构思范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本发明进一步详细说明。
需要说明的是,在没有明确限定或不冲突的情况下,本申请的实施例及实施例中的技术特征可以相互组合。下面将参考附图并结合实施例对本发明进行进一步详细地说明。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本申请的保护范围。
本发明实施例的核心思想是借助最大化泊松圆盘采样点集的蓝噪声属性,在传统的基于狄洛尼的四面体网格化方法中,引入边界保护方法和二面角优化方法,使得四面体网格化后的结果不仅和原始的输入表面网格共形,同时不含有体积接近为零的四面体,从而提高了网格质量。
本发明实施例的主要技术构思是将最大化泊松圆盘采样推广到体采样,可以得到分布良好的点集,非常适用于网格生成。本发明先对输入区域表面进行最大化泊松圆盘采样,并使用一系列的边界优化方法得到高品质的表面网格;提出了一种边界松弛方法和二面角优化方法,使得体采样后的四面体网格与原始网格共形,且不含体积趋于零的四面体。最大泊松圆盘采样可以在给定区域内产生分布良好的点集,使用该点集得到的网格具有非常好的几何性质。前人的工作只是利用泊松盘采样在二维区域和曲面上进行网格生成,本发明实施例首次将泊松采样的方法应用到四面体网格的生成。
本发明实施例提供一种基于最大化泊松圆盘采样的四面体网格化方法。如图1所示,该方法至少可以包括步骤S100至步骤S150。
步骤S100:获取三维区域。
其中,三维区域可以是一个被2-流形封闭的三角网格包围的三维区域Ω。其中,m表示三角面片的个数;且m取正整数;fi是M的第i个三角面片。M也就是Ω的边界表面。
步骤S110:对三维区域进行均匀地体素化,得到三维均匀网格。
其中,体素化是将物体的几何形式表示转换成最接近该物体的体素表示形式,产生体数据集,其不仅包含模型的表面信息,而且能描述模型的内部属性。
在本步骤中,由用户指定最小的采样半经rmin,对输入的三维区域进行均匀的体素化,得到三维均匀网格G。G的一个单元的边长等于这样可以保证每一个网格单元最多包含一个采样点。网格单元分为三类:外部网格单元、边界网格单元和内部网格单元。
借助三维均匀网格G,一方面可以加速泊松圆盘采样,另一方面可以在三维区域Ω上设计一个密度场,用于变密度四面体网格化。对三维区域定义一个密度场来指示局部采样半经。当密度场全局一致时,意味着是均匀的四面体网格化。首先在区域的边界表面定义一个密度函数μ(x)。其中,x为边界表面上的一个点。然后,通过使用一种快速游走的构建方法来外插得到区域内部的密度场。
对于变密度四面体网格,可以设置最大的采样半经rmax=λrmin(默认值λ=8)。采用局部特征大小(lfs)来定义密度函数μ(x),并且从三维区域的边缘到内部,密度逐渐减小,意味着区域内部的网格也越来越粗糙。
步骤S120:在三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集。
其中,本步骤的目的是用一个具有更好品质的表面网格来近似三维区域Ω的边界表面,使得最后的四面体网格可以与它共形。
步骤S120具体可以包括:
步骤S122:对三维区域的边界表面进行特征敏感采样。
一些输入的三角网格(如CAD模型)往往含有尖锐边以及特征顶点(如:角点、尖端),这些特征敏感元素(尖锐边以及特征顶点)在最终的四面体网格中被保持。
在三维区域的边界表面包括特征敏感元素,特征敏感元素包括特征顶点和尖锐边的情况下,本步骤还可以包括:
步骤S1222:将特征顶点添加到采样点集中;
步骤S1224:在由尖锐边构成的特征线上,进行一维的最大化泊松圆盘采样。
步骤S124:使用局部冲突检测方法,在三维区域的边界表面上进行点集采样。
本步骤还可以包括:随机地在三维区域的边界表面上选取一三角面片,在该三角面片上产生一随机点;确定随机点与其设定邻域内的所有采样点的最小欧氏距离;确定最小欧氏距离大于最小采样半径时,采集该随机点。其中,如果
为变密度四面体网格化,则设定邻域为的网格单元,其中,rp为P的采样半经;表示向上取整。
具体地,随机地从M中选择一个三角面片,并在该三角面片上产生一个随机点P。为了保证无偏性,三角面片被选中的概率正比于它的面积。
然后,根据P是否与已接受的点集冲突来决定是否接受它。例如,可以根据以下方式来确定:
判断P与其5x5x5设定邻域内的所有采样点的最小欧氏距离d。其中,对于变密度四面体网格,使用的网格单元作为邻域。rp为P的采样半经;表示向上取整。
如果d≤rmin,则拒绝P;否则就接受P。也就是如果点P对应的采样球不包含局部区域的任何采样点,同时点P也不被局部区域的任何采样点的采样球所包含,那么点P被接受。
在实际应用中,一旦一个采样点被接受,则被该采样点完全覆盖的单元的标志设置为“false”,这意味着接下来不会在该单元中产生新的采样点。当连续K次(例如,K=300)拒绝采样点,则该过程结束。
步骤S126:迭代地检测并填充三维区域的边界表面上的空隙区域,得到表面采样点集。
其中,本步骤还可以包括:收集所述三维区域的边界表面上的空隙区域;执行以下步骤,直至三维区域的边界表面被所述随机点覆盖:随机地在三维区域的边界表面上选取一个三角面片,在该三角面片上产生一个随机点;确定随机点与其设定邻域内的所有采样点的最小欧氏距离;确定最小欧氏距离大于最小采样半径时,采集随机点。
具体地,收集M上未被点集覆盖的空隙区域,再执行步骤S124进行采样,此过程迭代进行,直到M被完全覆盖。得到的最大化泊松圆盘采样点集如图2a所示。
本领域技术人员应能理解,上述得到表面采样点集的方法仅仅是举例,其他任意现有的及今后可能出现的得到表面采样点集的方法均在本发明的保护范围之内,并在此以引用的方式结合于此。
步骤S130:根据表面采样点集,提取表面网格。
获得了表面采样点集之后,本步骤还可以包括:如果所述表面采样点集为均匀表面采样点集,则使用狄洛尼三角化方法来提取所述表面网格;如果所述表面采样点集为变密度表面采样点集,则按照以下公式为所述表面采样点集中的采样点分配权重,使用正则三角化方法来提取所述表面网格:
其中,wi表示为所述采样点分配的权重;i表示所述采样点序数;ri为第i个采样点的采样半径。
提取的表面网格可能包含一些不理想的结果,例如,某些顶点的度数小于5或者大于7,以及包含很长的边和小角度的狭长三角形面片,这些坏元素会导致最终在边界处产生大量质量差的四面体。如图2b所示,黑色的三角形是一些狭长的三角形面片,白色的线表示很长的边。所有的这些缺陷将会导致一些内部采样点太靠近区域的边界,从而使得最后的四面体网格在边界处产生大量质量差的薄片。在本文中,薄片是指体积接近零的单个四面体。
因此,需要进行边界优化。例如,对顶点度数、角度和边长进行优化。
所以,在提取表面网格之后,上述方法还可以包括:对表面网格的顶点度数、角度和边长进行优化,直至顶点度数为5度、6度或者7度,角度大于等于30°,边长小于等于其中,r1,r2分别为所述表面网格某一条边的两个顶点的采样半经。
下面以优选实施例的方式来对优化边长进行详细说明。
步骤S132:在表面网格上,迭代地移除边长大于的边的两个顶点,形成空隙区域。
步骤S134:重采样空隙区域直到没有边长大于的边或者达到最大的迭代次数(迭代次数阈值)。
其中r1、r2分别表示第一顶点、第二顶点所对应的采样半经。
图2c示意性地示出了对表面网格进行边界优化后的采样点集生成的三角形网格。
对顶点度数和角度优化的方法与对边长优化的方法类似,在此不再赘述。优化之后,使得所有顶点的度数为5、6或者7,角度大于等于30°。
步骤S140:使用松弛方法对表面网格进行边界保护,并在三维均匀网格上进行体采样,得到体采样点集。
该步骤具体可以包括:
步骤S142:对表面采样点集进行松弛。
如果在进行最大化泊松圆盘采样的表面采样之后紧接着进行体采样,将会在靠近边界的地方产生很多薄片,这些薄片在后期阶段是很难被消除的。如图2d所示,直接进行体采样会得到很多的薄片(深颜色的三角形)。并且,最后的四面体网格的边界也不容易保持共形。
下面用一个二维例子对此进行说明。
如图3a所示,黑色的虚线是输入边界的一条边,点p和点q是两个位于边界上的采样点,并且它们是局部最大的(即在p和q之间没有空隙)。如果产生一个新的采样点s,一个三角形Δspq将会被提取。然而,因为Δspq的外接圆的圆心g在区域的外面,在进行狄洛尼三角化时Δspq将会被丢弃,因此边界部分p q在最后生成的网格中将不被保持。
为了保护输入边界,本发明实施例提出了一种松弛方法,即通过增加一些“虚拟采样点”来松弛接近边界区域的泊松圆盘采样的最大化属性。
步骤S142具体可以包括:
步骤S1422:在表面网格边界上的两个采样点p和q的中点插入虚拟采样点m,产生一个新的采样点s,且采样点s不和虚拟采样点m冲突。
如图3b所示,点s在点m的采样圆盘的外面。在这种情况下,可以保证Δspq的外接圆的圆心g将会在区域的内部,因此边p q被保持。
步骤S1424:在三维情况下,通过计算表面采样点的限制Voronoi(沃罗诺伊)图,并在每个限制Voronoi图的顶点处放置“虚拟采样点”。
这些“虚拟采样点”不会被添加到采样点集中,其作用是指示被它们完全覆盖的网格单元是无效的(即不能在这些单元中产生新采样点)。
图4a和图4b比较了未使用和使用本发明实施例提供的边界保护方法进行四面体网格化后的结果,图4a的四面体网格的表面有明显的凹陷,而图4b则比较光滑,说明本发明实施例提供的方法很好地保护了原始区域的边界表面。
步骤S144:利用松弛后的表面点集,在三维均匀网格上进行体采样,得到体采样点集。
本步骤具体包括:
步骤S1441:重复地选择一随机且有效的非外部网格单元并在该单元内部产生一随机点。其中,非外部网格单元包括边界网格单元和内部网格单元。
步骤S1442:如果该随机点在三维区域的内部并且不和已采集的所有采样点(包括边界采样点)冲突,则执行步骤S14443;否则,执行步骤S14444。
步骤S14443:接受这个采样点。
步骤S14444:拒绝该采样点。
步骤S1445:将各有效的网格单元划分为N个子单元,将该子单元收集在数组中,并进行重新采样,直至得到最大化采样点集,形成体采样点集。其中,N取正整数;有效的网格单元是指没有被已有的采样点所覆盖的网格单元。
其中,这些子单元也被称作“碎片”。将这些“碎片”收集在一个数组中,并进行重采样。这个过程重复进行直到得到最大化采样点集。
本领域技术人员应能理解,上述得到体采样点集的方法仅仅是举例,其他任意现有的及今后可能出现的得到体采样点集的方法均在本发明的保护范围之内,并在此以引用的方式结合于此。
步骤S150:对得到的点集使用三维狄洛尼三角化方法提取四面体网格。
具体地,如果体采样点集为均匀体采样点集,则使用三维狄洛尼三角化方法提取四面体网格;如果体采样点集为变密度体采样点集,则使用三维正则三角化方法提取四面体网格。
其中,忽略外接球球心在输入区域外部的四面体。但是,这个四面体网格通常含有薄片状四面体(体积接近零的单个四面体),不能完全满足质量要求。
对此,本发明实施例通过优化区域内部采样点的位置来提高网格质量。
在步骤S150之后还可以包括:移除四面体网格上最长边的两个顶点,形成空位;收集移除顶点后造成的边界网格单元和内部网格单元未被覆盖的子单元;选择一随机且有效的上述子单元并在该单元内部产生一随机点;如果随机点在三维区域的内部并且不和已得到的所有采样点冲突,则接受该采样点;否则拒绝该采样点;重复进行直至得到最大化采样点集,即空位被填充。重复进行上述步骤直到没有薄片。
具体地,移除最长边的两个顶点;收集移除顶点后造成的未被覆盖的网格单元的子单元(即碎片)。然后,采用步骤S144的方法重新填充移除顶点后留下的位置。当没有薄片存在时,优化过程结束。如图2e所示,经过二面角优化,可以很好地消除薄片。
本领域技术人员应能理解,上述消除薄片的方法仅仅是举例,其他任意现有的及今后可能出现的消除薄片的方法均在本发明的保护范围之内,并在此以引用的方式结合于此。
图5是本发明实施例的方法与其他现有方法对输入网格进行均匀四面体网格化的结果对比图。从上到下分别为:Tetgen方法,CVT方法,RODT方法,NODT方法和本发明实施例的方法。对于每一行,从左到右分别为:四面体网格化的截面图,二面角分别小于10°和18°的薄片,二面角的分布图,以及半径比的分布图。在本发明实施例中,半径比定义为其中,rin和rcir分别是四面体的内切球和外接球的半径。第二列和第三列的黑色三角形表示薄片。从图中可以看出本发明实施例的方法在均匀采样的情况下,不包含二面角小于18°的薄片,而另外四种方法存在数量不等的薄片。
图6是本发明实施例的方法与其他现有方法对输入网格进行变密度的四面体网格化的结果对比图。从上到下分别为:Tetgen方法、CVT方法、NODT方法和本发明实施例的方法。对于每一行,从左到右分别表示:输入区域的表面网格,四面体网格化的截面图,二面角小于10°和18°的薄片,二面角的分布图,半径比的分布图。第三列和第四列的黑色三角形表示薄片。从图中可以看出本发明的方法没有二面角小于10°的薄片,且与NODT方法有着相似的性能,优于Tetgen和CVT方法。
综上所述,本发明实施例的结果在动画、物理模拟、医学和生物数据分析、以及科学仿真等领域具有重要的应用价值。
本实施例中将各个步骤按照上述先后次序的方式进行了描述,本领域技术人员可以理解,为了实现本实施例的效果,不同的步骤之间不必按照这样的次序执行,其可以同时执行或执行次序颠倒,这些简单的变化都在本发明的保护范围之内。
基于与方法实施例相同的技术构思,还提供一种基于最大化泊松圆盘采样的四面体网格化系统。如图7所示,该系统70至少包括:获取模块71、体素化模块72、第一采样模块73、第一提取模块74、第二采样模块75和第二提取模块76。其中,获取模块71被配置为获取三维区域。体素化模块72被配置为对三维区域进行均匀地体素化,得到三维均匀网格。第一采样模块73被配置为在三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集。第一提取模块74被配置为根据表面采样点集,提取表面网格。第二采样模块75被配置为使用松弛方法对表面网格进行边界保护,并在三维均匀网格上进行体采样,得到体采样点集。第二提取模块76被配置为根据体采样点集,使用三维狄洛尼三角化方法或者三维正则三角化方法,提取四面体网格。
在一个可选的实施例中,第一采样模块具体包括:第一采样子模块、第二采样子模块和检测填充模块。其中,第一采样子模块被配置为对三维区域的边界表面进行特征敏感采样。第二采样子模块被配置为使用局部冲突检测方法,在三维区域的边界表面上进行点集采样。检测填充模块被配置为迭代地检测并填充三维区域的边界表面上的空隙区域,得到表面采样点集,其中,空隙区域为未被所述点集覆盖的区域。
在一个可选的实施例中,第二采样模块具体包括:松弛模块和第三采样子模块。其中,松弛模块被配置为对表面网格的表面采样点集进行松弛。第三采样子模块被配置为利用松弛后的表面采样点集,在三维均匀网格上进行体采样,得到体采样点集。
在一个可选的实施例中,体素化模块包括设定模块,设定模块被配置为设定最小采样半径;
检测填充模块具体包括:收集模块和执行模块。其中,收集模块被配置为收集三维区域的边界表面上的空隙区域。执行模块包括第一产生模块、第一确定模块和采集模块,并执行至三维区域的边界表面被所述随机点覆盖。其中,第一产生模块被配置为随机地在三维区域的边界表面上选取一三角面片,在该三角面片上产生一随机点。第一确定模块被配置为确定随机点与其设定邻域内的所有采样点的最小欧氏距离。采集模块被配置为确定最小欧氏距离大于最小采样半径时,采集随机点。
在一个可选的实施例中,松弛模块具体包括:第二产生模块、计算模块和设置模块。其中,第二产生模块被配置为在表面网格的边界上的任意两个采样点的中点插入虚拟采样点,产生一新采样点,其中,新采样点不和虚拟采样点冲突。计算模块被配置为计算表面网格的表面采样点集的限制沃罗诺伊图。设置模块被配置为在限制沃罗诺伊图的顶点处设置虚拟采样点。
需要说明的是:上述实施例提供的基于最大化泊松圆盘采样的四面体网格化系统在进行四面体网格化时,仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块来完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述系统实施例可以用于执行上述方法实施例,其技术原理、所解决的技术问题及产生的技术效果相似,所属技术领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
应指出的是,上面分别对本发明的系统实施例和方法实施例进行了描述,但是对一个实施例描述的细节也可应用于另一个实施例。对于本发明实施例中涉及的模块、步骤的名称,仅仅是为了区分各个模块或者步骤,不视为对本发明的不当限定。本领域技术人员应该理解:本发明实施例中的模块或者步骤还可以再分解或者组合。例如上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
以上对本发明实施例所提供的技术方案进行了详细的介绍。虽然本文应用了具体的个例对本发明的原理和实施方式进行了阐述,但是,上述实施例的说明仅适用于帮助理解本发明实施例的原理;同时,对于本领域技术人员来说,依据本发明实施例,在具体实施方式以及应用范围之内均会做出改变。
需要说明的是:附图中的标记和文字只是为了更清楚地说明本发明,不视为对本发明保护范围的不当限定。
术语“包括”、“包含”或者任何其它类似用语旨在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备/装置不仅包括那些要素,而且还包括没有明确列出的其它要素,或者还包括这些过程、方法、物品或者设备/装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备/装置中还存在另外的要素,即“包括一个”的意思还涵盖“包括另一个”的意思。
本发明的各个步骤可以用通用的计算装置来实现,例如,它们可以集中在单个的计算装置上,例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备或者多处理器装置,也可以分布在多个计算装置所组成的网络上,它们可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。因此,本发明不限于任何特定的硬件和软件或者其结合。
本发明提供的方法可以使用可编程逻辑器件来实现,也可以实施为计算机程序软件或程序模块(其包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件或数据结构等等),例如根据本发明的实施例可以是一种计算机程序产品,运行该计算机程序产品使计算机执行用于所示范的方法。所述计算机程序产品包括计算机可读存储介质,该介质上包含计算机程序逻辑或代码部分,用于实现所述方法。所述计算机可读存储介质可以是被安装在计算机中的内置介质或者可以从计算机主体上拆卸下来的可移动介质(例如:采用热插拔技术的存储设备)。所述内置介质包括但不限于可重写的非易失性存储器,例如:RAM、ROM、快闪存储器和硬盘。所述可移动介质包括但不限于:光存储介质(例如:CD-ROM和DVD)、磁光存储介质(例如:MO)、磁存储介质(例如:磁带或移动硬盘)、具有内置的可重写非易失性存储器的媒体(例如:存储卡)和具有内置ROM的媒体(例如:ROM盒)。
本发明并不限于上述实施方式,在不背离本发明实质内容的情况下,本领域普通技术人员可以想到的任何变形、改进或替换均落入本发明的范围。
尽管上文已经示出、描述和指出了适用于各种实施方式的本发明的基本新颖特征的详细描述,但是将会理解,在不脱离本发明意图的情况下,本领域技术人员可以对系统的形式和细节进行各种省略、替换和改变。
Claims (10)
1.一种基于最大化泊松圆盘采样的四面体网格化方法,其特征在于,所述方法至少包括:
获取三维区域;
对所述三维区域进行均匀地体素化,得到三维均匀网格;
在所述三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集;
根据所述表面采样点集,提取表面网格;
使用松弛方法对所述表面网格进行边界保护,并在所述三维均匀网格上进行体采样,得到体采样点集;
根据所述体采样点集,使用三维狄洛尼三角化方法或者三维正则三角化方法,提取四面体网格。
2.根据权利要求1所述的方法,其特征在于,所述在所述三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集,具体包括:
对所述三维区域的边界表面进行特征敏感采样;
使用局部冲突检测方法,在所述三维区域的边界表面上进行点集采样;
迭代地检测并填充所述三维区域的边界表面上的空隙区域,得到所述表面采样点集,其中,所述空隙区域为未被所述点集覆盖的区域。
3.根据权利要求2所述的方法,所述三维区域的边界表面包括特征敏感元素,所述特征敏感元素包括特征顶点和尖锐边;
其特征在于,所述对所述三维区域的边界表面进行特征敏感采样,具体包括:
将所述特征顶点添加到采样点集中;
在由所述尖锐边构成的特征线上,进行一维的最大化泊松圆盘采样。
4.根据权利要求2所述的方法,所述对所述三维区域进行均匀地体素化包括设定最小采样半径;
其特征在于,所述使用局部冲突检测方法,在所述三维区域的边界表面上进行点集采样,具体包括:
随机地在所述三维区域的边界表面上选取一三角面片,在该三角面片上产生一随机点;
确定所述随机点与其设定邻域内的所有采样点的最小欧氏距离;
确定所述最小欧氏距离大于所述最小采样半径时,采集所述随机点。
5.根据权利要求4所述的方法,其特征在于,针对变密度四面体网格化;
其特征在于,所述设定邻域为的网格单元,其中,rp为所述随机点的采样半径;表示向上取整;rmin为所述随机点的最小采样半径。
6.根据权利要求1所述的方法,其特征在于,在所述提取表面网格之后还包括:
对所述表面网格的顶点度数、角度和边长进行优化,直至所述顶点度数为5、6或者7,所述角度大于等于30°,所述边长小于等于其中,r1,r2分别为所述表面网格某一条边的两个顶点的采样半径。
7.根据权利要求1所述的方法,其特征在于,所述使用松弛方法对所述表面网格进行边界保护,并在所述三维均匀网格上进行体采样,得到体采样点集,具体包括:
对所述表面网格的表面采样点集进行松弛;
利用所述松弛后的表面采样点集,在三维均匀网格上进行体采样,得到所述体采样点集。
8.根据权利要求7所述的方法,其特征在于,所述对所述表面网格的表面采样点集进行松弛,具体包括:
计算所述表面网格的表面采样点集的限制沃罗诺伊图;
在所述限制沃罗诺伊图的顶点处设置虚拟采样点。
9.根据权利要求1所述的方法,其特征在于,在所述提取所述四面体网格之后还包括:
移除所述四面体网格上最长边的两个顶点,形成空位;
收集移除顶点后造成的边界网格单元和内部网格单元未被采样点集覆盖的子单元;
选择一随机且有效的所述子单元并在该单元内部产生一随机点;如果所述随机点在所述三维区域的内部并且不和已得到的所有采样点冲突,则接受该采样点;否则拒绝该采样点;
重复进行所述收集步骤和选择步骤,直到得到最大化采样点集;
重复上述步骤,直到没有薄片存在。
10.一种基于最大化泊松圆盘采样的四面体网格化系统,其特征在于,所述系统至少包括:
获取模块,被配置为获取三维区域;
体素化模块,被配置为对所述三维区域进行均匀地体素化,得到三维均匀网格;
第一采样模块,被配置为在所述三维区域的边界表面,进行最大化泊松圆盘采样,获得表面采样点集;
第一提取模块,被配置为根据所述表面采样点集,提取表面网格;
第二采样模块,被配置为使用松弛方法对所述表面网格进行边界保护,并在所述三维均匀网格上进行体采样,得到体采样点集;
第二提取模块,被配置为根据所述体采样点集,使用三维狄洛尼三角化方法或者三维正则三角化方法,提取四面体网格。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610031891.6A CN105719349B (zh) | 2016-01-19 | 2016-01-19 | 基于最大化泊松圆盘采样的四面体网格化方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610031891.6A CN105719349B (zh) | 2016-01-19 | 2016-01-19 | 基于最大化泊松圆盘采样的四面体网格化方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105719349A CN105719349A (zh) | 2016-06-29 |
CN105719349B true CN105719349B (zh) | 2018-07-31 |
Family
ID=56147183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610031891.6A Active CN105719349B (zh) | 2016-01-19 | 2016-01-19 | 基于最大化泊松圆盘采样的四面体网格化方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105719349B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6790526B2 (ja) * | 2016-07-08 | 2020-11-25 | 富士通株式会社 | ファセット化処理プログラム、ファセット抽出プログラム、ファセット化処理方法、ファセット抽出方法および情報処理装置 |
CN106204742B (zh) * | 2016-07-18 | 2019-03-08 | 中国科学院自动化研究所 | 固定点数的二维等半径最大化泊松圆盘采样方法及系统 |
CN111368467B (zh) * | 2020-02-20 | 2022-03-11 | 中国原子能科学研究院 | 一种基于step和geo格式的数据交换方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103839292A (zh) * | 2014-03-06 | 2014-06-04 | 中国科学院自动化研究所 | 对等值面进行采样并生成高质量三角网格的方法 |
CN103942836A (zh) * | 2014-04-25 | 2014-07-23 | 杭州梅德珥智能科技有限公司 | 三维网格模型四面体化方法 |
CN104063903A (zh) * | 2014-07-08 | 2014-09-24 | 清华大学 | 三维实体模型的四面体网格生成方法和装置 |
CN104240299A (zh) * | 2014-08-29 | 2014-12-24 | 中国科学院自动化研究所 | 基于最大化泊松圆盘采样的重新网格化方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4714444B2 (ja) * | 2004-08-31 | 2011-06-29 | 国立大学法人北海道大学 | 四面体メッシュ生成方法およびプログラム |
-
2016
- 2016-01-19 CN CN201610031891.6A patent/CN105719349B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103839292A (zh) * | 2014-03-06 | 2014-06-04 | 中国科学院自动化研究所 | 对等值面进行采样并生成高质量三角网格的方法 |
CN103942836A (zh) * | 2014-04-25 | 2014-07-23 | 杭州梅德珥智能科技有限公司 | 三维网格模型四面体化方法 |
CN104063903A (zh) * | 2014-07-08 | 2014-09-24 | 清华大学 | 三维实体模型的四面体网格生成方法和装置 |
CN104240299A (zh) * | 2014-08-29 | 2014-12-24 | 中国科学院自动化研究所 | 基于最大化泊松圆盘采样的重新网格化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105719349A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Koch et al. | Abc: A big cad model dataset for geometric deep learning | |
Yu et al. | Pu-net: Point cloud upsampling network | |
Xu et al. | An information-theoretic framework for flow visualization | |
Jacobson et al. | Robust inside-outside segmentation using generalized winding numbers | |
Yu et al. | Hierarchical streamline bundles | |
Lawrence et al. | Inverse shade trees for non-parametric material representation and editing | |
CN111382777B (zh) | 从网格中提取特征树 | |
CN103839292B (zh) | 对等值面进行采样并生成高质量三角网格的方法 | |
CN105719349B (zh) | 基于最大化泊松圆盘采样的四面体网格化方法和系统 | |
Yan et al. | Blue‐Noise Remeshing with Farthest Point Optimization | |
Zhang et al. | Data-driven upsampling of point clouds | |
US8970593B2 (en) | Visualization and representation of data clusters and relations | |
CN103942571A (zh) | 一种基于遗传规划算法的图形图像分类方法 | |
Papagiannopoulos et al. | How to teach neural networks to mesh: Application on 2-D simplicial contours | |
Barakat et al. | Adaptive refinement of the flow map using sparse samples | |
Zhang et al. | Resolving topology ambiguity for multiple-material domains | |
Abdollahifard et al. | Efficient training image selection for multiple-point geostatistics via analysis of contours | |
CN104680190B (zh) | 目标检测方法及装置 | |
Liebscher | Stochastic modelling of foams | |
Lobello et al. | Out-of-core adaptive iso-surface extraction from binary volume data | |
Fayolle et al. | Segmentation of discrete point clouds using an extensible set of templates | |
Gillmann et al. | Accurate and reliable extraction of surfaces from image data using a multi-dimensional uncertainty model | |
Cox et al. | Topological zone organization of scalar volume data | |
Ebeida et al. | Sifted disks | |
Brazil et al. | Shape and tone depiction for implicit surfaces |
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 |