一种图形偏移方法技术

技术编号:36112415 阅读:16 留言:0更新日期:2022-12-28 14:15
本发明专利技术公开了一种图形偏移方法,包括以下步骤:步骤S1将带圆弧的第一多边形中的圆弧用直线段进行拟合,并将拟合圆弧与带圆弧的第一多边形中的直线段连接,形成直线的第二多边形;步骤S2对直线多边形做偏移计算,形成偏移后的第三多边形;步骤S3将第一多边形中的圆弧进行偏移形成缺口圆环;步骤S4将缺口圆环与第三多边形做相并运算。本发明专利技术可应用于EDA领域图形偏移运算的准确计算,可将原准确偏移运算的适用范围从直线段简单多边形推广到带圆弧的简单多边形,从而使得偏移的计算范围更大,精度控制更好。精度控制更好。精度控制更好。

【技术实现步骤摘要】
一种图形偏移方法


[0001]本专利技术涉及电子设计自动化和计算机辅助设计领域,具体的涉及一种带圆弧多边图形的偏移方法。

技术介绍

[0002]图形的偏移技术,是指输入一个任意合法多边形(例如为闭合的简单多边形)与一个偏移距离参数d,从而得到一个新的多边形,并且使得偏移后的多边形离偏移前的多边形的距离总是保持大于或等于给定的偏移距离参数d。
[0003]图形偏移技术在电子设计自动化(简称EDA)领域是非常重要的一环,比如设计规则检查DRC (简称DRC)检查会需要检查不同模块之间的距离从而满足最小距离的约束;一旦模块无法满足最小距离约束,就要对模块进行推挤,即减去当前模块的一部分甚至全部,从而满足最小距离约束。图形偏移技术能够保证尽量少的部分被减去,获得最佳被减大小。
[0004]图形的偏移会基于对每条边往偏移方向平移,来生成偏移后的多边形。单纯平移后,边与边之间无法相连形成完整多边形,通常需要利用圆弧过渡连接新的边得到带圆弧的多边形;或者通过延长平移后的边,求出边与边之间的新交点,通过夹角大小控制后再连接成完整多边形。比如Cadence公司的芯片设计软件Allegro Package Designer(简称APD),是在对所有边往其法线方向进行外扩距离d平移,之后对于外凸的夹角,使平移后的边延长求出交点从而得到新的端点;而对于内凹的夹角,可以直接通过平移后的线段求出交点。在上述操作过后,可以得到一个初步的外扩多边形,之后APD对得到的多变形进行acute angle trim control(锐角控制),即对于多边形的所有锐角,当锐角的两边间距超过一个预设好的阈值的时候,用自定义的形式来连接当前的间距,但无法保证外扩距离恒为d。
[0005]目前,已有图形运算库CGAL基于Minkowski sum(闵可夫斯基和)做成了理论意义上准确的多边形等距偏移。给定图形A,B∈R2,其Minkowski sum定义为:即输入为2个多边形,然后基于其中一个多边形的所有端点为中心,画出另一个多边形的所有边,之后去除掉多余的边从而形成结果的多边形。基于Minkowski sum的offset是在以输入多边形为基础多边形,以外扩距离d为半径的圆为相加图形从而做成的准确版本偏移;而因为图形运算库 CGAL的所有边需要保证有理数(或有理代数数)的特性,而直接偏移圆弧会直接破坏有理特性,因此,图形运算库CGAL目前仅支持普通直线段多边形的偏移操作,并不支持带圆弧的多边形的偏移;类似的,图形库clipper本身只支持普通多边形,无法接受圆弧多边形作为偏移输入。

技术实现思路

[0006]本专利技术的目的在于克服现有图形偏移技术的缺陷,提供一种带圆弧多边图形准确偏移方法。不仅能够同时支持带圆弧多边形的偏移,而且偏移的圆弧也同样保证结果准确。
[0007]为了实现以上目的及其他目的,本专利技术是通过以下技术方案实现的:一种图形偏
移方法,包括以下步骤:
[0008]步骤S1将第一多边形中的圆弧用直线段进行拟合形成拟合圆弧,并将所述拟合圆弧与第一多边形中的直线段连接,形成第二多边形;
[0009]步骤S2对第二多边形做偏移计算,形成偏移后的第三多边形;
[0010]步骤S3将所述第一多边形中的圆弧进行偏移形成缺口圆环;
[0011]步骤S4将所述缺口圆环与所述第三多边形做相并运算。
[0012]上述步骤S1中将带圆弧的多边形中的圆弧进行拟合,包括以下步骤:
[0013]步骤S11判断圆弧是否为外凸形态;
[0014]如果步骤S11的结果为是,执行步骤S12在圆弧上选取若干个端点,并将这些端点相连来拟合该圆弧,形成拟合圆弧;
[0015]如果步骤S11的结果为否,执行步骤S13在圆弧上选取若干个端点,做经过这些端点且与圆弧相切的切线,连接这些切线的交点来拟合该圆弧,形成拟合圆弧。
[0016]上述步骤S2中,圆弧为外凸形态,形成的拟合圆弧的偏移计算,包括如下步骤,在拟合圆弧每个端点上做以所述端点为圆心,偏移距离为半径的整圆,相邻两个圆切线,即为偏移后的边。
[0017]上述步骤S2中,圆弧为非外凸形态,形成的拟合圆弧的偏移计算,包括如下步骤,在拟合圆弧每个端点上做以端点为圆心的整圆上寻找连线起始点,经过起始点作整圆的切线,切线与整圆相切于起始点,且切线与整圆圆心的相连边平行;延长这条切线直到相交于下一个如此重复上述步骤的切线;对所有其他端点延续上述步骤,直到得到一个许多边以及整圆的集合。
[0018]本专利技术还提供一种系统,包括,至少一个处理器;以及
[0019]计算机可读存储介质,存储在由所述至少一个处理器执行时使所述系统执行以下操作的指令:
[0020]计算机可读存储介质,存储在由所述至少一个处理器执行时使所述系统执行以下操作的指令:
[0021]将第一多边形中的圆弧进行拟合,并将拟合圆弧与第一多边形中的直线段连接,形成第二多边形;
[0022]对第二多边形做偏移计算,形成偏移后的第三多边形;
[0023]将第一多边形中的圆弧进行偏移形成缺口圆环;
[0024]将缺口圆环与所述第三多边形做相并运算。
[0025]上述将带圆弧的多边形中的圆弧进行拟合,包括以下操作指令:
[0026]判断圆弧是否为外凸形态;
[0027]结果为是,在圆弧上选取若干个端点,并将这些端点相连来拟合该圆弧,形成拟合圆弧;
[0028]结果为否,在圆弧上选取若干个端点,做经过这些端点且与圆弧相切的切线,连接这些切线的交点来拟合该圆弧,形成拟合圆弧。
[0029]上述圆弧为外凸形态,形成的拟合圆弧的偏移计算,包括如下操作指令,在拟合圆弧每个端点上做以所述端点为圆心,偏移距离为半径的整圆,相邻两个圆切线,即为偏移后的边。
[0030]上述圆弧为非外凸形态,形成的拟合圆弧的偏移计算,包括如下操作指令,在拟合圆弧每个端点上做以端点为圆心的整圆上寻找连线起始点,经过起始点作整圆的切线,切线与整圆相切于起始点,且切线与整圆圆心的相连边平行;延长这条切线直到相交于下一个如此重复上述步骤的切线;对所有其他端点延续上述步骤,直到得到一个许多边以及整圆的集合。
[0031]与现有的技术相比,本专利技术的有益之处在于通过将所有圆弧拟合形成普通多边形,将被拟合的圆弧记录下来生成对应的偏移缺口圆环,对普通多边形采用偏移算法以后与偏移缺口圆环作相并运算得到最终图形,同时也是“闵可夫斯基和的准确值”,从而将原准确偏移运算的适用范围从直线段简单多边形推广到带圆弧的简单多边形,从而使得偏移的计算范围更大,精度控制更好。
[0032]下面结合附图对本专利技术作进一步的详细说明。
附图说明
[0033]图1显示为本专利技术图形偏移的方法步骤流程图。
[0034]图2显示为本专利技术将带圆弧的多边形中的圆弧进行拟合的的方法步骤流程图。
[0035]图3显示为本专利技术圆弧为凸形态偏移比对图。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种图形偏移方法,其特征在于,包括以下步骤:步骤S1将第一多边形中的圆弧用直线段进行拟合形成拟合圆弧,并将所述拟合圆弧与第一多边形中的直线段连接,形成第二多边形;步骤S2对第二多边形做偏移计算,形成偏移后的第三多边形;步骤S3将所述第一多边形中的圆弧进行偏移形成缺口圆环;步骤S4将所述缺口圆环与所述第三多边形做相并运算。2.如权利要求1所述一种图形偏移方法,其特征在于,所述步骤S1中将带圆弧的多边形中的圆弧进行拟合,包括以下步骤:步骤S11判断圆弧是否为外凸形态;如果步骤S11的结果为是,执行步骤S12在圆弧上选取若干个端点,并将这些端点相连来拟合该圆弧,形成拟合圆弧;如果步骤S11的结果为否,执行步骤S13在圆弧上选取若干个端点,做经过这些端点且与圆弧相切的切线,连接这些切线的交点来拟合该圆弧,形成拟合圆弧。3.如权利要求2所述一种图形偏移方法,其特征在于,所述步骤S2中,圆弧为外凸形态,形成的拟合圆弧的偏移计算,包括如下步骤,在拟合圆弧每个端点上做以所述端点为圆心,偏移距离为半径的整圆,相邻两个圆切线,即为偏移后的边。4.如权利要求3所述一种图形偏移方法,其特征在于,所述步骤S2中,圆弧为非外凸形态,形成的拟合圆弧的偏移计算,包括如下步骤,在拟合圆弧每个端点上做以端点为圆心的整圆上寻找连线起始点,经过起始点作整圆的切线,切线与整圆相切于起始点,且切线与整圆圆心的相连边平行;延长这条切线直到相交于下一个如此重复上述步骤的切线;对所有其他端点延...

【专利技术属性】
技术研发人员:胡志欧挺吴晨曦
申请(专利权)人:深圳华芯盛软件科技有限公司
类型:发明
国别省市:

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

1