基于质量因子的复杂平表面网格预剖分方法

文档序号:6602879阅读:184来源:国知局
专利名称:基于质量因子的复杂平表面网格预剖分方法
技术领域
本发明属于计算机图形处理技术领域,涉及工程数值分析所用的网格预剖分方 法,具体地说是一种将物体上复杂平表面剖分为形状质量较好、能满足工程计算需要的三 角形、四边形的剖分方法,主要用于有限元网格划分、矩量法网格划分,也可用于图形显示、 模型表示及布尔运算、图像分割与识别、机器人运动规划、大规模集成电路布线设计等。
背景技术
由直线段首尾相连构成的一个封闭平面图形称为环。不含内环的单个凸多边形、 不含内环的单个凹多边形包括含有等于180°内角的特殊多边形以及含若干个内环的多边 形统称为复杂平表面。形状复杂的物体在工作状态时的物理量,如位移、应力、压力、温度、电流、场强等 求解必须使用工程数值分析方法,如有限元法、矩量法、时域有限差分法等。工程数值分析 要求对分析对象先进行离散,而网格划分是实现分析对象离散的唯一手段。网格划分的要求与所采用数值方法及基函数有关。如有限元方法主要求解微分方 程,不管采用何种基函数和何种形状的单元,所划分的单元必须顶点与顶点铰接。矩量法主 要求解积分方程,若采用脉冲基函数,则不要求单元顶点与顶点铰接且单元形状不必一致; 若采用三角矢量基函数,则划分的单元形状必须是三角形且其顶点与顶点要铰接,因为三 角矢量基函数就定义在顶点与顶点铰接的三角形上。针对平面的网格划分,为使计算简单 和工程分析后置处理方便,网格划分后的单元形状通常为三角形或四边形,而且工程实践 表明,四边形单元比三角形单元有比较高的计算精度,也就是说四边形单元的形状要优于 三角形单元。对于平面的网格划分,由于研究对象和应用领域的不同,网格划分方法很多, 如结点连元法、铺路法、二分法、四叉树法、Delaimay三角化法、前沿推进法等。这些方法各 有利弊,而且,这些网格划分方法都是从复杂表面入手直接划分出所需要的全三角形或全 四边形单元,因而会带来针对不同的数值方法、不同的基函数、不同的单元形状要求、不同 的应用领域,必须设计不同的网格划分方法的问题,由此导致网格划分算法通用性差、程序 设计工作量大、算法稳定性不高等缺点。复杂平表面的剖分是与网格划分相关的技术。复杂平表面的剖分是指利用已有顶 点将平面区域剖分为若干个诸如三角形、凸多边形等较为简单的图形,其本质上是平面多 边形的分解问题。将复杂表面分解为全三角形或凸多边形的方法已有一些研究。论文“任意多边形 三角剖分的算法”(北京理工大学学报,第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,作者王浩等)利用弹性力学中的应变能和形函数推出了以下 三角形、四边形单元畸变度的计算公式三角形畸变度=勘A+G + O其中,S为三角形面积,112、123、113为边长,等边
6 S
三角形的畸变度最小,其值为2。四边形畸变度= ‘12 +<23 + 34 ;;1 其中,S为四边形面积,112、123、134、141
65
为边长,113、124为对角线长,正方形的畸变度最小,其值为2。此畸变度计算方法虽然能够很好地反映划分出的单元相对于理想单元的畸变程 度,但该公式由于没有归一化,不方便直接使用。综上所述,目前关于网格划分和多边形剖分方法存在以下问题(1)网格划分为面向具体应用的直接划分,其算法通用性差、程序设计工作量大、 算法稳定性不高;(2)表面剖分结果最终目标都是三角形,未考虑四边形;(3)表面剖分的形状质量不能保证,这将会大大影响后续的网格划分的质量。

发明内容
本发明的目的在于克服上述已有技术的不足,提出一种基于质量因子的复杂平表 面网格预剖分方法,提高对不同数值分析网格划分的通用性和不同形状的划分质量,实现 三角形或四边形或三角形与四边形混合的不同表面剖分结果,以满足工程计算的需要。本发明的技术思想是将网格划分工作分为以下两个阶段进行第一阶段即网格预 剖分,是将复杂表面按已有顶点剖分为质量较好且顶点与顶点铰接的三角形、四边形;第二 阶段将三角形、四边形按不同的数值方法和应用划分为所需形状和尺寸的全三角形单元、 全四边形单元或两者的混合单元。本发明是对第一阶段内容的研究,其对网格的预剖分 是通过将复杂表面分为凸多边形表面、凹多边形表面和含内环表面等三类表面分别进行剖分。为此本发明提出以下3种技术方案技术方案一、基于质量因子的凸多边形表面网格预剖分方法,包括如下步骤(1)对于三角形或四边形的凸多边形,直接输出该图形;否则,执行步骤⑵进行 剖分;(2)求出凸多边形的最长对角线,并用该对角线端点和其相邻的两个顶点剖分出 2个三角形;(3)重复步骤(2),对凸多边形的剩余部分继续剖分,直至剖分完毕,最后得到若 干个三角形;(4)计算剖分得到的所有三角形质量因子q 其中,S为三角形的面积,a、b、c为三角形边长;(5)将计算得到的所有质量因子值q与设定阈值qmin = 0. 3进行比较,如果所有三 角形的质量因子值q都大于阈值qmin,将剖分得到的全部三角形输出;如果存在质量因子值 q小于设定阈值qmin的三角形,则对这些三角形按质量因子值由小到大的顺序依次进行如 下处理将每个三角形与其相邻的三角形进行合并形成四边形,如果该三角形相邻的三角 形只有1个,则直接将这两个三角形合并得到四边形,并将其输出;如果该三角形相邻的三 角形有2个或者3个,则将该三角形与其相邻的三角形分别合并,得到2个或3个四边形, 并按如下公式计算这些四边形的质量因子0,将具有最大质量因子值的四边形输出, 其中,S'为四边形的面积,a'、b'、c'、d'为四边形的边长,e'、f'为四边形 两条对角线长度。技术方案二、基于质量因子的凹多边形表面网格预剖分方法,包括如下步骤1)对于凹四边形表面,将凹点与其相对的顶点相连形成2个三角形输出;否则,执 行步骤2);2)求出凹多边形x坐标最大值和最小值,并计算二者平均值i ;求出凹多边形1坐 标最大值和最小值,并计算二者平均值7,得到该凹多边形包围盒中心坐标(厶孓);3)在凹多边形的所有凹点中选出与点([,▽)距离最近的凹点U作为第一分割点, 求解平分该凹点对应凹角的射线1,并求出多边形上与射线1相交的边;4)在这些与射线1相交的边中找出与凹点U距离最近的边,在该边的两个端点中 找出与U点距离最近的端点,如果该端点和U点相邻,将该边的另一端点作为第二分割点; 如果该端点和U点不相邻,将该端点作为第二分割点;5)将第二分割点与第一分割点相连接作为分割线,分割线把该多边形分割成两个 子多边形,如果分割出的子多边形中有凹多边形,对该凹多边形执行步骤1) 4)进行分 割,直至每个分割出的子多边形不含凹点;如果分割出的子多边形中有凸多边形,对该凸多 边形按基于质量因子的凸多边形表面网格预剖分方法进行剖分;6)对步骤5)中得到的每条分割线,如果该分割线两边有两个三角形,则计算这两
7个三角形的质量因子,如果存在质量因子值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剖分出ΔΑΒΗ,用该对角线端点E和其相邻的两个顶点D、F剖分出ADEFjf ΔΑΒΗ 和ADEF从凸多边形中剖分出去,得到剩余多边形B⑶FGH。步骤3,重复步骤2,对剩余多边形B⑶FGH继续剖分,直至将图2凸多边形剖分完 毕,如图3所示。步骤4,计算剖分得到的所有三角形的质量因子,三角形的质量因子q计算公式 为 其中,S为三角形的面积,a、b、c为三角形边长。步骤5,根据步骤四中计算得到的三角形的质量因子值进行如下判断和处理如果所有三角形的质量因子值q都大于设定阈值qmin= 0. 3,将剖分得到的全部三 角形输出;如果存在质量因子值q小于设定阈值qmin的三角形,则执行步骤6。步骤6,将质量因子值q小于设定阈值qmin的三角形按质量因子值的大小由小到 大排序,如图3所示的所有三角形中,ΔΑΒΗ和ADEF的质量因子值分别是0.255871和 0.210655,将这两个三角形排序,ADEF在前,Δ ABH在后,依次将已排序的三角形中的每个 三角形与其相邻的三角形进行合并成四边形6. 1)如果与该三角形相邻的三角形只有1个,则直接将这两个三角形合并成四边 形,如图3所示的Δ DEF,与其相邻的三角形只有ADR;,将三角形ADEF和ADTO合并成四 边形DER;输出;与ΔΑΒΗ相邻的三角形只有ABCH,将三角形ΔΑΒΗ和ABCH合并成四边 形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,求出非凹四边形中每个顶点的χ坐标值,这些χ坐标值中的最大值和最小 值的平均值记为厶求出非凹四边形中每个顶点的y坐标值,这些y坐标值中的最大值和最 小值的平均值记为7,得到非凹四边形包围盒中心0点的坐标(厶如图6非凹四边形包 围盒的中心为仏。步骤C,在图6非凹四边形的3个凹点B、E、G中选出与中心O1距离最近的凹点G 作为第一分割点,求出平分该凹点G对应凹角的射线1,并求出图6非凹四边形上与射线1 相交的边AB。
步骤D,在这些与射线1相交的边中找出与第一分割点距离最近的边,该边记为 A1B1,其中A1点是边A1B1的两个端点中与第一分割点距离较近的端点,如果~点和第一分 害IJ点相邻,则将B1点作为第二分割点;如果A1点和第一分割点不相邻,则将A1点作为第二 分割点,在图6中只有AB边与射线1相交,在AB边的两个端点A、B中,找出与第一分割点 G距离最近的端点B作为第二分割点。步骤E,将第二分割点与第一分割点相连接作为分割线,如将图6第二分割点B与 第一分割点G相连接作为分割线,分割线把图6非凹四边形分割成两个子多边形B⑶Ere和 ABGHI,如图7所示。步骤F,由于步骤E得到的子多边形B⑶ER;是凹多边形,对其执行步骤A 步骤E 进行分割,直至每个分割出的子多边形不含凹点;由于子多边形ABGHI是凸多边形,对其按 图1所述的凸多边形网格预剖分方法剖分。步骤G,对步骤E中得到的每条分割线,如果分割线两侧有两个三角形,则计算出 这两个三角形的质量因子,如果这两个三角形的质量因子值有一个小于设定阈值qmin,则将 这两个三角形拟合并,如果拟合并得到的四边形是凸四边形,如图8,分割线EG两侧有两个 三角形Δ EFG和Δ BEG,其中Δ EFG的质量因子值是0. 255871小于设定阈值qmin = 0. 3,将 其与ABEG拟合并得到四边形BETO,该四边形是凸四边形,将其输出,如图9所示;否则不 进行合并。参照图10,本发明基于质量因子的含内环多边形表面网格预剖分,包括如下步 骤步骤一,在如图11所示的含内环多边形的上方,先找出其外环上y坐标值最大的 点P2,其前一点和后一点分别为P1和P3 ;再找出其内环上y坐标值最大的点P9,其前一点和 后一点分别为P8和P10 ;在外环上选择点P2与P3或点P1与P2,内环上选择点P9与P10或点 P8与P9,得到4个四边形P1P2P9Pltl,P1P2P8P9,P2P3P9Pltl,P2P3P8P9,在这4个四边形中,将与图11 含内环多边形都不相交的四边形P1P2P9Plc^P1P2P8P9和P2P3P8P9作为用于剖分的可选四边形。步骤二,在如图11所示的含内环多边形的下方,先找出其外环上y坐标值最小的 点P7,其前一点和后一点分别为P6和Po ;再找出其内环上y坐标值最小的点Pu,其前一点 和后一点分别为P10和P8,在外环上选择点P6与P7或点P7与P0,内环上选择点P11与P8或 点 P1。与 P11,得到四个四边形 P6P7P11P8, P6P7P10P11, P7PclPltlP11, P7PclP11P8,在这 4 个四边形中,将 与图11含内环多边形都不相交的四边形P6P7P11P^P6P7PiciP11和P7PciPltlP11作为用于剖分的可 选四边形。步骤三,在如图11所示的含内环多边形的左方,先找出外环上χ坐标值最小的点P4,其前一点和后一点分别为P3和P5 ;再找出其内环上x坐标值最小的点P8,其前一点和后 一点分别为Pn和P9,在外环上选择点P3与P4或点P4与P5,内环上选择点P8与P9或点Pn 与P8,得到四个四边形p3p4p8p9,p4p5p8p9,P3P4PnP8,P4P5P11P8'在这4个四边形中,将与图11含 内环多边形都不相交的四边形P3P4P8P9,P3P4PiiP8和P4P5PnP8作为用于剖分的可选四边形。步骤四,在如图11所示的含内环多边形的右方,先找出外环上x坐标值最大的点 Pl,其前一点和后一点分别为Po和P2;再找出其内环上x坐标值最大的点p1(l,其前一点和后 一点分别为P9和Pn,在外环上选择点Po与Pi或点Pi与P2,内环上选择点P9与P1(1或点P1Q 与Pn,得到四个四边形PcW^Pk),PoPiPioPii' P1P2P9P10' PiP^oPn,在这4个四边形中,将与图 11含内环多边形都不相交的四边形PoPiPgPu)和PihPgPi。作为用于剖分的可选四边形。步骤五,对步骤一至步骤四中得到的用于剖分的可选四边形进行如下判断并输 出如果步骤一至步骤四中得到的用于剖分的可选四边形中有凸四边形,如图11中 的 6 个凸四边形:p2p3p8p9, p6p7p10pn, P7PoPioPii' P3P4P11P8' P4P5P11P8 和 P。PiP9Pi。,则计算这些凸 四边形的质量因子,将其中质量因子值最大的凸四边形Pc^PgPi。输出;如果步骤一至步骤四中得到的四边形全是凹四边形,则按照以下步骤确定出质量 最好的凹四边形,将其剖分成两个三角形输出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)是凹五边形,由于Ap E1, D1三点在一条直线上,所以顶点E1是凹点,该 五边形是凹五边形,对其按基于质量因子的凹多边形表面网格预剖分方法剖分,得到如图 14(e)所示的剖分结果,对图中不可见的侧面凹五边形按相同方法剖分。图14(f)是含内环表面1,对其按基于质量因子的凹多边形表面网格预剖分方法 剖分,得到如图14(g)所示的剖分结果,对含内环表面2按相同方法剖分。图14(h)是该实例的最终网格预剖分示意图。由图13(f)和图14(h)可见,本发明网格预剖分可行,剖分得到的三角形、四边形 质量良好,能满足进一步网格划分对形状质量的要求。
权利要求
一种基于质量因子的凸多边形表面网格预剖分方法,包括如下步骤(1)对于三角形或四边形的凸多边形,直接输出该图形;否则,执行步骤(2)进行剖分;(2)求出凸多边形的最长对角线,并用该对角线端点和其相邻的两个顶点剖分出2个三角形;(3)重复步骤(2),对凸多边形的剩余部分继续剖分,直至剖分完毕,最后得到若干个三角形;(4)计算剖分得到的所有三角形质量因子q <mrow><mi>q</mi><mo>=</mo><mfrac> <mrow><mn>4</mn><msqrt> <mn>3</mn></msqrt><mi>S</mi> </mrow> <mrow><msup> <mi>a</mi> <mn>2</mn></msup><mo>+</mo><msup> <mi>b</mi> <mn>2</mn></msup><mo>+</mo><msup> <mi>c</mi> <mn>2</mn></msup> </mrow></mfrac><mo>,</mo> </mrow>0≤q≤1其中,S为三角形的面积,a、b、c为三角形边长;(5)将计算得到的所有质量因子值q与设定阈值qmin=0.3进行比较,如果所有三角形的质量因子值q都大于阈值qmin,将剖分得到的全部三角形输出;如果存在质量因子值q小于设定阈值qmin的三角形,则对这些三角形按质量因子值由小到大的顺序依次进行如下处理将每个三角形与其相邻的三角形进行合并形成四边形,如果该三角形相邻的三角形只有1个,则直接将这两个三角形合并得到四边形,并将其输出;如果该三角形相邻的三角形有2个或者3个,则将该三角形与其相邻的三角形分别合并,得到2个或3个四边形,并按如下公式计算这些四边形的质量因子β,将具有最大质量因子值的四边形输出, <mrow><mi>&beta;</mi><mo>=</mo><mfrac> <mrow><mn>12</mn><msup> <mi>S</mi> <mo>&prime;</mo></msup> </mrow> <mrow><msup> <mi>a</mi> <mrow><mo>&prime;</mo><mn>2</mn> </mrow></msup><mo>+</mo><msup> <mi>b</mi> <mrow><mo>&prime;</mo><mn>2</mn> </mrow></msup><mo>+</mo><msup> <mi>c</mi> <mrow><mo>&prime;</mo><mn>2</mn> </mrow></msup><mo>+</mo><msup> <mi>d</mi> <mrow><mo>&prime;</mo><mn>2</mn> </mrow></msup><mo>+</mo><msup> <mrow><mn>2</mn><mi>e</mi> </mrow> <mrow><mo>&prime;</mo><mn>2</mn> </mrow></msup><mo>+</mo><msup> <mrow><mn>2</mn><mi>f</mi> </mrow> <mrow><mo>&prime;</mo><mn>2</mn> </mrow></msup> </mrow></mfrac> </mrow>0≤β≤1其中,S′为四边形的面积,a′、b′、c′、d′为四边形的边长,e′、f′为四边形两条对角线长度。
2.一种基于质量因子的凹多边形表面网格预剖分方法,包括如下步骤1)对于凹四边形表面,将凹点与其相对的顶点相连形成2个三角形输出;否则,执行步 骤2);2)求出凹多边形χ坐标最大值和最小值,并计算二者平均值5;求出凹多边形y坐标最 大值和最小值,并计算二者平均值▽,得到该凹多边形包围盒中心坐标(厶^);3)在凹多边形的所有凹点中选出与点距离最近的凹点U作为第一分割点,求解 平分该凹点对应凹角的射线1,并求出多边形上与射线1相交的边;4)在这些与射线1相交的边中找出与凹点U距离最近的边,在该边的两个端点中找出 与U点距离最近的端点,如果该端点和U点相邻,将该边的另一端点作为第二分割点;如果 该端点和U点不相邻,将该端点作为第二分割点;5)将第二分割点与第一分割点相连接作为分割线,分割线把该多边形分割成两个子多 边形,如果分割出的子多边形中有凹多边形,对该凹多边形执行步骤1) 4)进行分割,直 至每个分割出的子多边形不含凹点;如果分割出的子多边形中有凸多边形,对该凸多边形 按基于质量因子的凸多边形表面网格预剖分方法进行剖分;6)对步骤5)中得到的每条分割线,如果该分割线两侧有两个三角形,则计算这两个三角形的质量因子,如果存在质量因子值q小于设定阈值qmin的三角形,将这两个三角形拟合 并,如果合并得到的四边形是凸四边形,将该四边形输出;否则,不合并。
3.一种基于质量因子的含内环多边形表面网格预剖分方法,包括如下步骤A)在含内环多边形的上、下、左、右四个方向上分别找出用于剖分的可选四边形;B)如果步骤A)中得到的四边形中有凸四边形,计算这些凸四边形的质量因子,将其中 质量因子值最大的凸四边形输出;如果步骤A)中得到的四边形全是凹四边形,确定质量最 好的凹四边形,将其剖分成两个三角形输出;C)将步骤B)中得到的两个三角形或凸四边形从该多边形中剖分出去,得到剩余多边 形,对该剩余多边形重复步骤A) B)继续解环,直至剩余多边形不含内环;D)对步骤C)中得到的剩余多边形按基于质量因子的凹多边形表面网格预剖分方法进 行剖分。
4.根据权利要求3所述的含内环多边形表面网格预剖分方法,其中步骤A)所述的在 含内环多边形的上、下、左、右四个方向上分别找出用于剖分的可选四边形,按如下步骤进 行4a)在含内环多边形的上方,先找出其外环上y坐标值最大的点记为Pi,将该最大点的 前一点和后一点分别记为Ph和Pi+1 ;再找出其内环上y坐标值最大的点记为Pj,将该最大 点的前一点和后一点分别记为Py1和Pp1 ;在外环上选点Pi、Pi+1或者Pi^Pi,在内环上选点 Pj> Pj+ι 或者 Pj-I> Pj,得到四个四边形 PiPi+iPjPJ+i> Pi-iPiPjPj+i^ PiPi+iPj-iPj 和 Pi-iPiPj-iPj 找出 这四个四边形中四条边与该多边形都不相交的四边形作为拟用于剖分的四边形;4b)在含内环多边形的下方,先找出其外环上y坐标值最小的点记为ps,将该最小点的 前一点和后一点分别记为ps-i和ps+1 ;再找出其内环上y坐标值最小的点记为Pt,将该最小 点的前一点和后一点分别记为Ph和Pt+1,外环上选点Ps、Ps+1或者Pd、Ps,内环上选点Pt、 pt+1 或者 Ph、Pt,得到四个四边形 psps+1ptpt+1、Ps^1PsPtPt+!、PsPstlPt^Pt 和 Ps^1PsPHPt,找出这四 个四边形中四条边与该多边形都不相交的四边形作为拟用于剖分的四边形;4c)在含内环多边形的左方,先找出其外环上X坐标值最小的点记为pm,将该最小点的 前一点和后一点分别记为Pnrl和Pm+1 ;再找出其内环上X坐标值最小的点记为Pn,将该最小 点的前一点和后一点分别记为Plri和Pn+1,外环上选点Pm、Pm+1或者Pm-P Pm,内环上选点Pn、 Pn+1 或者 Ρη-ι、Ρη,得到四个四边形 PmPm+1PnPn+1、PnriPmPJV1、PJV1PlriPn 和 PnrlPJV1Pn,找出这四 个四边形中四条边与该多边形都不相交的四边形作为拟用于剖分的四边形;4d)在含内环多边形的右方,先找出其外环上χ坐标值最大的点记为pu,将该最大点的 前一点和后一点分别记为Plri和Pu+1 ;再找出其内环上X坐标值最大的点记为Pv,将该最大 点的前一点和后一点分别记为Pv-i和Pv+1,外环上选点Pu、Pu+1或者Pu-i、Pu,内环上选点Pv、 Pv+1 或者 Pv-1、Pv 得到四个四边形 PuPu+iPvPv+i、Pu-iPuPvPv+i、PuPu+iPv-iPv 禾口 Pu-iPuPv-iPv,找出这四 个四边形中四条边与该多边形都不相交的四边形作为拟用于剖分的四边形。
5.根据权利要求3所述的含内环多边形表面网格预剖分方法,其中步骤B)所述的确定 质量最好的凹四边形,是按如下步骤进行5a)对每个凹四边形,连接凹点和该凹点的相对顶点,将凹四边形剖分成两个三角形;5b)计算其剖分后的两个三角形的质量因子,将较大的质量因子值记为qg(g = 1 16),较小的质量因子值记为q' S(s=l 16);5c)找出所有q' S(s= 1 16)中的最大者,如果最大者只有1个,则它对应的凹四 边形质量最好;如果最大者不止1个,比较最大者所在凹四边形的另外一个三角形的质量 因子qg,具有最大qg的凹四边形质量最好。
全文摘要
本发明公开了一种基于质量因子的复杂平表面网格预剖分方法,主要解决现有网格划分通用性差和表面剖分形状质量不能保证的问题。本发明以设定的质量因子阈值为限定条件,将表面预剖分分为凸多边形表面剖分、凹多边形表面剖分和含内环多边形表面剖分。凸多边形剖分方法是先将凸多边形全部剖分为三角形,再将质量因子值低于设定阈值的三角形合并为四边形;凹多边形表面的剖分是先将其剖分成多个凸多边形,然后调用凸多边形剖分方法;含内环表面的剖分是先将其解环得到若干个凹多边形,然后调用凹多边形剖分方法。本发明具有通用性强、图形剖分形状质量好、复杂度低的优点,主要用于有限元或矩量法网格划分,也可用于计算机图形显示。
文档编号G06T17/00GK101877145SQ20101017988
公开日2010年11月3日 申请日期2010年5月21日 优先权日2010年5月21日
发明者屈会雪, 张佳峰, 朱言午, 田锦, 许社教, 邱扬 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1