CN115690361B - 快速鲁棒的自由曲面三角剖分方法及装置 - Google Patents
快速鲁棒的自由曲面三角剖分方法及装置 Download PDFInfo
- Publication number
- CN115690361B CN115690361B CN202211397111.1A CN202211397111A CN115690361B CN 115690361 B CN115690361 B CN 115690361B CN 202211397111 A CN202211397111 A CN 202211397111A CN 115690361 B CN115690361 B CN 115690361B
- Authority
- CN
- China
- Prior art keywords
- point
- leading edge
- points
- curved surface
- ideal
- 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
- 238000000034 method Methods 0.000 title claims abstract description 147
- 238000013507 mapping Methods 0.000 claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 11
- 238000005457 optimization Methods 0.000 claims abstract description 7
- 239000006185 dispersion Substances 0.000 claims description 14
- 238000012216 screening Methods 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 12
- 230000001133 acceleration Effects 0.000 claims description 7
- 238000012804 iterative process Methods 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 6
- 238000010276 construction Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 9
- 230000006872 improvement Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 238000004088 simulation Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012530 fluid Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T90/00—Enabling technologies or technologies with a potential or indirect contribution to GHG emissions mitigation
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种快速鲁棒的自由曲面三角剖分方法,在基于前沿推进的网格生成过程中,得到当前前沿边对应理想点的初始值,使用牛顿迭代法进行理想点的迭代求解,得到理想点后在物理空间中搜索距离理想点近的前沿点,构建候选点,形成三角形。本发明方法基于经典的前沿推进方法为主体,对曲面的正交投影技术、理想点计算技术、空间几何对象搜索方法以及并行技术提出了整套针对时间性能的优化改进技术方案;该方法强调充分利用映射法与直接法的优势,并采用自适应的方法对正交投影方法与理想点的计算进行加速;通过在参数空间和物理空间分别引入空间分解数据结构保证方法的可扩展性;能够快速完成复杂CAD模型的大规模高质量曲面网格生成。
Description
技术领域
本申请涉及曲面网格生成技术领域,尤其涉及一种快速鲁棒的自由曲面三角剖分方法及装置。
背景技术
现如今,大规模的网格生成在各个领域的数值分析中的应用已经逐渐成为一种趋势。据报道,在过去的二三十年内,汽车碰撞FEM模拟领域中,计算所需网格的规模增长了200倍;而在计算流体力学领域,考虑湍流模型的全机数值模拟仿真中,需要在物理特征与几何特征处布置足够精细的网格,以减少模型误差,其所需的网格规模将达到数十亿及以上;而在全机电磁仿真时,模拟所需的网格规模与电磁波的频率成正比,有些问题亦需要数十亿规模的网格才能得到足够精确的求解。
而在网格生成流水线中,参数曲面网格生成又是其重要组成部分。一方面,它的输入是各种构型的CAD模型,而输出是体网格的边界条件,起到了衔接模型与模拟的作用。另一方面,对于复杂几何模型的大规模网格生成,目前依然需要工程师进行大量的人工交互与并不断进行试错,高效、可扩展的曲面网格生成方法可以为设计人员提供快速的反馈过程与良好的软件使用体验,从而大幅度缩减数值分析所需的时间。
一般来说,曲面网格生成的主流方法主要有两类,一类被称为映射法,另一类被称为直接法。
映射法的主要思路是首先在曲面的参数空间中生成网格,然后投影回物理空间来得到最终的曲面网格,映射法可以基于德劳内三角化,也可以基于前沿推进法,也可以基于前沿推进-德劳内的耦合思想实现。由于相关的几何计算都在二维参数空间中进行,该方法相对来说鲁棒而高效。然而,纯粹在二维参数空间生成的网格在映射回物理空间后往往无法保持良好形状,而且映射的方式也往往因为凭经验指定而难以保证网格质量。
相比之下,直接法通过在物理空间中计算曲面的法向与切向,并通过投影操作来保证单元的质量,当曲面的参数表达比较困难,使用映射法难以消除映射畸变时,直接法生成的网格质量相比之下往往更高,更能贴合原始几何。不过,直接法以曲面的三维形状作为参考,涉及三维几何计算,难以保证方法的鲁棒性和效率。
发明内容
鉴于此,本申请实施例提供一种快速鲁棒的自由曲面三角剖分方法及装置。
根据本申请实施例的第一方面,提供一种快速鲁棒的自由曲面三角剖分方法,包括:
S1:对CAD模型中的曲面进行边界离散,得到边界离散点,将所述边界离散点从物理空间投影到参数空间,在所述参数空间中构建当前前沿边队列;
S2:从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,并基于映射法获得理想点初始值,判断该初始值是否满足三角形网格质量标准,若不满足则采用直接法在物理空间中计算出理想点,而后将理想点从物理空间投影到参数空间;
S3:获得理想点初始值后,采用牛顿迭代的思想求解非线性方程组,得到理想点,最终得到理想点和当前前沿边构成的等腰三角形,其中所述非线性方程组如下:
其中,r(u,v)为迭代过程中的理想点,r1,r2分别为当前前沿边在三维空间中的两个端点,rm为当前前沿边在三维空间中的中点,h为用户指定的尺寸值,也就是等腰三角形的腰长;
S4:以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,对候选点队列中的候选点进行逐点有效性判断,其中有效性判断包括:首先,将包含在球内的前沿点放入候选点队列中,并按照到理想点的距离由近及远排序;其次,将理想点放入队尾;最后,对于当前前沿边,遍历候选点队列,逐个对候选点与当前前沿边所构成的三角形进行有效性判断,若有效,则成功生成一个三角形;
S5:重复S2到S4,直到完成整张CAD曲面的三角剖分。
可选的,在构建当前前沿边队列时采用以最短边优先为第一优先级,以最老边优先为第二优先级。
可选的,从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,包括:
记参数空间到物理空间之间的映射为φ,物理空间到参数空间之间的映射为Φ,对于当前前沿边,计算其参数空间的中点
将这个中点映射到物理空间,得到并与其在物理空间中点/>对比,如果两者的距离小于预设的容差,则认为参数空间前沿边中点的物理坐标与物理空间前沿边中点接近,作为初始估计的起点,否则,则需要将前沿边在物理空间的中点/>投影到参数空间,得到/>以此作为初始估计的起点。
可选的,基于映射法获得理想点初始值,包括:
获取起点处的黎曼度量Msurf,对该黎曼度量做矩阵分解,
根据矩阵分解得到的雅各比矩阵Jsurf,将边矢量a变换到黎曼空间中,得到Jsurfa,a为当前前沿边在参数空间中的边矢量;
将Jsurfa乘以旋转矩阵R,在黎曼空间中旋转90°得到向量N2n=RJsurfa;
将向量N2n=RJsurfa乘以雅各比矩阵的逆,变换回参数空间,得到
以中点为起点,向N2d方向延伸当前前沿边在参数空间中的长度,得到理想点初始值
可选的,以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,包括:
根据搜索半径构建的球来建立其AABB包围盒;
利用八叉树定位包围盒内的前沿点,再判断哪些点位于球内,完成候选点队列的构建;
当候选点队列中所有点都无法通过有效性判断时,通过引入一个大于1的搜索松弛因子来乘以搜索半径,以此适当扩大搜索范围,重新构建候选点队列,若依然没有找到候选点通过有效性判断,则继续根据松弛因子扩大搜索球的半径,直到找到有效节点为止。
可选的,逐个对候选点与当前前沿边所构成的三角形进行有效性判断时,将这一过程放在参数空间中进行,并在参数空间中根据当前的前沿边集合构建AD树,通过AD树首先筛选出与候选单元的包围盒相交的前沿边,再进一步判断这些前沿边与候选单元是否相交。
可选的,将理想点从物理空间投影到参数空间,包括:
当曲面上的二阶导数信息有效时,采用曲率球投影法(GSA法),通过计算曲面上迭代点的法曲率球来近似拟合曲面,并将点投影到法曲率球上来更新迭代点的参数值;当曲面上的二阶导数信息失效时,利用一阶导数信息,采用切平面法,通过计算曲面上迭代点的切平面来近似拟合曲面,并将点投影到切平面上来更新迭代点的参数值;
在曲面奇异点附近,无法求导时,采用细分投影法,通过将曲面的参数域不断细分为小的四边形块,每一步都取距离待投影点最近的四边形并不断迭代至满足投影误差条件,直到找到最终投影点。
可选的,对于包含多条曲线和多张曲面的CAD模型,采用基于任务图分解的方式进行曲面网格生成的多核并行加速,利用taskflow技术加速整个模型的并行曲面网格生成的过程。
可选的,还包括:
S6:在网格生成完毕后,通过网格优化算子提升网格质量。
根据本申请实施例的第二方面,提供一种快速鲁棒的自由曲面三角剖分装置,包括:
边界曲线离散模块,用于对CAD模型中的曲面进行边界离散,得到边界离散点,将所述边界离散点从物理空间投影到参数空间,在所述参数空间中构建当前前沿边队列;
理想点初始计算模块,用于从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,并基于映射法获得理想点初始值,判断该初始值是否满足三角形网格质量标准,若不满足则采用直接法在物理空间中计算出理想点,而后投影到参数空间;
理想点迭代计算模块,用于获得理想点初始值后,采用牛顿迭代的思想求解非线性方程组,得到理想点,最终得到理想点和当前前沿边构成的等腰三角形,其中所述非线性方程组如下:
其中,r(u,v)为迭代过程中的理想点,r1,r2分别为当前前沿边在三维空间中的两个端点,rm为当前前沿边在三维空间中的中点,h为用户指定的尺寸值,也就是等腰三角形的腰长;
几何筛选与相交检测模块,用于以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,对候选点队列中的候选点进行逐点有效性判断,其中有效性判断包括:首先,将包含在球内的前沿点放入候选点队列中,并按照到理想点的距离由近及远排序;其次,将理想点放入队尾;最后,对于当前前沿边,遍历候选点队列,逐个对候选点与当前前沿边所构成的三角形进行有效性判断,若有效,则成功生成一个三角形;
流程循环模块,用于重复理想点初始计算模块到几何筛选与相交检测模块,直到完成整张CAD曲面的三角剖分。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请的理想点计算方法与高效的投影算法,该方法在处理复杂形状的参数曲面网格时依然能够保持高效率以及高质量的网格生成。以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,对候选点队列中的候选点进行逐点有效性判断,该方法在处理单张面数十万乃至上百万量级的曲面网格生成时,能够保证非常高的可扩展性,网格生成的效率不会因为网格规模的增长而受到显著的影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种快速鲁棒的自由曲面三角剖分方法的流程图。
图2是根据一示例性实施例示出的曲面网格生成流程框图。
图3是根据一示例性实施例示出的曲面网格生成过程中的理想点计算示意图。
图4是根据一示例性实施例示出的由物理空间到参数空间的转换示意图。
图5是根据一示例性实施例示出的由参数空间到黎曼空间的转换示意图。
图6是根据一示例性实施例示出的八叉树加速点集查询的示意图。
图7是根据一示例性实施例示出的AD树加速前沿边相交检测的示意图。
图8是根据一示例性实施例示出的曲面正交投影示意图。
图9是根据一示例性实施例示出的投影方法可视化示意图。
图10是根据一示例性实施例示出的投影方法流程图。
图11是根据一示例性实施例示出的基于taskflow的曲面网格并行过程的示意图。
图12是根据一示例性实施例示出的一种快速鲁棒的自由曲面三角剖分装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
图1是根据一示例性实施例示出的一种快速鲁棒的自由曲面三角剖分方法的流程图,如图1所示,该方法可以包括以下步骤:
S1:对CAD模型中的曲面进行边界离散,得到边界离散点,将所述边界离散点从物理空间投影到参数空间,在所述参数空间中构建当前前沿边队列;
S2:从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,并基于映射法获得理想点初始值,判断该初始值是否满足三角形网格质量标准,若不满足则采用直接法在物理空间中计算出理想点,而后将理想点从物理空间投影到参数空间;
S3:获得理想点初始值后,采用牛顿迭代的思想求解非线性方程组,得到理想点,最终得到理想点和当前前沿边构成的等腰三角形,其中所述非线性方程组如下:
其中,r(u,v)为迭代过程中的理想点,r1,r2分别为当前前沿边在三维空间中的两个端点,rm为当前前沿边在三维空间中的中点,h为用户指定的尺寸值,也就是等腰三角形的腰长;
S4:以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,对候选点队列中的候选点进行逐点有效性判断,其中有效性判断包括:首先,将包含在球内的前沿点放入候选点队列中,并按照到理想点的距离由近及远排序;其次,将理想点放入队尾;最后,对于当前前沿边,遍历候选点队列,逐个对候选点与当前前沿边所构成的三角形进行有效性判断,若有效,则成功生成一个三角形;
S5:重复S2到S4,直到完成整张CAD曲面的三角剖分。
由上述实施例可知,本申请的理想点计算方法与高效的投影算法,该方法在处理复杂形状的参数曲面网格时依然能够保持高效率以及高质量的网格生成。以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,对候选点队列中的候选点进行逐点有效性判断,该方法在处理单张面数十万乃至上百万量级的曲面网格生成时,能够保证非常高的可扩展性,网格生成的效率不会因为网格规模的增长而受到显著的影响。
在S1的具体实施中:对CAD模型中的曲面进行边界离散,得到边界离散点,将所述边界离散点从物理空间投影到参数空间,在所述参数空间中构建当前前沿边队列;
具体地,参考图2,对单张曲面做网格生成时,首先对曲面进行边界离散,并将边界离散点投影到参数空间。随后,在参数空间中以最短边优先和最老边优先结合的优先级构建当前前沿边队列,具体的以最短边优先为第一优先级,以最老边优先为第二优先级。
在S2的具体实施中:从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,并基于映射法获得理想点初始值,判断该初始值是否满足三角形网格质量标准,若不满足则采用直接法在物理空间中计算出理想点,而后将理想点从物理空间投影到参数空间;
具体地,从前沿边队列中选取当前前沿边(优先级最高的一条边),确定初始估计的起点,计算理想点初始值从而计算理想点(如图3所示)。
由于将曲面从物理空间投影到参数空间会发生扭曲(如图4)从而导致直接在参数空间中进行的计算可能不可靠,因此,在参数空间中对于起点的选择是否可靠需进行判断,作为一个实施例,但并不限制本发明范围。
其中从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,可以包括:
(1)记参数空间到物理空间之间的映射为φ,物理空间到参数空间之间的映射为Φ,对于当前前沿边,计算其参数空间的中点
(2)将这个中点映射到物理空间,得到并与其在物理空间中点/>对比,如果两者的距离小于预设的容差,则认为参数空间前沿边中点的物理坐标与物理空间前沿边中点接近,作为初始估计的起点,否则,则需要将前沿边在物理空间的中点/>投影到参数空间,得到/>以此作为初始估计的起点。
具体地,本发明在参数空间中进行计算,求得一个相对精确的前沿边中点。对于当前的前沿边,我们计算其参数空间的中点,将这个中点投影回物理空间,并与物理空间中点对比,如果两者的距离小于某个容差,通常该容差可取当前前沿边长度的1/100,则认为参数空间前沿边中点的物理坐标与物理空间前沿边中点接近,可以作为初始估计的起点。否则,则需要求出前沿边在物理空间的中点,将其反投影回参数空间,作为起点。
在获取准确的起点后,接下来在参数空间中以映射法的思想计算初始值,通过黎曼度量来消除参数空间和物理空间之间的畸变(如图5)。首先,记当前前沿边在参数空间中的边矢量为a,现将该矢量绕当前前沿边中点旋转θ角,使对应的物理空间中转过的角度为90°。其计算过程为具体可以包括以下步骤获得:
(1)获取起点处的黎曼度量Msurf,对该黎曼度量做矩阵分解,
(2)根据矩阵分解得到的雅各比矩阵Jsurf,将边矢量a变换到黎曼空间中,得到Jsurfa,a为当前前沿边在参数空间中的边矢量;
(3)将Jsurfa乘以旋转矩阵R,在黎曼空间中旋转90°得到向量N2n=RJsurfa;
(4)将向量N2n=RJsurfa乘以雅各比矩阵的逆,变换回参数空间,得到
(5)以中点为起点,向N2d方向延伸当前前沿边在参数空间中的长度,得到理想点初始值
其中,将理想点从物理空间投影到参数空间,可以包括:
(1)当曲面上的二阶导数信息有效时,采用曲率球投影法(GSA法),通过计算曲面上迭代点的法曲率球来近似拟合曲面,并将点投影到法曲率球上来更新迭代点的参数值;当曲面上的二阶导数信息失效时,利用一阶导数信息,采用切平面法,通过计算曲面上迭代点的切平面来近似拟合曲面,并将点投影到切平面上来更新迭代点的参数值;
(2)在曲面奇异点附近,无法求导时,采用细分投影法,通过将曲面的参数域不断细分为小的四边形块,每一步都取距离待投影点最近的四边形并不断迭代至满足投影误差条件,直到找到最终投影点。
如果按照三角形网格质量标准,当前初始值和当前前沿边在三维物理空间中构成的初始三角形的质量较差,则采用直接法的思想在物理空间中计算出理想单元点,而后投影到参数空间。
在本发明方法中,为了加速整个网格生成过程中的曲面正交投影方法,本发明采用以下方案进行投影:
1)对于边界离散点的投影,本方法采用Brent法和细分投影方法的结合法,首先采用Brent法,当Brent方法失效后,再采用更为鲁棒的细分投影方法。
2)对于非边界离散点的投影,当曲面上的二阶导数信息有效时,该方法采用曲率球投影方法(GSA方法),通过计算曲面上迭代点的法曲率球来近似拟合曲面,并将点投影到法曲率球上来更新迭代点的参数值。
3)当曲面上的二阶导数信息失效时,该方法利用一阶导数信息,采用切平面法,通过计算曲面上迭代点的切平面来近似拟合曲面,并将点投影到切平面上来更新迭代点的参数值。
4)由于CAD曲面通常存在奇异点,在奇异点附近求导时会导致导数信息不准确,在这种情况下,该方法采用细分投影方法,该方法法通过将曲面的参数域不断细分为小的四边形块,每一步都取距离待投影点最近的四边形并不断迭代至满足投影误差条件。
作为一个实施例,但并不限制本发明范围,图8所示为本方法中采用的正交投影算法的示意图。该方法接收空间中的一个待投影点和一个曲面上的初始值点,不断迭代后得到待投影点在曲面上的最近点,其迭代轨迹如图所示。
作为一个实施例,但并不限制本发明范围,图9所示为本方法所采用的具体的投影方法的可视化示意图,从左到右依次为:曲率球方法,切平面法和曲面细分法。
作为一个实施例,但并不限制本发明范围,图10所示为本方法所采用的正交投影算法的整体流程图,对于边界离散点的投影,本方法采用Brent法和细分投影法的结合法,对于非边界点的投影,本方法采用曲率球方法,切平面法和曲面细分法的结合法。
在S3的具体实施中:获得理想点初始值后,采用牛顿迭代的思想求解非线性方程组,得到理想点,最终得到理想点和当前前沿边构成的等腰三角形,其中所述非线性方程组如下:
其中,r(u,v)为迭代过程中的理想点,r1,r2分别为当前前沿边在三维空间中的两个端点,rm为当前前沿边在三维空间中的中点,h为用户指定的尺寸值,也就是等腰三角形的腰长。
在S4的具体实施中:以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,对候选点队列中的候选点进行逐点有效性判断,其中有效性判断包括:首先,将包含在球内的前沿点放入候选点队列中,并按照到理想点的距离由近及远排序;其次,将理想点放入队尾;最后,对于当前前沿边,遍历候选点队列,逐个对候选点与当前前沿边所构成的三角形进行有效性判断,若有效,则成功生成一个三角形;
具体地,当理想点计算完毕后,需要以当前理想点为球心,在物理空间中搜索距离理想点近的前沿点,构建候选点队列。
其中,以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,可以包括:
(1)根据搜索半径构建的球来建立其AABB包围盒;
(2)利用八叉树定位包围盒内的前沿点,如图5所示,再判断哪些点位于球内,完成候选点队列的构建;
(3)当候选点队列中所有点都无法通过有效性判断时,通过引入一个大于1的搜索松弛因子来乘以搜索半径,以此适当扩大搜索范围,重新构建候选点队列,若依然没有找到候选点通过有效性判断,则继续根据松弛因子扩大搜索球的半径,直到找到有效节点为止。
判断候选点与当前前沿边构成的候选单元是否有效的时候,需要满足候选单元与当前的所有前沿边都不相交,而且为了保证求交的快速与稳定,作为一个实施例,但并不限制本发明范围,如图7所示,本方法在参数空间中根据当前的前沿边集合构建AD树,以该方法来避免当前候选单元与所有的前沿边进行求交运算,从而提升网格剖分的效率。
在S5的具体实施中:重复S2到S4,直到完成整张CAD曲面的三角剖分。
本申请的方法还可包括:S6:在网格生成完毕后,通过网格优化算子提升网格质量。
具体地,网格生成完毕后,通过引入一系列网格优化算子来提升网格质量,这些优化算子包括对角交换,拉普拉斯光滑化,长边分解,短边合并。
对于包含多条曲线和多张曲面的CAD模型,采用基于任务图分解的方式进行曲面网格生成的多核并行加速,利用taskflow技术加速整个模型的并行曲面网格生成的过程。
此外,如前所述,本发明在对CAD模型进行网格生成时,采用基于任务图分解的方式进行曲面网格生成的多核并行加速,利用taskflow技术加速整个模型的并行曲面网格生成的过程。图11所示为本方法采用的并行策略对一个几何模型的实施过程,taskflow根据几何模型的拓扑结构动态生成任务依赖图,并在多核上采用自适应工作调度方案执行任务依赖图。一旦与曲面相关的所有曲线都被离散化,曲面的离散化过程将立即开始。曲线平行离散化与曲面平行离散化之间没有障碍。整个过程是动态调度的,具有较高的灵活性。
本发明方法基于经典的前沿推进方法为主体,对曲面的正交投影技术、理想点计算技术、空间几何对象搜索方法以及并行技术提出了整套针对时间性能的优化改进技术方案;该方法强调充分利用映射法与直接法的优势,并采用自适应的设计思想,对正交投影方法与理想点的计算进行加速;通过在参数空间和物理空间分别引入空间分解数据结构保证方法的可扩展性;能够快速完成复杂CAD模型的大规模高质量曲面网格生成。
与前述的快速鲁棒的自由曲面三角剖分方法的实施例相对应,本申请还提供了快速鲁棒的自由曲面三角剖分装置的实施例。
图12是根据一示例性实施例示出的一种快速鲁棒的自由曲面三角剖分装置框图。参照图12,该装置包括:
边界曲线离散模块21,用于对CAD模型中的曲面进行边界离散,得到边界离散点,将所述边界离散点从物理空间投影到参数空间,在所述参数空间中构建当前前沿边队列;
理想点初始计算模块22,用于从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,并基于映射法获得理想点初始值,判断该初始值是否满足三角形网格质量标准,若不满足则采用直接法在物理空间中计算出理想点,而后投影到参数空间;
理想点迭代计算模块23,用于获得理想点初始值后,采用牛顿迭代的思想求解非线性方程组,得到理想点,最终得到理想点和当前前沿边构成的等腰三角形,其中所述非线性方程组如下:
其中,r(u,v)为迭代过程中的理想点,r1,r2分别为当前前沿边在三维空间中的两个端点,rm为当前前沿边在三维空间中的中点,h为用户指定的尺寸值,也就是等腰三角形的腰长;
几何筛选与相交检测模块24,用于以理想点为球心作一个球,筛选当前前沿点,将包含在球内的前沿点按照到理想点的距离由近及远排列后放入候选点队列中,最后将理想点放入队尾,对于当前前沿边,遍历候选点队列,逐个对候选点与当前前沿边所构成的三角形进行有效性判断,若有效,则成功生成一个三角形;
流程循环模块25,用于重复理想点初始计算模块到几何筛选与相交检测模块,直到完成整张CAD曲面的三角剖分。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的快速鲁棒的自由曲面三角剖分方法。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的快速鲁棒的自由曲面三角剖分方法。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (8)
1.一种快速鲁棒的CAD模型自由曲面三角剖分方法,其特征在于,包括:
S1:对CAD模型中的曲面进行边界离散,得到边界离散点,将所述边界离散点从物理空间投影到参数空间,在所述参数空间中构建当前前沿边队列;
S2:从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,并基于映射法获得理想点初始值,判断该初始值是否满足三角形网格质量标准,若不满足则采用直接法在物理空间中计算出理想点,而后将理想点从物理空间投影到参数空间,包括:
当曲面上的二阶导数信息有效时,采用曲率球投影法,通过计算曲面上迭代点的法曲率球来近似拟合曲面,并将点投影到法曲率球上来更新迭代点的参数值;当曲面上的二阶导数信息失效时,利用一阶导数信息,采用切平面法,通过计算曲面上迭代点的切平面来近似拟合曲面,并将点投影到切平面上来更新迭代点的参数值;
在曲面奇异点附近,无法求导时,采用细分投影法,通过将曲面的参数域不断细分为小的四边形块,每一步都取距离待投影点最近的四边形并不断迭代至满足投影误差条件,直到找到最终投影点;
S3:获得理想点初始值后,采用牛顿迭代的思想求解非线性方程组,得到理想点,最终得到理想点和当前前沿边构成的等腰三角形,其中所述非线性方程组如下:
其中,r(u,v)为迭代过程中的理想点,r1,r2分别为当前前沿边在三维空间中的两个端点,rm为当前前沿边在三维空间中的中点,h为用户指定的尺寸值,也就是等腰三角形的腰长;
S4:以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,对候选点队列中的候选点进行逐点有效性判断,其中有效性判断包括:首先,将包含在球内的前沿点放入候选点队列中,并按照到理想点的距离由近及远排序;其次,将理想点放入队尾;最后,对于当前前沿边,遍历候选点队列,逐个对候选点与当前前沿边所构成的三角形进行有效性判断,若有效,则成功生成一个三角形;
S5:重复S2到S4,直到完成整张CAD曲面的三角剖分,完成CAD模型对应的网格生成;
对于包含多条曲线和多张曲面的CAD模型,采用基于任务图分解的方式进行曲面网格生成的多核并行加速,利用taskflow方法加速整个模型的并行曲面网格生成的过程,taskflow方法根据几何模型的拓扑结构动态生成任务依赖图,并在多核上采用自适应工作调度方案执行任务依赖图。
2.根据权利要求1所述的快速鲁棒的CAD模型自由曲面三角剖分方法,其特征在于,在构建当前前沿边队列时采用以最短边优先为第一优先级,以最老边优先为第二优先级。
3.根据权利要求1所述的快速鲁棒的CAD模型自由曲面三角剖分方法,其特征在于,从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,包括:
记参数空间到物理空间之间的映射为φ,物理空间到参数空间之间的映射为Φ,对于当前前沿边,计算其参数空间的中点
将这个中点映射到物理空间,得到并与其在物理空间中点/>对比,如果两者的距离小于预设的容差,则认为参数空间前沿边中点的物理坐标与物理空间前沿边中点接近,作为初始估计的起点,否则,则需要将前沿边在物理空间的中点/>投影到参数空间,得到/>以此作为初始估计的起点。
4.根据权利要求1所述的快速鲁棒的CAD模型自由曲面三角剖分方法,其特征在于,基于映射法获得理想点初始值,包括:
获取起点处的黎曼度量Msurf,对该黎曼度量做矩阵分解,Msurf=JT surfJsurf;
根据矩阵分解得到的雅各比矩阵Jsurf,将边矢量a变换到黎曼空间中,得到Jsurfa,a为当前前沿边在参数空间中的边矢量;
将Jsurfa乘以旋转矩阵R,在黎曼空间中旋转90°得到向量N2n=RJsurfa;
将向量N2n=RJsurfa乘以雅各比矩阵的逆,变换回参数空间,得到N2d=J-1 surfRJsurfa;
以中点为起点,向N2d方向延伸当前前沿边在参数空间中的长度,得到理想点初始值
5.根据权利要求1所述的快速鲁棒的CAD模型自由曲面三角剖分方法,其特征在于,以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,包括:
根据搜索半径构建的球来建立其AABB包围盒;
利用八叉树定位包围盒内的前沿点,再判断哪些点位于球内,完成候选点队列的构建;
当候选点队列中所有点都无法通过有效性判断时,通过引入一个大于1的搜索松弛因子来乘以搜索半径,以此适当扩大搜索范围,重新构建候选点队列,若依然没有找到候选点通过有效性判断,则继续根据松弛因子扩大搜索球的半径,直到找到有效节点为止。
6.根据权利要求1所述的快速鲁棒的CAD模型自由曲面三角剖分方法,其特征在于,逐个对候选点与当前前沿边所构成的三角形进行有效性判断时,将这一过程放在参数空间中进行,并在参数空间中根据当前的前沿边集合构建AD树,通过AD树首先筛选出与候选单元的包围盒相交的前沿边,再进一步判断这些前沿边与候选单元是否相交。
7.根据权利要求1所述的快速鲁棒的CAD模型自由曲面三角剖分方法,其特征在于,还包括:
S6:在网格生成完毕后,通过网格优化算子提升网格质量。
8.一种快速鲁棒的CAD模型自由曲面三角剖分装置,其特征在于,包括:
边界曲线离散模块,用于对CAD模型中的曲面进行边界离散,得到边界离散点,将所述边界离散点从物理空间投影到参数空间,在所述参数空间中构建当前前沿边队列;
理想点初始计算模块,用于从所述当前前沿边队列中按照顺序选取当前前沿边,确定初始估计的起点,并基于映射法获得理想点初始值,判断该初始值是否满足三角形网格质量标准,若不满足则采用直接法在物理空间中计算出理想点,而后投影到参数空间,包括:
当曲面上的二阶导数信息有效时,采用曲率球投影法,通过计算曲面上迭代点的法曲率球来近似拟合曲面,并将点投影到法曲率球上来更新迭代点的参数值;当曲面上的二阶导数信息失效时,利用一阶导数信息,采用切平面法,通过计算曲面上迭代点的切平面来近似拟合曲面,并将点投影到切平面上来更新迭代点的参数值;
在曲面奇异点附近,无法求导时,采用细分投影法,通过将曲面的参数域不断细分为小的四边形块,每一步都取距离待投影点最近的四边形并不断迭代至满足投影误差条件,直到找到最终投影点;
理想点迭代计算模块,用于获得理想点初始值后,采用牛顿迭代的思想求解非线性方程组,得到理想点,最终得到理想点和当前前沿边构成的等腰三角形,其中所述非线性方程组如下:
其中,r(u,v)为迭代过程中的理想点,r1,r2分别为当前前沿边在三维空间中的两个端点,rm为当前前沿边在三维空间中的中点,h为用户指定的尺寸值,也就是等腰三角形的腰长;
几何筛选与相交检测模块,用于以理想点为球心作一个球,筛选当前前沿点,以构建候选点队列,对候选点队列中的候选点进行逐点有效性判断,其中有效性判断包括:首先,将包含在球内的前沿点放入候选点队列中,并按照到理想点的距离由近及远排序;其次,将理想点放入队尾;最后,对于当前前沿边,遍历候选点队列,逐个对候选点与当前前沿边所构成的三角形进行有效性判断,若有效,则成功生成一个三角形;
流程循环模块,用于重复理想点初始计算模块到几何筛选与相交检测模块,直到完成整张CAD曲面的三角剖分,完成CAD模型对应的网格生成;
还包括:对于包含多条曲线和多张曲面的CAD模型,采用基于任务图分解的方式进行曲面网格生成的多核并行加速,利用taskflow方法加速整个模型的并行曲面网格生成的过程,taskflow方法根据几何模型的拓扑结构动态生成任务依赖图,并在多核上采用自适应工作调度方案执行任务依赖图。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211397111.1A CN115690361B (zh) | 2022-11-09 | 2022-11-09 | 快速鲁棒的自由曲面三角剖分方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211397111.1A CN115690361B (zh) | 2022-11-09 | 2022-11-09 | 快速鲁棒的自由曲面三角剖分方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115690361A CN115690361A (zh) | 2023-02-03 |
CN115690361B true CN115690361B (zh) | 2024-01-30 |
Family
ID=85050686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211397111.1A Active CN115690361B (zh) | 2022-11-09 | 2022-11-09 | 快速鲁棒的自由曲面三角剖分方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115690361B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306396A (zh) * | 2011-09-15 | 2012-01-04 | 山东大学 | 一种三维实体模型表面有限元网格自动生成方法 |
CN103440683A (zh) * | 2013-04-28 | 2013-12-11 | 大连大学 | 一种基于三维散乱稠密点云的三角网格重构方法 |
CN103985155A (zh) * | 2014-05-14 | 2014-08-13 | 北京理工大学 | 基于映射法的散乱点云Delaunay三角剖分曲面重构方法 |
CN110083915A (zh) * | 2019-04-22 | 2019-08-02 | 武汉大学 | 一种高频区雷达目标散射中心正向自动化建模方法 |
CN110516388A (zh) * | 2019-08-31 | 2019-11-29 | 大连理工大学 | 基于调和映射的曲面离散点云模型环切刀轨生成方法 |
CN113192158A (zh) * | 2021-03-09 | 2021-07-30 | 刘梦祈 | 一种基于计算机几何偏移算法的3d模型放样方法 |
CN113312778A (zh) * | 2021-06-04 | 2021-08-27 | 浙江大学 | 一种自适应于模型几何特征的非结构网格生成方法 |
CN113343328A (zh) * | 2021-06-08 | 2021-09-03 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种基于改进牛顿迭代的高效最近点投影方法 |
CN113610983A (zh) * | 2021-08-26 | 2021-11-05 | 上海同岩土木工程科技股份有限公司 | 一种离散点空间曲面三角网格自动剖分方法 |
CN114492250A (zh) * | 2022-04-06 | 2022-05-13 | 中国人民解放军国防科技大学 | 基于递归分解的曲面网格生成方法及系统、计算机设备 |
-
2022
- 2022-11-09 CN CN202211397111.1A patent/CN115690361B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306396A (zh) * | 2011-09-15 | 2012-01-04 | 山东大学 | 一种三维实体模型表面有限元网格自动生成方法 |
CN103440683A (zh) * | 2013-04-28 | 2013-12-11 | 大连大学 | 一种基于三维散乱稠密点云的三角网格重构方法 |
CN103985155A (zh) * | 2014-05-14 | 2014-08-13 | 北京理工大学 | 基于映射法的散乱点云Delaunay三角剖分曲面重构方法 |
CN110083915A (zh) * | 2019-04-22 | 2019-08-02 | 武汉大学 | 一种高频区雷达目标散射中心正向自动化建模方法 |
CN110516388A (zh) * | 2019-08-31 | 2019-11-29 | 大连理工大学 | 基于调和映射的曲面离散点云模型环切刀轨生成方法 |
CN113192158A (zh) * | 2021-03-09 | 2021-07-30 | 刘梦祈 | 一种基于计算机几何偏移算法的3d模型放样方法 |
CN113312778A (zh) * | 2021-06-04 | 2021-08-27 | 浙江大学 | 一种自适应于模型几何特征的非结构网格生成方法 |
CN113343328A (zh) * | 2021-06-08 | 2021-09-03 | 中国空气动力研究与发展中心计算空气动力研究所 | 一种基于改进牛顿迭代的高效最近点投影方法 |
CN113610983A (zh) * | 2021-08-26 | 2021-11-05 | 上海同岩土木工程科技股份有限公司 | 一种离散点空间曲面三角网格自动剖分方法 |
CN114492250A (zh) * | 2022-04-06 | 2022-05-13 | 中国人民解放军国防科技大学 | 基于递归分解的曲面网格生成方法及系统、计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115690361A (zh) | 2023-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gopi et al. | Surface reconstruction based on lower dimensional localized Delaunay triangulation | |
Zhang et al. | Interactive tensor field design and visualization on surfaces | |
US8089480B2 (en) | Method for meshing a curved surface | |
Zaharescu et al. | Topology-adaptive mesh deformation for surface evolution, morphing, and multiview reconstruction | |
Kwok et al. | Efficient optimization of common base domains for cross parameterization | |
US20120013617A1 (en) | Method for global parameterization and quad meshing on point cloud | |
KR100900824B1 (ko) | 스케치 기반 3차원 모델 생성 장치 및 방법 | |
JP2013507679A (ja) | 三次元物体モデルの3dプリントが可能な方法及びシステム | |
Park | Anisotropic output-based adaptation with tetrahedral cut cells for compressible flows | |
CN112862972A (zh) | 一种表面结构网格生成方法 | |
CN102306397A (zh) | 点云数据网格化的方法 | |
Stolpner et al. | Medial spheres for shape approximation | |
Liu et al. | Efficient and qualified mesh generation for Gaussian molecular surface using adaptive partition and piecewise polynomial approximation | |
Soussen et al. | Polygonal and polyhedral contour reconstruction in computed tomography | |
Chalmovianský et al. | Filling holes in point clouds | |
Athanasiadis et al. | Feature-based 3D morphing based on geometrically constrained spherical parameterization | |
Aubry et al. | A three-dimensional parametric mesher with surface boundary-layer capability | |
Ruiz-Gironés et al. | Optimizing mesh distortion by hierarchical iteration relocation of the nodes on the CAD entities | |
CN115690361B (zh) | 快速鲁棒的自由曲面三角剖分方法及装置 | |
Yagawa et al. | Automatic two-and three-dimensional mesh generation based on fuzzy knowledge processing | |
Liu et al. | Automatic sizing functions for unstructured mesh generation revisited | |
Jarvis et al. | 3D shape reconstruction of small bodies from sparse features | |
CN115661353A (zh) | 基于二维服装图像与三维人体模型搭配的算法 | |
CN114399611A (zh) | 基于网格质量度量特性的多面体优化方法 | |
WO2023104354A1 (en) | Method and system employing boundary element method with adaptive order for acoustic emission and scattering analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |