一种基于布尔运算的可封闭无序线段组轮廓求解方法技术

技术编号:33247162 阅读:13 留言:0更新日期:2022-04-27 18:01
本发明专利技术公开一种基于布尔运算的可封闭无序线段组轮廓求解方法,其包括如下步骤:在平面中输入散乱无序线段组;在每条线段两个端点处作该线段的法向量,且两个法向量方向相反,且与线段在同一平面内;将每条线段沿法向量的两个方向分别平移一个微小的距离Δ,以平移后的两条线段作为矩形的长、两倍Δ值为矩形的宽构造直线段的特征矩形;对所有线段生成的矩形作布尔并集运算;选取并集的内轮廓或外轮廓作为可封闭无序线段组的轮廓进行填充。通过利用以上方法可以得到所需有向封闭的轮廓线,避免了对线段组的排序,减轻了计算量,降低了求解轮廓算法的时间复杂度,有效地提升了轮廓搜索效率。效率。效率。

【技术实现步骤摘要】
一种基于布尔运算的可封闭无序线段组轮廓求解方法


[0001]本专利技术涉及计算机辅助几何设计领域,尤其涉及一种基于布尔运算的可封闭无序线段组轮廓求解方法。

技术介绍

[0002]求解平面内无序线段组首尾相连多边形轮廓的应用在计算机辅助几何设计中被广泛应用,比如三维打印的切片算法、激光套料中的连接算法等。工业几何算法中最广泛使用的几何模型格式为STL格式,即离散三角面片模型。STL模型是通过使用大量的无规律的空间三角化面片来模拟近似三维实体模型的。因此,在几何计算过程中,模型轮廓往往是由大量无序的微小线段围成。若要得到可用的有向封闭轮廓曲线,则需要相关算法对该可封闭无序线段组进行处理。
[0003]在现有的文献中,有三种轮廓求解算法。第一种是基于三角面片拓扑信息的算法,先求得与切平面相交的一个目标三角面片的焦点坐标j1、j2,在找到与之链接的下一个三角面片,再次求交,如此反复,最后根据焦点顺序依次连接即可。第二种是基于模型几何特征的算法,通过定义三角面片的“势”和“能量”,分出“级”和“类”。该算法适用的场合有限。第三种是基于模型几何连续性的算法,其核心是利用STL模型的连续性,原理与第一种算法相似,缺点是处理难度较大。
[0004]综上所示,以上三种切片算法求解难度大,耗时长,随着线段数量的增多,以上算法的时间复杂度接近O(n2)。

技术实现思路

