CN101877145B - 基于质量因子的复杂平表面网格预剖分方法 - Google Patents
基于质量因子的复杂平表面网格预剖分方法 Download PDFInfo
- Publication number
- CN101877145B CN101877145B CN2010101798839A CN201010179883A CN101877145B CN 101877145 B CN101877145 B CN 101877145B CN 2010101798839 A CN2010101798839 A CN 2010101798839A CN 201010179883 A CN201010179883 A CN 201010179883A CN 101877145 B CN101877145 B CN 101877145B
- Authority
- CN
- China
- Prior art keywords
- polygon
- quadrilateral
- subdivision
- point
- quality factor
- 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
Images
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种基于质量因子的复杂平表面网格预剖分方法,主要解决现有网格划分通用性差和表面剖分形状质量不能保证的问题。本发明以设定的质量因子阈值为限定条件,将表面预剖分分为凸多边形表面剖分、凹多边形表面剖分和含内环多边形表面剖分。凸多边形剖分方法是:先将凸多边形全部剖分为三角形,再将质量因子值低于设定阈值的三角形合并为四边形;凹多边形表面的剖分是先将其剖分成多个凸多边形,然后调用凸多边形剖分方法;含内环表面的剖分是先将其解环得到若干个凹多边形,然后调用凹多边形剖分方法。本发明具有通用性强、图形剖分形状质量好、复杂度低的优点,主要用于有限元或矩量法网格划分,也可用于计算机图形显示。
Description
技术领域
本发明属于计算机图形处理技术领域,涉及工程数值分析所用的网格预剖分方法,具体地说是一种将物体上复杂平表面剖分为形状质量较好、能满足工程计算需要的三角形、四边形的剖分方法,主要用于有限元网格划分、矩量法网格划分,也可用于图形显示、模型表示及布尔运算、图像分割与识别、机器人运动规划、大规模集成电路布线设计等。
背景技术
由直线段首尾相连构成的一个封闭平面图形称为环。不含内环的单个凸多边形、不含内环的单个凹多边形包括含有等于180°内角的特殊多边形以及含若干个内环的多边形统称为复杂平表面。
形状复杂的物体在工作状态时的物理量,如位移、应力、压力、温度、电流、场强等求解必须使用工程数值分析方法,如有限元法、矩量法、时域有限差分法等。工程数值分析要求对分析对象先进行离散,而网格划分是实现分析对象离散的唯一手段。
网格划分的要求与所采用数值方法及基函数有关。如有限元方法主要求解微分方程,不管采用何种基函数和何种形状的单元,所划分的单元必须顶点与顶点铰接。矩量法主要求解积分方程,若采用脉冲基函数,则不要求单元顶点与顶点铰接且单元形状不必一致;若采用三角矢量基函数,则划分的单元形状必须是三角形且其顶点与顶点要铰接,因为三角矢量基函数就定义在顶点与顶点铰接的三角形上。针对平面的网格划分,为使计算简单和工程分析后置处理方便,网格划分后的单元形状通常为三角形或四边形,而且工程实践表明,四边形单元比三角形单元有比较高的计算精度,也就是说四边形单元的形状要优于三角形单元。对于平面的网格划分,由于研究对象和应用领域的不同,网格划分方法很多,如结点连元法、铺路法、二分法、四叉树法、Delaunay三角化法、前沿推进法等。这些方法各有利弊,而且,这些网格划分方法都是从复杂表面入手直接划分出所需要的全三角形或全四边形单元,因而会带来针对不同的数值方法、不同的基函数、不同的单元形状要求、不同的应用领域,必须设计不同的网格划分方法的问题,由此导致网格划分算法通用性差、程序设计工作量大、算法稳定性不高等缺点。
复杂平表面的剖分是与网格划分相关的技术。复杂平表面的剖分是指利用已有顶点将平面区域剖分为若干个诸如三角形、凸多边形等较为简单的图形,其本质上是平面多边形的分解问题。
将复杂表面分解为全三角形或凸多边形的方法已有一些研究。论文“任意多边形三角剖分的算法”(北京理工大学学报,第15卷第5期,1995年11月,83-86,作者:周培德)给出了基于最长对角线端点的凸多边形的剖分方法,但剖分的形状为单一的三角形,不能避免质量差的三角形出现;论文“一个快速有效的凹多边形分解算法”(鞍山师范学院学报,第3卷第1期,2001年3月,99-102,作者:孙岩,唐棣)通过将凹角分为2个或3个凸角的方法实现了将凹多边形分解为若干个凸多边形(包括三角形)的剖分,但剖分结果不唯一且未考虑剖分形状的优化;论文“统一于NIP的多边形三角剖分算法”(计算机学报,第12卷第3期,1989年3月,194-199,作者:陈向平,应道宁)引入桥边先将含内环多边形转化为非自交多边形(NIP),再对非自交多边形从凸顶点出发不断切割出三角形达到三角剖分,引入桥边及切割三角形时并未考虑剖分形状的优化且剖分结果仅限于三角形;论文“任意多边形的Delaunay三角剖分”(计算机学报,第17卷第4期,1994年4月,270-275,作者:丁永祥等)通过将当前边与对该边张角最大的可见顶点连线切割出三角形的方法实现了含内环多边形的三角剖分,该方法思想简单,但在剖分过程中需要动态修改环与边的连接关系,实现起来较为复杂且剖分的形状仅为三角形,形状质量不能保证是优的;论文“平面区域三角化的快速算法”(计算机辅助设计与图形学学报,第15卷第2期,2003年2月,233-238,作者:李学军,黄文清)和“有孔多边形凸划分的一种算法”(兵工学报,第29卷第3期,2008年3月,379-384,作者:焦立男,唐振民)通过对含内环表面的顶点和边进行分类产生单调链,由单调链形成单调多边形,最后对单调多边形进行剖分得到凸多边形或三角形,该算法仅是实现了剖分,并未考虑剖分质量。
网格单元的形状质量是多边形分解和网格划分应该考虑的问题。有少数文献对此进行了研究。论文“有限单元畸变度计算方法”(计算机辅助设计与图形学学报,第12卷第3期,2000年3月,179-183,作者:王浩等)利用弹性力学中的应变能和形函数推出了以下三角形、四边形单元畸变度的计算公式:
此畸变度计算方法虽然能够很好地反映划分出的单元相对于理想单元的畸变程度,但该公式由于没有归一化,不方便直接使用。
综上所述,目前关于网格划分和多边形剖分方法存在以下问题:
(1)网格划分为面向具体应用的直接划分,其算法通用性差、程序设计工作量大、算法稳定性不高;
(2)表面剖分结果最终目标都是三角形,未考虑四边形;
(3)表面剖分的形状质量不能保证,这将会大大影响后续的网格划分的质量。
发明内容
本发明的目的在于克服上述已有技术的不足,提出一种基于质量因子的复杂平表面网格预剖分方法,提高对不同数值分析网格划分的通用性和不同形状的划分质量,实现三角形或四边形或三角形与四边形混合的不同表面剖分结果,以满足工程计算的需要。
本发明的技术思想是将网格划分工作分为以下两个阶段进行:第一阶段即网格预剖分,是将复杂表面按已有顶点剖分为质量较好且顶点与顶点铰接的三角形、四边形;第二阶段将三角形、四边形按不同的数值方法和应用划分为所需形状和尺寸的全三角形单元、全四边形单元或两者的混合单元。本发明是对第一阶段内容的研究,其对网格的预剖分是通过将复杂表面分为凸多边形表面、凹多边形表面和含内环表面等三类表面分别进行剖分。为此本发明提出以下3种技术方案:
技术方案一、基于质量因子的凸多边形表面网格预剖分方法,包括如下步骤:
(1)对于三角形或四边形的凸多边形,直接输出该图形;否则,执行步骤(2)进行剖分;
(2)求出凸多边形的最长对角线,并用该对角线端点和其相邻的两个顶点剖分出2个三角形;
(3)重复步骤(2),对凸多边形的剩余部分继续剖分,直至剖分完毕,最后得到若干个三角形;
(4)计算剖分得到的所有三角形质量因子q:
其中,S为三角形的面积,a、b、c为三角形边长;
(5)将计算得到的所有质量因子值q与设定阈值qmin=0.3进行比较,如果所有三角形的质量因子值q都大于阈值qmin,将剖分得到的全部三角形输出;如果存在质量因子值q小于设定阈值qmin的三角形,则对这些三角形按质量因子值由小到大的顺序依次进行如下处理:
将每个三角形与其相邻的三角形进行合并形成四边形,如果该三角形相邻的三角形只有1个,则直接将这两个三角形合并得到四边形,并将其输出;如果该三角形相邻的三角形有2个或者3个,则将该三角形与其相邻的三角形分别合并,得到2个或3个四边形,并按如下公式计算这些四边形的质量因子β,将具有最大质量因子值的四边形输出,
其中,S′为四边形的面积,a′、b′、c′、d′为四边形的边长,e′、f′为四边形两条对角线长度。
技术方案二、基于质量因子的凹多边形表面网格预剖分方法,包括如下步骤:
1)对于凹四边形表面,将凹点与其相对的顶点相连形成2个三角形输出;否则,执行步骤2);
4)在这些与射线l相交的边中找出与凹点U距离最近的边,在该边的两个端点中找出与U点距离最近的端点,如果该端点和U点相邻,将该边的另一端点作为第二分割点;如果该端点和U点不相邻,将该端点作为第二分割点;
5)将第二分割点与第一分割点相连接作为分割线,分割线把该多边形分割成两个子多边形,如果分割出的子多边形中有凹多边形,对该凹多边形执行步骤1)~4)进行分割,直至每个分割出的子多边形不含凹点;如果分割出的子多边形中有凸多边形,对该凸多边形按基于质量因子的凸多边形表面网格预剖分方法进行剖分;
6)对步骤5)中得到的每条分割线,如果该分割线两边有两个三角形,则计算这两个三角形的质量因子,如果存在质量因子值q小于设定阈值qmin的三角形,将这两个三角形拟合并,如果合并得到的四边形是凸四边形,将该四边形输出;否则,不合并。
技术方案三、基于质量因子的含内环多边形表面网格预剖分方法,包括如下步骤:
A)在含内环多边形的上、下、左、右四个方向上分别找出用于剖分的可选四边形;
B)如果步骤A)中得到的四边形中有凸四边形,计算这些凸四边形的质量因子,将其中质量因子值最大的凸四边形输出;如果步骤A)中得到的四边形全是凹四边形,确定质量最好的凹四边形,将其剖分成两个三角形输出;
C)将步骤B)中得到的两个三角形或凸四边形从该多边形中剖分出去,得到剩余多边形,对该剩余多边形重复步骤A)~B)继续解环,直至剩余多边形不含内环;
D)对步骤C)中得到的剩余多边形按基于质量因子的凹多边形表面网格预剖分方法进行剖分。
本发明具有如下优点:
(1)由于本发明预剖分得到的结果包含三角形、四边形两种图形,以这两种图形为基础使得后续再进行的网格划分变得容易,且增加了通用性和稳定性;
(2)本发明经过对质量差的三角形进行合并成凸四边形的处理,剖分得到的图形形状质量较好,能满足工程分析的需要;
(3)本发明所提出的预剖分方法以凸多边形剖分方法为基础,凹多边形剖分调用凸多边形剖分方法,含内环表面剖分调用凹多边形剖分方法,整个剖分方法层次分明、思路清晰、简单易行、算法复杂度低。
附图说明
图1是本发明基于质量因子的凸多边形表面网格预剖分流程图;
图2是待剖分的凸多边形示意图;
图3是对图2凸多边形三角剖分后但未进行三角形合并的结果图;
图4是对图2凸多边形预剖分后的最终结果示意图;
图5是本发明基于质量因子的凹多边形表面网格预剖分流程图;
图6是待剖分凹多边形示意图;
图7是对图6进行第一次分割后得到的两个子多边形示意图;
图8是对图7中的左、右两个子多边形分别按图5和图1进行剖分的结果示意图;
图9是对图8中分割线两侧质量因子值小于0.3的三角形合并后的结果示意图;
图10是本发明基于质量因子的含内环多边形表面网格预剖分流程图;
图11是待剖分的含内环多边形表面示意图;
图12是对图11多边形解环后的结果示意图;
图13是本发明实例1中对使用模型各表面进行网格预剖分的结果示意图;
图14是本发明实例2中对使用模型各表面进行网格预剖分的结果示意图。
具体实施方式
以下结合附图对本发明的表面网格预剖分方法作进一步详细描述。
参照图1,本发明基于质量因子的凸多边形表面网格预剖分,包括如下步骤:
步骤1,根据凸多边形的形状确定是否进行预剖分,如果凸多边形是三角形或四边形,则直接输出该图形,对于如图2所示的非三角形或四边形的凸多边形表面,执行步骤2进行剖分。
步骤2,找出图2凸多边形的最长对角线AE,用该对角线端点A和其相邻的两个顶点B、H剖分出ΔABH,用该对角线端点E和其相邻的两个顶点D、F剖分出ΔDEF,将ΔABH和ΔDEF从凸多边形中剖分出去,得到剩余多边形BCDFGH。
步骤3,重复步骤2,对剩余多边形BCDFGH继续剖分,直至将图2凸多边形剖分完毕,如图3所示。
步骤4,计算剖分得到的所有三角形的质量因子,三角形的质量因子q计算公式为:
其中,S为三角形的面积,a、b、c为三角形边长。
步骤5,根据步骤四中计算得到的三角形的质量因子值进行如下判断和处理:
如果所有三角形的质量因子值q都大于设定阈值qmin=0.3,将剖分得到的全部三角形输出;如果存在质量因子值q小于设定阈值qmin的三角形,则执行步骤6。
步骤6,将质量因子值q小于设定阈值qmin的三角形按质量因子值的大小由小到大排序,如图3所示的所有三角形中,ΔABH和ΔDEF的质量因子值分别是0.255871和0.210655,将这两个三角形排序,ΔDEF在前,ΔABH在后,依次将已排序的三角形中的每个三角形与其相邻的三角形进行合并成四边形:
6.1)如果与该三角形相邻的三角形只有1个,则直接将这两个三角形合并成四边形,如图3所示的ΔDEF,与其相邻的三角形只有ΔDFG,将三角形ΔDEF和ΔDFG合并成四边形DEFG输出;与ΔABH相邻的三角形只有ΔBCH,将三角形ΔABH和ΔBCH合并成四边形ABCH输出,如图4所示;
6.2)如果与该三角形相邻的三角形有2个,则将这2个三角形分别与该三角形合并,得到2个四边形,并计算这2个四边形的质量因子,将其中具有较大质量因子值的四边形输出;
四边形的质量因子β计算公式为:
其中,S′为四边形的面积,a′、b′、c′、d′为四边形的边长,e′、f′为四边形两条对角线长度。
6.3)如果与该三角形相邻的三角形有3个,则将这3个三角形分别与该三角形合并,得到3个四边形,并计算这3个四边形的质量因子,将其中具有最大质量因子值的四边形输出。
参照图5,本发明基于质量因子的凹多边形表面网格预剖分,包括如下步骤:
步骤A,对凹多边形的边数进行判断,如果凹多边形表面是凹四边形,则将凹点与其相对的顶点相连接形成2个三角形并将这两个三角形输出;如果凹多边形表面是如图6所示的非凹四边形,则执行步骤B进行剖分。
步骤B,求出非凹四边形中每个顶点的x坐标值,这些x坐标值中的最大值和最小值的平均值记为求出非凹四边形中每个顶点的y坐标值,这些y坐标值中的最大值和最小值的平均值记为得到非凹四边形包围盒中心O点的坐标如图6非凹四边形包围盒的中心为O1。
步骤C,在图6非凹四边形的3个凹点B、E、G中选出与中心O1距离最近的凹点G作为第一分割点,求出平分该凹点G对应凹角的射线l,并求出图6非凹四边形上与射线l相交的边AB。
步骤D,在这些与射线l相交的边中找出与第一分割点距离最近的边,该边记为A1B1,其中A1点是边A1B1的两个端点中与第一分割点距离较近的端点,如果A1点和第一分割点相邻,则将B1点作为第二分割点;如果A1点和第一分割点不相邻,则将A1点作为第二分割点,在图6中只有AB边与射线l相交,在AB边的两个端点A、B中,找出与第一分割点G距离最近的端点B作为第二分割点。
步骤E,将第二分割点与第一分割点相连接作为分割线,如将图6第二分割点B与第一分割点G相连接作为分割线,分割线把图6非凹四边形分割成两个子多边形BCDEFG和ABGHI,如图7所示。
步骤F,由于步骤E得到的子多边形BCDEFG是凹多边形,对其执行步骤A~步骤E进行分割,直至每个分割出的子多边形不含凹点;由于子多边形ABGHI是凸多边形,对其按图1所述的凸多边形网格预剖分方法剖分。
步骤G,对步骤E中得到的每条分割线,如果分割线两侧有两个三角形,则计算出这两个三角形的质量因子,如果这两个三角形的质量因子值有一个小于设定阈值qmin,则将这两个三角形拟合并,如果拟合并得到的四边形是凸四边形,如图8,分割线EG两侧有两个三角形ΔEFG和ΔBEG,其中ΔEFG的质量因子值是0.255871小于设定阈值qmin=0.3,将其与ΔBEG拟合并得到四边形BEFG,该四边形是凸四边形,将其输出,如图9所示;否则不进行合并。
参照图10,本发明基于质量因子的含内环多边形表面网格预剖分,包括如下步骤:
步骤一,在如图11所示的含内环多边形的上方,先找出其外环上y坐标值最大的点p2,其前一点和后一点分别为p1和p3;再找出其内环上y坐标值最大的点p9,其前一点和后一点分别为p8和p10;在外环上选择点p2与p3或点p1与p2,内环上选择点p9与p10或点p8与p9,得到4个四边形p1p2p9p10,p1p2p8p9,p2p3p9p10,p2p3p8p9,在这4个四边形中,将与图11含内环多边形都不相交的四边形p1p2p9p10,p1p2p8p9和p2p3p8p9作为用于剖分的可选四边形。
步骤二,在如图11所示的含内环多边形的下方,先找出其外环上y坐标值最小的点p7,其前一点和后一点分别为p6和p0;再找出其内环上y坐标值最小的点p11,其前一点和后一点分别为p10和p8,在外环上选择点p6与p7或点p7与p0,内环上选择点p11与p8或点p10与p11,得到四个四边形p6p7p11p8,p6p7p10p11,p7p0p10p11,p7p0p11p8,在这4个四边形中,将与图11含内环多边形都不相交的四边形p6p7p11p8,p6p7p10p11和p7p0p10p11作为用于剖分的可选四边形。
步骤三,在如图11所示的含内环多边形的左方,先找出外环上x坐标值最小的点p4,其前一点和后一点分别为p3和p5;再找出其内环上x坐标值最小的点p8,其前一点和后一点分别为p11和p9,在外环上选择点p3与p4或点p4与p5,内环上选择点p8与p9或点p11与p8,得到四个四边形p3p4p8p9,p4p5p8p9,p3p4p11p8,p4p5p11p8,在这4个四边形中,将与图11含内环多边形都不相交的四边形p3p4p8p9,p3p4p11p8和p4p5p11p8作为用于剖分的可选四边形。
步骤四,在如图11所示的含内环多边形的右方,先找出外环上x坐标值最大的点p1,其前一点和后一点分别为p0和p2;再找出其内环上x坐标值最大的点p10,其前一点和后一点分别为p9和p11,在外环上选择点p0与p1或点p1与p2,内环上选择点p9与p10或点p10与p11,得到四个四边形p0p1p9p10,p0p1p10p11,p1p2p9p10,p1p2p10p11,在这4个四边形中,将与图11含内环多边形都不相交的四边形p0p1p9p10和p1p2p9p10作为用于剖分的可选四边形。
步骤五,对步骤一至步骤四中得到的用于剖分的可选四边形进行如下判断并输出:
如果步骤一至步骤四中得到的用于剖分的可选四边形中有凸四边形,如图11中的6个凸四边形:p2p3p8p9,p6p7p10p11,p7p0p10p11,p3p4p11p8,p4p5p11p8和p0p1p9p10,则计算这些凸四边形的质量因子,将其中质量因子值最大的凸四边形p0p1p9p10输出;
如果步骤一至步骤四中得到的四边形全是凹四边形,则按照以下步骤确定出质量最好的凹四边形,将其剖分成两个三角形输出:
5a)对每个凹四边形,连接凹点和该凹点的相对顶点,将凹四边形剖分成两个三角形;
5b)计算每个凹四边形剖分后的两个三角形的质量因子,将较大的质量因子值记为qg(g=1~16),较小的质量因子值记为q′s(s=1~16);
5c)找出所有q′s(s=1~16)中的最大者,如果最大者只有1个,则它对应的凹四边形质量最好;如果最大者不止1个,比较最大者所在凹四边形的另外一个三角形的质量因子值qg,具有最大质量因子值qg的凹四边形质量最好。
步骤六,将步骤五中得到的两个三角形或凸四边形从该含内环多边形中剖分出去,得到剩余多边形,如果该剩余多边形是凹多边形,如图12所示的p0p10p11p8p9p1p2p3p4p5p6p7多边形,则执行步骤八;否则,执行步骤七。
步骤七,对步骤六得到的剩余多边形重复步骤一至步骤六继续解环,直至剩余多边形不含内环,该剩余多边形是凹多边形。
步骤八,对步骤六或步骤七得到的凹多边形按图5所述的凹多边形表面网格预剖分方法进行剖分。
以下通过网格预剖分实例对本发明的效果进一步说明:
实例1
本实例对某型客车模型进行网格预剖分,该网格预剖分的过程及结果如图13所示。其中:
图13(a)是该实例的车体模型图,该车体的表面由15个凸四边形表面、3个凹八边形表面和1个含内环表面组成,其中1个凹八边形表面在图中不可见,因为凸四边形表面不需要剖分,所以需要进行预剖分的表面是3个凹八边形表面和1个含内环表面。
图13(b)是凹八边形表面,对其按基于质量因子的凹多边形表面网格预剖分方法进行剖分,得到如图13(c)的剖分结果,对车体的顶面凹八边形和侧面不可见的凹八边形也按相同方法剖分(图中未表示)。
图13(d)是含内环表面,对其按基于质量因子的含内环多边形表面网格预剖分方法剖分,得到如图13(e)所示的剖分结果。
图13(f)是该实例预剖分的最终结果示意图。
实例2
本实例对某型通信车模型进行网格预剖分,该网格预剖分的过程及结果如图14所示。其中:
图14(a)是该实例的车体模型图,该车体的表面由2个三角形、19个凸四边形、2个凸五边形、2个凹五边形和2个含内环表面组成,其中1个凸五边形和1个凹五边形在图中不可见,因为三角形和凸四边形不需要划分,所以需要进行预剖分的表面是侧面的两个凸五边形表面、侧面的两个凹五边形表面和顶面的两个含内环表面。
图14(b)是凸五边形表面,对其按基于质量因子的凸多边形表面网格预剖分方法剖分,得到如图14(c)所示的剖分结果,对图中不可见的侧面凸五边形按相同方法剖分。
图14(d)是凹五边形,由于A1、E1、D1三点在一条直线上,所以顶点E1是凹点,该五边形是凹五边形,对其按基于质量因子的凹多边形表面网格预剖分方法剖分,得到如图14(e)所示的剖分结果,对图中不可见的侧面凹五边形按相同方法剖分。
图14(f)是含内环表面1,对其按基于质量因子的凹多边形表面网格预剖分方法剖分,得到如图14(g)所示的剖分结果,对含内环表面2按相同方法剖分。
图14(h)是该实例的最终网格预剖分示意图。
由图13(f)和图14(h)可见,本发明网格预剖分可行,剖分得到的三角形、四边形质量良好,能满足进一步网格划分对形状质量的要求。
Claims (5)
1.一种基于质量因子的凸多边形表面网格预剖分方法,包括如下步骤:
(1)对于三角形或四边形的凸多边形,直接输出该图形;否则,执行步骤(2)进行剖分;
(2)求出凸多边形的最长对角线,并用该对角线端点和其相邻的两个顶点剖分出2个三角形;
(3)重复步骤(2),对凸多边形的剩余部分继续剖分,直至剖分完毕,最后得到若干个三角形;
(4)计算剖分得到的所有三角形质量因子q:
其中,S为三角形的面积,a、b、c为三角形边长;
(5)将计算得到的所有质量因子值q与设定阈值qmin=0.3进行比较,
如果所有三角形的质量因子值q都大于阈值qmin,将剖分得到的全部三角形输出;
如果存在质量因子值q小于设定阈值qmin的三角形,则对这些三角形按质量因子值由小到大的顺序依次进行如下处理:
将每个三角形与其相邻的三角形进行合并形成四边形,如果该三角形相邻的三角形只有1个,则直接将这两个三角形合并得到四边形,并将其输出;如果该三角形相邻的三角形有2个或者3个,则将该三角形与其相邻的三角形分别合并,得到2个或3个四边形,并按如下公式计算这些四边形的质量因子β,将具有最大质量因子值的四边形输出,
其中,S′为四边形的面积,a′、b′、c′、d′为四边形的边长,e′、f′为四边形两条对角线长度。
2.一种基于质量因子的凹多边形表面网格预剖分方法,包括如下步骤:
1)对于凹四边形表面,将凹点与其相对的顶点相连形成2个三角形输出;否则,执行步骤2);
4)在这些与射线l相交的边中找出与凹点U距离最近的边,在该边的两个端点中找出与U点距离最近的端点,如果该端点和U点相邻,将该边的另一端点作为第二分割点;如果该端点和U点不相邻,将该端点作为第二分割点;
5)将第二分割点与第一分割点相连接作为分割线,分割线把该多边形分割成两个子多边形,如果分割出的子多边形中有凹多边形,对该凹多边形执行步骤1)~4)进行分割,直至每个分割出的子多边形不含凹点;如果分割出的子多边形中有凸多边形,对该凸多边形按如权利要求1中所述的基于质量因子的凸多边形表面网格预剖分方法进行剖分;
6)对步骤5)中得到的每条分割线,如果该分割线两侧有两个三角形,则计算这两个三角形的质量因子,如果存在质量因子值q小于设定阈值qmin的三角形,将这两个三角形拟合并,如果合并得到的四边形是凸四边形,将该四边形输出;否则,不合并,
所述的阈值qmin=0.3,
所述的三角形质量因子 0≤q≤1
其中,S为三角形的面积,a、b、c为三角形边长。
3.一种基于质量因子的含内环多边形表面网格预剖分方法,包括如下步骤:
A)在含内环多边形的上、下、左、右四个方向上分别找出用于剖分的可选四边形;
B)如果步骤A)中得到的四边形中有凸四边形,计算这些凸四边形的质量因子β,将其中质量因子值最大的凸四边形输出;如果步骤A)中得到的四边形全是凹四边形,确定质量因子值最大的凹四边,将其剖分成两个三角形输出,
所述的质量因子β通过如下公式计算:
其中,S′为四边形的面积,a′、b′、c′、d′为四边形的边长,e′f′为四边形两条对角线长度;
C)将步骤B)中得到的两个三角形或凸四边形从该多边形中剖分出去,得到剩余多边形,对该剩余多边形重复步骤A)~B)继续解环,直至剩余多边形不含内环;
D)对步骤C)中得到的剩余多边形按如权利要求2所述的基于质量因子的凹多边形表面网格预剖分方法进行剖分。
4.根据权利要求3所述的含内环多边形表面网格预剖分方法,其中步骤A)所述的在含内环多边形的上、下、左、右四个方向上分别找出用于剖分的可选四边形,按如下步骤进行:
4a)在含内环多边形的上方,先找出其外环上y坐标值最大的点记为pi,将该最大点的前一点和后一点分别记为pi-1和pi+1;再找出其内环上y坐标值最大的点记为pj,将该最大点的前一点和后一点分别记为pj-1和pj+1;在外环上选点pi、pi+1或者pi-1、pi,在内环上选点pj、pj+1或者pj-1、pj,得到四个四边形pipi+1pjpj+1、pi-1pipjpj+1、pipi+1pj-1pj和pi-1pipj-1pj,找出这四个四边形中四条边与该多边形都不相交的四边形作为拟用于剖分的四边形;
4b)在含内环多边形的下方,先找出其外环上y坐标值最小的点记为ps,将该最小点的前一点和后一点分别记为ps-1和ps+1;再找出其内环上y坐标值最小的点记为pt,将该最小点的前一点和后一点分别记为pt-1和pt+1,外环上选点ps、ps+1或者ps-1、ps,内环上选点pt、pt+1或者pt-1、pt,得到四个四边形psps+1ptpt+1、ps-1psptpt+1、psps+1pt-1pt和ps-1pspt-1pt,找出这四个四边形中四条边与该多边形都不相交的四边形作为拟用于剖分的四边形;
4c)在含内环多边形的左方,先找出其外环上x坐标值最小的点记为pm,将该最小点的前一点和后一点分别记为pm-1和pm+1;再找出其内环上x坐标值最小的点记为pn,将该最小点的前一点和后一点分别记为pn-1和pn+1,外环上选点pm、pm+1或者pm-1、pm,内环上选点pn、pn+1或者pn-1、pn,得到四个四边形pmpm+1pnpn+1、pm-1pmpnpn+1、pmpm+1pn-1pn和pm-1pmpn-1pn,找出这四个四边形中四条边与该多边形都不相交的四边形作为拟用于剖分的四边形;
4d)在含内环多边形的右方,先找出其外环上x坐标值最大的点记为pu,将该最大点的前一点和后一点分别记为pu-1和pu+1;再找出其内环上x坐标值最大的点记为pv,将该最大点的前一点和后一点分别记为pv-1和pv+1,外环上选点pu、pu+1或者pu-1、pu,内环上选点pv、pv+1或者pv-1、pv得到四个四边形pupu+1pvpv+1、pu-1pupvpv+1、pupu+1pv-1pv和pu-1pupv-1pv,找出这四个四边形中四条边与该多边形都不相交的四边形作为拟用于剖分的四边形。
5.根据权利要求3所述的含内环多边形表面网格预剖分方法,其中步骤B)所述的确定质量最好的凹四边形,是按如下步骤进行:
5a)对每个凹四边形,连接凹点和该凹点的相对顶点,将凹四边形剖分成两个三角形;
5b)计算其剖分后的两个三角形的质量因子,将较大的质量因子值记为qg(g=1~16),较小的质量因子值记为q′s(s=1~16);
5c)找出所有q′s(s=1~16)中的最大者,如果最大者只有1个,则它对应的凹四边形质量最好;如果最大者不止1个,比较最大者所在凹四边形的另外一个三角形的质量因子qg,具有最大qg的凹四边形质量最好。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101798839A CN101877145B (zh) | 2010-05-21 | 2010-05-21 | 基于质量因子的复杂平表面网格预剖分方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010101798839A CN101877145B (zh) | 2010-05-21 | 2010-05-21 | 基于质量因子的复杂平表面网格预剖分方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101877145A CN101877145A (zh) | 2010-11-03 |
CN101877145B true CN101877145B (zh) | 2012-06-20 |
Family
ID=43019690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101798839A Expired - Fee Related CN101877145B (zh) | 2010-05-21 | 2010-05-21 | 基于质量因子的复杂平表面网格预剖分方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101877145B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104134207B (zh) * | 2014-07-16 | 2017-01-18 | 西安电子科技大学 | 几何建模中表面模型完整包络的自动检测方法 |
US10055857B2 (en) * | 2014-08-29 | 2018-08-21 | Ati Technologies Ulc | Extension of the MPEG/SC3DMC standard to polygon meshes |
CN110221621B (zh) * | 2019-05-30 | 2021-11-09 | 深圳市道通智能航空技术股份有限公司 | 一种无人机及其飞行区域的规划方法、装置、存储介质 |
WO2021072764A1 (zh) * | 2019-10-18 | 2021-04-22 | 深圳市大疆创新科技有限公司 | 作业区域处理方法、作业任务执行方法、设备及存储介质 |
CN112837416A (zh) * | 2019-11-22 | 2021-05-25 | 上海幻电信息科技有限公司 | 基于三角剖分的多边形渲染方法、装置及存储介质 |
CN111767688B (zh) * | 2020-09-03 | 2020-12-01 | 北京智芯仿真科技有限公司 | 集成电路版图多边形非结构网格自适应细分方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100557615C (zh) * | 2006-04-30 | 2009-11-04 | 西安电子科技大学 | 用矩量法对多天线-散射体结构分析的自动网格划分方法 |
CN101271589B (zh) * | 2007-03-22 | 2011-07-06 | 中国科学院计算技术研究所 | 一种三维人体模型关节中心提取方法 |
-
2010
- 2010-05-21 CN CN2010101798839A patent/CN101877145B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101877145A (zh) | 2010-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101877145B (zh) | 基于质量因子的复杂平表面网格预剖分方法 | |
CN101192307B (zh) | 点云三角网格面构建方法 | |
CN104063903A (zh) | 三维实体模型的四面体网格生成方法和装置 | |
CN110633262B (zh) | 基于Spark的地图相交区域面积计算方法及系统 | |
CN106600617A (zh) | 基于曲率从Lidar点云数据提取建筑物轮廓线的方法 | |
CN102853763A (zh) | 一种不规则表面文物体积的测量方法 | |
CN110543716A (zh) | 三维架空电缆层级电网优化方法、装置和计算机设备 | |
CN111127615A (zh) | 一种三维模型的数据调度方法、装置及电子设备 | |
CN107545602B (zh) | 基于LiDAR点云的空间拓扑关系约束下的建筑物建模方法 | |
CN104267940A (zh) | 一种基于cpu+gpu的地图切片的快速生成方法 | |
KR101552827B1 (ko) | 3차원 객체 모델의 분할 방법 | |
CN111009034A (zh) | 一种三维模型单体化方法、系统、存储介质及设备 | |
Liao et al. | Grid partition variable step alpha shapes algorithm | |
CN113378435A (zh) | 粒子生成方法、装置、设备及存储介质 | |
CN109949421B (zh) | 三角网切割方法及装置 | |
CN111179414B (zh) | 一种地形lod的生成方法 | |
CN108389154B (zh) | Gpu中一种用于并行绘制的裁剪区域分割技术的实现方法 | |
Rahim et al. | Evaluation of adaptive subdivision method on mobile device | |
CN115481268A (zh) | 一种平行线墙体数据识别方法、装置、设备及存储介质 | |
Li et al. | An efficient dichotomizing interpolation algorithm for the refinement of TIN-based terrain surface from contour maps | |
CN111127589B (zh) | 顾及线宽一致性的矢量地图圆形虚线符号绘制方法 | |
CN115222579A (zh) | 一种扫描转换点阵数据的方法、装置及介质 | |
CN110990963B (zh) | 风机间距优化方法、装置以及计算机可读存储介质 | |
WO2004053741A1 (ja) | 三角形と線分の交点計算方法とそのプログラム | |
CN112348963A (zh) | 一种针对非结构化复杂目标的高效fdtd网格剖分方法 |
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: 20120620 Termination date: 20180521 |
|
CF01 | Termination of patent right due to non-payment of annual fee |