[0005]本专利技术提供了一种基于布尔运算的可封闭无序线段组多边形轮廓求解方法,该方法对平面内一组无序排列的可封闭线段组进行多边形轮廓求解,在保证精度的同时实现更优的全局效率。
[0006]本专利技术的目的通过如下的技术方案来实现:
[0007]一种基于布尔运算的可封闭无序线段组轮廓求解方法,该方法具体包括如下步骤:
[0008]S1:在平面中输入散乱无序线段组;
[0009]S2:在每条线段两个端点处作该线段的法向量,且两个法向量方向相反,且与线段在同一平面内;
[0010]S3:将每条线段沿法向量的两个方向分别平移一个微小的距离Δ,以平移后的两条线段作为矩形的长、两倍Δ值为矩形的宽构造直线段的特征矩形;
[0011]S4:对所有线段生成的矩形作布尔并集运算;
[0012]S5:选取并集的内轮廓或外轮廓作为可封闭无序线段组的轮廓进行填充。
[0013]进一步地,线段平移距离Δ要足够小,且确保相邻的特征矩形之间有交集。
[0014]进一步地,执行完S4后,选取并集的内轮廓向外偏置Δ的偏置轮廓或选取并集的
外轮廓向内偏置Δ的偏置轮廓作为可封闭无序线段组的轮廓进行填充。
[0015]本专利技术的有益效果如下:
[0016]与传统无序散乱线段连接算法相比,基于布尔运算的可封闭无序线段组多边形轮廓求解方法通过生成若干个矩形,避免了对线段组排序的复杂计算,就可以得到有向的首尾相连的封闭多边形轮廓。具有以下优点:
[0017](1)不需要建立无序散乱线段组的拓扑链接信息;
[0018](2)求解速度更快。此方法避免了对线段组的排序,减轻了计算量,有效地提升了切片效率。
[0019](3)算法时间复杂度为O(n),而传统通过对线段组的排序的算法时间复杂度为O(n2),复杂度大大降低。
[0020](4)本专利技术的方法可以在三维打印切片后求解切片轮廓,激光套料求解连接路径等实际问题中有重要的应用。
附图说明
[0021]图1为本专利技术基于布尔运算的可封闭无序线段组轮廓求解方法流程图;
[0022]图2为STL模型三维切片过程示意图;其中,左图为STL网格模型,中图为用切割平面与STL模型截交;右图为切片获得的无序线段祖;
[0023]图3为线段组特征矩形生成原理图;其中,右上图为无序线段组的局部放大图,右中图为作各个线段的法向量;右下图为生产的各个线段的特征矩形;
[0024]图4为目标线段组特征矩形的布尔并集轮廓;其中,左图为各个线段的特征矩形,中图为特征矩形取并集后的结果,右图为生成目标线段组的内轮廓和外轮廓。
[0025]图5为线段组的目标多边形连接轮廓;
[0026]图6为线段组连接多边形在切片后序环节的应用示意图。
具体实施方式
[0027]下面根据附图和优选实施例详细描述本专利技术,本专利技术的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0028]本专利技术的实施步骤如如图1所示,包括如下步骤:
[0029]S1:在平面中输入散乱无序线段组,记作Vector<Segment>{Seg1、Seg2、

、Seg
n
};
[0030]散乱无序的线段组是属于同一平面的,且该线段组可首尾相连形成封闭多边形。
[0031]S2:在每条线段两个端点处作该线段的法向量,且两个法向量方向相反,且与线段在同一平面内;记作{n1,n2,

,n
k
};
[0032]S3:将每条线段沿法向量的两个方向分别平移一个微小的距离Δ,以平移后的两条线段作为矩形的长、两倍Δ值为矩形的宽构造直线段的特征矩形;
[0033]为了确保所生成的轮廓的精确性,线段平移距离Δ要足够小,同时要确保矩形之间有交集。
[0034]S4:对所有线段生成的矩形作布尔并集运算;
[0035]S5:选取并集的内轮廓或外轮廓作为可封闭无序线段组的轮廓。
[0036]由于平移距离Δ足够小,因此矩形并集的内外轮廓相差不大,可根据实际情况选
定所需目标轮廓。
[0037]删除目标轮廓的多余部分,最终得到有向封闭的轮廓线。要保证所得轮廓中不存在多余的点、重复的交线段,且最终生成的封闭轮廓不存在环自交与相交的问题。
[0038]该实施例以三维打印STL模型的三维切片为具体工程应用场景,当采用平面与STL模型作截交运算,获得一组可封闭无序线段,为生成该层加工区域的填充路径,需将内、外轮廓由线段组转化为多边形,如图2所示。本实施例中基于布尔运算的可封闭无序线段组轮廓求解方法包括如下步骤:
[0039](1)平面与STL模型相交后,获得以无序线段组为数据结构的轮廓模型,其数据结构可以表述为:Vector<Segment>{Seg1、Seg2、

、Seg
n
},其中,相邻的元素Seg
i
与Seg
i+1
在空间中未必是相邻的线段,若采用暴力遍历算法,找到首尾相连的多边形轮廓空间复杂度为O(n2)。
[0040](2)作出各条线段的法向量,记作{n1,n2,

,n
k
},该法向量要与线段组在同一平面内。切片生成的线段组Vector<Segment>可逐段生成与线本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于布尔运算的可封闭无序线段组轮廓求解方法,其特征在于,该方法具体包括如下步骤:S1:在平面中输入散乱无序线段组;S2:在每条线段两个端点处作该线段的法向量,且两个法向量方向相反,且与线段在同一平面内;S3:将每条线段沿法向量的两个方向分别平移一个微小的距离Δ,以平移后的两条线段作为矩形的长...

【专利技术属性】
技术研发人员:孙扬帆吴凯林志伟沈洪垚
申请(专利权)人:浙江大学高端装备研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1