CN114266700A - 一种非规则轮廓的快速缩放方法 - Google Patents
一种非规则轮廓的快速缩放方法 Download PDFInfo
- Publication number
- CN114266700A CN114266700A CN202111522118.7A CN202111522118A CN114266700A CN 114266700 A CN114266700 A CN 114266700A CN 202111522118 A CN202111522118 A CN 202111522118A CN 114266700 A CN114266700 A CN 114266700A
- Authority
- CN
- China
- Prior art keywords
- contour
- point
- points
- cutting
- sharp
- 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.)
- Withdrawn
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开了一种非规则轮廓的快速缩放方法,包括如下步骤:S1、获取原始轮廓的全部轮廓点数据和预设调节距离L,计算原始轮廓的切割路径轮廓点作为切割路径初始点;S2、判断切割路径初始点在原始轮廓的位置;S3、根据切割路径初始点的位置判断其类型;S4、计算其余切割路径轮廓点,对应原始轮廓的轮廓点顺序连接各切割路径轮廓点形成第一切割轮廓;S5、删除第一切割轮廓中的变形点获得第二切割轮廓;S6、对第二切割轮廓进行优化获得最终切割轮廓。该方法有助于避免缩放后的轮廓出现自交以及避免缩放后产生的尖锐点对自身轮廓或其它轮廓的切割影响,可获得良好的廓形,尤其适用于非规则轮廓缩放,应用范围广。
Description
技术领域
本发明属于裁床技术领域,具体涉及一种非规则轮廓的快速缩放方法。
背景技术
自动裁切机器通过软件控制,可以根据设置好的切割路径切割各种各样形状的图案,在很多行业均有应用。随着机械制造、自动化技术的发展,裁切机可切割的精度越来越高,速度越来越快,切割效果越来越好,切割范围也越来越广。
如自动裁切机器广泛应用于广告行业和服装行业时,在切割之前,为了避免裁切后漏白边或者切到图案内容,需要在裁切之前对轮廓进行缩放处理,即对原轮廓向内缩进指定距离或者向外扩展指定距离。对轮廓进行内缩主要应用于广告行业,在广告行业中,切割广告牌时,为了避免切割后的广告牌露白边,需要进行轮廓内缩处理,使得实际切割时的轮廓比真实的轮廓向内缩进一部分,避免露白边。部分应用条件下需要对轮廓进行外扩处理,比如用铣刀铣轮廓时,按照实际轮廓轨迹去铣削,最后切割出的轮廓会向内缩进一个铣刀半径的距离,为了避免切割损失,需要在切割之前,对轮廓实际轨迹进行外扩。但现有技术中,待切割轮廓普遍采取图片轮廓提取的方式提取得到,这种轮廓边缘往往会存在小锯齿、小尖点,在进行缩放时缺乏考虑这些地方缩放后的轮廓自交及加工问题,不能获得良好的廓形。
发明内容
本发明的目的在于针对上述问题,提出一种非规则轮廓的快速缩放方法,该方法有助于避免缩放后的轮廓出现自交以及避免尖锐点对自身轮廓或其它轮廓的切割影响,可获得良好的廓形,尤其适用于非规则轮廓缩放,应用范围广。
为实现上述目的,本发明所采取的技术方案为:
本发明提出的一种非规则轮廓的快速缩放方法,包括如下步骤:
S1、获取原始轮廓的全部轮廓点数据和预设调节距离L,任取其一轮廓点记为A,对应计算原始轮廓的切割路径轮廓点作为切割路径初始点,切割路径初始点包括第一初始点M1和第二初始点M2;
S2、对第一初始点M1和第二初始点M2分别沿任一方向作射线,并统计各射线与原始轮廓的交点个数,若为奇数,则对应的初始点在原始轮廓内部,若为偶数,则对应的初始点在原始轮廓外部;
S3、根据第一初始点M1和第二初始点M2的位置判断各初始点的类型,即为内缩点或外扩点;
S4、选择所需初始点并依次计算其余切割路径轮廓点,各切割路径轮廓点顺序连接形成第一切割轮廓;
S5、删除第一切割轮廓中的变形点获得第二切割轮廓,具体如下:
S51、遍历原始轮廓的轮廓点和第一切割轮廓的切割路径轮廓点,计算两者之间任意两点间距是否小于预设调节距离L,若是,认为对应的切割路径轮廓点为第一变形点,并进行删除,否则保留;
S52、遍历步骤S51中余留的切割路径轮廓点,判断各切割路径轮廓点的相邻两个切割路径轮廓点是否均为第一变形点,若是,认为对应的切割路径轮廓点为第二变形点,并进行删除,否则保留;
S53、对比步骤S52中余留的切割路径轮廓点顺序连接形成的有向线段和原始轮廓对应点顺序连接形成的有向线段,判断对应的有向线段之间的夹角是否大于第一预设阈值,若是,认为有向线段的终点对应的切割路径轮廓点为第三变形点,并进行删除,否则保留;
S54、顺序连接步骤S53中余留的切割路径轮廓点形成第二切割轮廓;
S6、对第二切割轮廓进行优化获得最终切割轮廓,具体如下:
S61、遍历第二切割轮廓的切割路径轮廓点,计算各切割路径轮廓点和对应原始轮廓的轮廓点的距离T;
S62、判断距离T和预设调节距离L的比值是否大于第二预设阈值,若不大于第二预设阈值,则保留对应切割路径轮廓点,若大于第二预设阈值,则认为对应切割路径轮廓点为尖锐点并执行如下操作:
S621、计算各尖锐点的相邻两个切割路径轮廓点的中点,若中点在第二切割轮廓的内部,则对应的尖锐点为凸尖锐点,若中点在第二切割轮廓的外部,则对应的尖锐点为凹尖锐点;
S622、当尖锐点为凸尖锐点且第二切割轮廓为内缩轮廓时或当尖锐点为凹尖锐点且第二切割轮廓为外扩轮廓时,保留该尖锐点,否则,进行尖锐点优化处理;
S63、顺序连接第二切割轮廓中余留的切割路径轮廓点和优化的尖锐点形成最终切割轮廓。
优选地,切割路径初始点,计算过程如下:
其中,(xA,yA)、(xB,yB)、(xC,yC)分别对应轮廓点A、B、C的坐标;
S12、设|AM1|=|AM2|=z,根据
求得:
S13、计算第一初始点M1和第二初始点M2,公式如下:
优选地,步骤S2中,统计各射线与原始轮廓的交点个数前还执行如下步骤:
对比全部交点坐标,判断原始轮廓上相邻两条线段是否存在相同交点,若存在相同交点,则判断这两条线段的另一端点是否在射线的同一侧,当在同一侧,认为相同交点为两个有效交点,当不在同一侧,认为相同交点为一个有效交点;若不存在相同交点,则直接统计交点个数。
优选地,步骤S3中,根据第一初始点M1和第二初始点M2的位置判断各初始点的类型,具体如下:
当第一初始点M1和第二初始点M2分别位于原始轮廓两侧时,则在原始轮廓内部的点是内缩点,在原始轮廓外部的点是外扩点;
当第一初始点M1和第二初始点M2均位于原始轮廓外部时,分别判断各初始点与轮廓点A的连线与原始轮廓除轮廓点A外是否相交,若相交,则认为该初始点为内缩点,若不相交,则认为该初始点为外扩点;
当第一初始点M1和第二初始点M2均位于原始轮廓内部时,分别判断各初始点与轮廓点A的连线与原始轮廓除轮廓点A外是否相交,若相交,则认为该初始点为外扩点,若不相交,则认为该初始点为内缩点。
优选地,步骤S4中,选择所需初始点并依次计算其余切割路径轮廓点,具体如下:
S41、过选择的初始点作原始轮廓对应轮廓点所在线段之一的平行线,并作原始轮廓下一夹角的角平分线交平行线于一点,记为第i个切割路径轮廓点,i为正整数;
S42、替代选择的初始点为第i个切割路径轮廓点,返回执行步骤S41,并置i=i+1,直至完成原始轮廓的全部轮廓点的计算。
优选地,步骤S53中,第一预设阈值为120°。
优选地,步骤S61中,第二预设阈值为3。
优选地,步骤S622中,尖锐点优化处理过程如下:
S6221、过尖锐点对应的原始轮廓的轮廓点向该尖锐点所在的两条线段作垂线,垂足分别记为第一优化尖锐点Q21′和第二优化尖锐点Q23′;
S6222、计算第三优化尖锐点Q22′,公式如下:
其中,Q2′为尖锐点,Q2为尖锐点对应的原始轮廓的轮廓点;
S6223、将尖锐点替代为Q21′、Q22′和Q23′,Q21′、Q22′和Q23′即为优化的尖锐点。
与现有技术相比,本发明的有益效果为:该方法用于轮廓缩放,通过对初次缩放后的轮廓上的变形点进行处理,避免缩放后的轮廓出现自交问题,然后进一步对变形点处理后的轮廓中的尖锐点进行优化处理,避免尖锐点影响自身轮廓或其它轮廓切割效果,可获得良好的廓形,尤其适用于对由离散点组成的非规则复杂轮廓缩放指定距离,如应用于广告、服装等行业。
附图说明
图1为本发明非规则轮廓的快速缩放方法的流程图;
图2为本发明步骤S1中求取切割路径初始点的示意图;
图3为本发明步骤S2中判断初始点的位置示意图;
图4为本发明步骤S3中判断初始点的类型的实施例一示意图;
图5为本发明步骤S3中判断初始点的类型的实施例二示意图;
图6为本发明步骤S41中求取第二个切割路径轮廓点的示意图;
图7为本发明步骤S4中获取的第一切割轮廓(内缩)的示意图;
图8为本发明步骤S4中获取的第一切割轮廓(外扩)的示意图;
图9为本发明步骤S51中第一切割轮廓的局部变形示意图;
图10为本发明原始轮廓的内缩轮廓和外扩轮廓的理想轮廓图;
图11为本发明步骤S51中删除变形点后的轮廓图;
图12为本发明步骤S52中第一切割轮廓的局部变形示意图;
图13为本发明步骤S52中删除变形点后的轮廓图;
图14为本发明步骤S53中第一切割轮廓的局部变形示意图;
图15为本发明步骤S53中删除变形点后的轮廓图;
图16为本发明步骤S622中第二切割轮廓(外扩)带凸尖锐点的局部轮廓示意图;
图17为本发明步骤S622中第二切割轮廓(外扩)带凸尖锐点的局部轮廓优化后的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
如图1-17所示,一种非规则轮廓的快速缩放方法,包括如下步骤:
S1、获取原始轮廓的全部轮廓点数据和预设调节距离L,任取其一轮廓点记为A,对应计算原始轮廓的切割路径轮廓点作为切割路径初始点,切割路径初始点包括第一初始点M1和第二初始点M2。
在一实施例中,切割路径初始点,计算过程如下:
其中,(xA,yA)、(xB,yB)、(xC,yC)分别对应轮廓点A、B、C的坐标;
S12、设|AM1|=|AM2|=z,根据
求得:
S13、计算第一初始点M1和第二初始点M2,公式如下:
如图2所示,原始轮廓由轮廓点A、B、D、E、F、G、H、I、C顺序连接形成闭环图形,图2中的廓形仅用于说明本申请,具体廓形可根据实际需求确定。计算切割路径初始点(简称初始点)时可基于原始轮廓的任意轮廓点,如取轮廓点A,设置预设调节距离L(即原始轮廓需要内缩或外扩的距离),可根据实际需求设定。计算轮廓点A对应的第一初始点M1和第二初始点M2,具体地,已知A、B、C三点的坐标(xA,yA)、(xB,yB)、(xC,yC),求得 与∠BAC的角平分线l方向相同或者相反,如图2所示,和l在同一条直线上。第一初始点M1和第二初始点M2中一个为内缩点,一个为外扩点,无论是内缩点还是外扩点必然在∠BAC的角平分线上l上。因此,可根据上述公式求出第一初始点M1和第二初始点M2。
S2、对第一初始点M1和第二初始点M2分别沿任一方向作射线,并统计各射线与原始轮廓的交点个数,若为奇数,则对应的初始点在原始轮廓内部,若为偶数,则对应的初始点在原始轮廓外部。
在一实施例中,步骤S2中,统计各射线与原始轮廓的交点个数前还执行如下步骤:
对比全部交点坐标,判断原始轮廓上相邻两条线段是否存在相同交点,若存在相同交点,则判断这两条线段的另一端点是否在射线的同一侧,当在同一侧,认为相同交点为两个有效交点,当不在同一侧,认为相同交点为一个有效交点;若不存在相同交点,则直接统计交点个数。
具体地,步骤S1中已经求出第一初始点M1和第二初始点M2,分别以第一初始点M1和第二初始点M2沿任一方向作射线,通过判断射线与原始轮廓的交点个数区分对应初始点相对原始轮廓的位置。如果一射线与原始轮廓的交点个数是奇数,则该初始点在原始轮廓内部,如果一射线与原始轮廓的交点个数是偶数,则该初始点在原始轮廓外部。
如对第一初始点M1和第二初始点M2沿X轴(水平轴)负方向分别作射线,判断原始轮廓与射线的交点个数。为了减少计算量,无需对射线和原始轮廓的每个线段求交点,可以根据交点的Y坐标找出原始轮廓中的一些线段,这些线段满足:交点的Y坐标是在这些线段的Y坐标范围内的,只有这些线段才有可能与射线有交点。求出射线所在直线与线段所在直线的交点,判断该交点是否在线段上的同时也在射线上,如果满足这个条件,则记录该交点,最后完成对这些线段的计算和判断,可以得到交点的总数。
在交点求取结束,得到的交点中可能会存在无效交点的情况,需要判断并删除无效交点。如图3所示,为两种特殊情况,图中轮廓仅为示意,并不代表实际原始轮廓,在实际原始轮廓中可能不含这两种特殊情况或至少含这两种特殊情况其中之一。点P即第一初始点M1或第二初始点M2,图3(a)中,由轮廓点A1、B1、C1顺序连接形成封闭三角形轮廓,P点引出的射线与线段A1B1有交点B1,同时与线段B1C1也有交点B1。图3(b)中,由轮廓点A2、B2、C2、D2、E2顺序连接形成封闭多边形轮廓,由P点引出的射线与线段A2B2有交点B2,同时与线段B2C2也有交点B2。为了正确地对应奇偶数点数所代表的结果,删除无效交点,可以这样做:对求出的全部交点坐标(与不同线段相交的点即记为一个交点)进行比较,如果有相同交点,而且求出的相同交点对应的原始轮廓的两条线段是邻边,必然这个交点是这两条线段的连接点。判断这两条线段的另外一个点是否都在射线的同一侧,如图3(a)所示,图中线段A1B1、B1C1与射线的交点都为B1,判断A1、C1两点在射线的同一侧,认为射线与线段A1B1和线段B1C1分别有一个交点,共有两个交点,认为这两个交点都是有效交点,原交点总数不变。否则,如图3(b)所示,图中线段A2B2、B2C2与射线的交点都为B2,判断A2、C2两点不在射线的同一侧,认为射线与线段A2B2和线段B2C2两线段共有一个交点,即原交点总数减1。因此,可以判定,图3(a)中射线与轮廓有偶数个交点,点P在轮廓外,图3(b)中射线与轮廓有奇数个交点,点P在轮廓内。分别对第一初始点M1和第二初始点M2进行上述操作,即可以判定第一初始点M1和第二初始点M2处于原始轮廓内部还是原始轮廓外部。
S3、根据第一初始点M1和第二初始点M2的位置判断各初始点的类型,即为内缩点或外扩点。
在一实施例中,步骤S3中,根据第一初始点M1和第二初始点M2的位置判断各初始点的类型,具体如下:
当第一初始点M1和第二初始点M2分别位于原始轮廓两侧时,则在原始轮廓内部的点是内缩点,在原始轮廓外部的点是外扩点;
当第一初始点M1和第二初始点M2均位于原始轮廓外部时,分别判断各初始点与轮廓点A的连线与原始轮廓除轮廓点A外是否相交,若相交,则认为该初始点为内缩点,若不相交,则认为该初始点为外扩点;
当第一初始点M1和第二初始点M2均位于原始轮廓内部时,分别判断各初始点与轮廓点A的连线与原始轮廓除轮廓点A外是否相交,若相交,则认为该初始点为外扩点,若不相交,则认为该初始点为内缩点。
其中,步骤S2中已经判断出第一初始点M1和第二初始点M2处于原始轮廓内部还是原始轮廓外部。判断各初始点的类型具体分为如下三种情况:第一种情况,一个初始点在原始轮廓内部,一个初始点在原始轮廓外部,则在轮廓内部的初始点是内缩点,在原始轮廓外部的初始点是外扩点,如图2,M1为内缩点,M2为外扩点。第二种情况,两个初始点都在原始轮廓外部,分别判断M1与对应原始轮廓的轮廓点组成的线段和M2与对应原始轮廓的轮廓点组成的线段是否与原始轮廓中除了此对应原始轮廓的轮廓点所在的线段之外的线段相交,若相交,则认为该初始点为内缩点,若不相交,则认为该初始点为外扩点。如图4所示,图中轮廓仅为示意,并不代表实际原始轮廓,由于线段AM2与原始轮廓相交,因此M1是外扩点,M2是内缩点。第三种情况,两个初始点都在原始轮廓内部,分别判断M1与对应原始轮廓的轮廓点组成的线段和M2与对应原始轮廓的轮廓点组成的线段是否与原始轮廓中除了此对应原始轮廓的轮廓点所在的线段之外的线段相交,若相交,则认为该初始点为外扩点,若不相交,则认为该初始点为内缩点。如图5所示,图中轮廓仅为示意,并不代表实际原始轮廓,由于线段AM2与原始轮廓相交,因此M1是内缩点,M2是外扩点。这三种情况是实际处理时会产生的三种情况。通过这些判断,即可区别内缩点和外扩点。
S4、选择所需初始点并依次计算其余切割路径轮廓点,各切割路径轮廓点顺序连接形成第一切割轮廓。
在一实施例中,步骤S4中,选择所需初始点并依次计算其余切割路径轮廓点,具体如下:
S41、过选择的初始点作原始轮廓对应轮廓点所在线段之一的平行线,并作原始轮廓下一夹角的角平分线交平行线于一点,记为第i个切割路径轮廓点,i为正整数;
S42、替代选择的初始点为第i个切割路径轮廓点,返回执行步骤S41,并置i=i+1,直至完成原始轮廓的全部轮廓点的计算。
其中,步骤S3中已经区别出初始点为内缩点还是外扩点,内缩点即为内缩轮廓的切割路径初始点,外扩点即为外扩轮廓的切割路径初始点,可根据原始轮廓当下要进行的实际操作(内缩或外扩)选择合适的初始点。如原始轮廓进行内缩操作,则初始点选为M1,以第2个切割路径轮廓点的求解为例,剩下所有点的求解方法和第2个切割路径轮廓点的求解方法一致。如图6所示,过M1作线段AB的平行线交∠ABD的角平分线于B′,B′即为第2个切割路径轮廓点,具体求解过程如下:
(1)M1的坐标为(x′1,y′1),已知轮廓点A的坐标(xA,yA)、轮廓点B的坐标(xB,yB),则直线M1B′的方程式为:
因此,∠ABD的角平分线是:
(3)求直线M1B′和∠ABD的角平分线的交点,交点即为轮廓点B的内缩点B′。
求出内缩点B′后,以内缩点B′作原始轮廓对应轮廓点所在线段BD的平行线,并作原始轮廓下一夹角∠BDE的角平分线交平行线于一点,记为第3个切割路径轮廓点,以此类推,直至完成原始轮廓的全部轮廓点的计算,可以得到内缩轮廓的全部内缩点,如图7所示,M1、B'、D'、E'、F'、G'、H'、I'、C'依次为内缩轮廓的第1至第9个切割路径轮廓点,各切割路径轮廓点顺序连接即形成第一切割轮廓。外扩轮廓点的求解方法和内缩轮廓点的求解方法相同,区别在于初始点选为M2,如图8所示,M2、B"、D"、E"、F"、G"、H"、I"、C"依次为外扩轮廓的第1至第9个切割路径轮廓点,各切割路径轮廓点顺序连接(对应原始轮廓的轮廓点顺序)即形成第一切割轮廓。需要说明的是,按上述方法分别计算内缩轮廓和外扩轮廓,即可实现同时进行内缩和外扩操作。
S5、删除第一切割轮廓中的变形点获得第二切割轮廓,具体如下:
S51、遍历原始轮廓的轮廓点和第一切割轮廓的切割路径轮廓点,计算两者之间任意两点间距是否小于预设调节距离L,若是,认为对应的切割路径轮廓点为第一变形点,并进行删除,否则保留;
S52、遍历步骤S51中余留的切割路径轮廓点,判断各切割路径轮廓点的相邻两个切割路径轮廓点是否均为第一变形点,若是,认为对应的切割路径轮廓点为第二变形点,并进行删除,否则保留;
S53、对比步骤S52中余留的切割路径轮廓点顺序连接形成的有向线段和原始轮廓对应点顺序连接形成的有向线段,判断对应的有向线段之间的夹角是否大于第一预设阈值,若是,认为有向线段的终点对应的切割路径轮廓点为第三变形点,并进行删除,否则保留;
在一实施例中,步骤S53中,第一预设阈值为120°。
S54、顺序连接步骤S53中余留的切割路径轮廓点形成第二切割轮廓。
其中,变形点(如凹凸点、尖锐点、密集点等)处进行内缩和外扩很容易导致轮廓交叉,包括第一变形点、第二变形点和第三变形点。如图9所示,图中轮廓仅为示意,并不代表实际原始轮廓,实线示意为原始轮廓的局部,包括顺序连接的轮廓点F1、F2、F3、F4、F5、F6、F7、F8,虚线示意为内缩操作形成的第一切割轮廓的局部,包括顺序连接的切割路径轮廓点F1′、F2′、F3′、F4′、F5′、F6′、F7′、F8′,第一切割轮廓中的F3′、F4′、F5′交叠出一个小三角形,使得内缩后的轮廓相比原始轮廓发生了变形。图9仅示意了一种情况,在实际应用中还有多种轮廓交叉情况。对于轮廓交叉的处理,具体操作流程如下:
(1)首先利用内缩或者外扩的预设调节距离L过滤部分变形点。如图10所示,事实上,对于任何原始轮廓S,内缩或者外扩指定距离L,无论是内缩还是外扩,最终希望得到的完美轨迹是图10所示的内缩轮廓S1和外扩轮廓S2。如图10,如果内缩或外扩的距离是L,以L为半径作一个圆,把圆的圆心置于原始轮廓上,圆沿着原始轮廓轨迹走完,经过的位置都标为阴影,最后全部阴影形成的***的两个轮廓边就是原始轮廓的内缩和外扩轨迹。由此,可以看出,无论是内缩还是外扩,最后得到的轮廓轨迹点是不可能在阴影(不包括边界)中的,可以利用这个特点找出由第一切割轮廓求出的轮廓点集中变形的点,记为第一变形点。具体操作是:遍历原始轮廓的轮廓点集中的每一点和第一切割轮廓的轮廓点集中的每一点,如果原始轮廓的轮廓点集中有任意一点p1与第一切割轮廓的轮廓点集中的某一点p2满足:p2到p1的距离<预设调节距离L,则p2是导致变形的点,是不需要的点,将其记录下来,并进行删除。通过这样处理,图9中的F3′和F4′最终会被删除,剩下的点(F1′、F2′、F5′、F6′、F7′、F8′)按照原来顺序连接,最后形成了图11所示轨迹。外扩操作同上,可删除以L为半径范围内的对应变形点。
(2)其次通过对步骤S51处理后的第一切割轮廓分段进一步处理变形点。如图10所示,虽然在阴影部分的切割路径轮廓点是无效的,可以被删除,这种处理已经可以处理大部分变形情况,但是有些变形点超过了原始轮廓的轮廓点所在半径范围(半径是内缩或者外扩距离L)。如图12所示,图中轮廓仅为示意,并不代表实际原始轮廓,实线示意为原始轮廓的局部,包括顺序连接的轮廓点G0、G1、G2、G3、G4、G5、G6、G7、G8,虚线示意为内缩操作形成的第一切割轮廓的局部,包括顺序连接的切割路径轮廓点G0′、G1′、G2′、G3′、G4′、G5′、G6′、G7′、G8′,原始轮廓内缩了距离L,经过步骤S51利用内缩或者外扩的预设调节L过滤第一变形点的处理,G2′、G3′、G5′这三点都会被确认为导致变形的点而记录下来并进行删除,而G4′点这种情况就需要另外进行处理了。因此要增加过滤条件,过滤掉不满足规范会导致形变的点。具体操作步骤如下:
2.1.首先将内缩的第一切割轮廓根据步骤S51记录下来的半径范围内的切割路径轮廓点进行分段。删除第一切割轮廓上记录的第一变形点,剩下的切割路径轮廓点自成线段和孤点,若该切割路径轮廓点的相邻两个切割路径轮廓点均为第一变形点,则切割路径轮廓点为第二变形点,即孤点。如图12所示,步骤S51记录下来的在半径范围内的点是G2′、G3′、G5′这三点,将这三点删除,这些变形点对应的线段也自动删除,则第一切割轮廓剩下的切割路径轮廓点按照原来是否相邻自动组成段,形成了G0′G1′、G6′G7′、G7′G8′这三段和一个孤点G4′。
2.2.找出所有的孤点并删除孤点。图12中孤点点数为1,即G4′。遍历步骤S51中余留的切割路径轮廓点,即可找出全部孤点并进行删除。
2.3.将步骤S52中余留的切割路径轮廓点顺序连接。如图12所示,经过处理之后,G2′、G3′、G4′、G5′这几个变形点都被删除,最后形成了如图13所示的内缩轨迹,包括顺序连接的切割路径轮廓点G0′、G1′、G6′、G7′、G8′。
(3)再根据轮廓处理前后路径方向变化过大找出第三变形点。经过步骤S51和步骤S52的处理得到的轮廓点集已经处理了很多变形的情况。但是仍有例外的情况,为避免出现疏漏,针对这种情况,可以根据步骤S52中余留的切割路径轮廓点集从原始轮廓的轮廓点集中取出对应的点组成新的原始轮廓的轮廓点集(即只将原始轮廓中与步骤S52中余留的切割路径轮廓点对应的点取出来),将原始轮廓与现有内缩轮廓的每个线段向量(有向线段)进行一一比较。如图14所示,图中轮廓仅为示意,并不代表实际原始轮廓,虚线示意为经过步骤S52处理后的第一切割轮廓的局部,包括顺序连接的切割路径轮廓点H1′、H2′、H3′、H4′、H5′,实线示意为步骤S52中余留的切割路径轮廓点对应的新的原始轮廓的局部,包括顺序连接的轮廓点H1、H2、H3、H4、H5,经过步骤S51和步骤S52进行变形点处理对于图14所示轮廓无效。如在图14中,对和进行比较,得到两向量的夹角,如果夹角过大,如大于第一预设阈值,这里设置第一预设阈值为120°,夹角还可以通过经验法观察变形情况进行设置,则认为H3′是第三变形点,记录这个变形点,通过遍历内缩轮廓的所有轮廓段即找出所有的第三变形点,最后统一删除所有第三变形点,得到了处理后的内缩轮廓。如图14所示,对图示内缩轮廓进行步骤S53的处理,H3′和H4′都会被认为是第三变形点而删除。
顺序连接步骤S53中余留的切割路径轮廓点形成第二切割轮廓。最后处理得到的第二切割轮廓如图15所示。通过步骤S5的处理,得到了原始轮廓的内缩轮廓,记为第二切割轮廓。外扩轮廓的处理步骤和内缩轮廓的处理步骤一样,在此不再赘述。
S6、对第二切割轮廓进行优化获得最终切割轮廓,具体如下:
S61、遍历第二切割轮廓的切割路径轮廓点,计算各切割路径轮廓点和对应原始轮廓的轮廓点的距离T;
S62、判断距离T和预设调节距离L的比值是否大于第二预设阈值,若不大于第二预设阈值,则保留对应切割路径轮廓点,若大于第二预设阈值,则认为对应切割路径轮廓点为尖锐点并执行如下操作:
S621、计算各尖锐点的相邻两个切割路径轮廓点的中点,若中点在第二切割轮廓的内部,则对应的尖锐点为凸尖锐点,若中点在第二切割轮廓的外部,则对应的尖锐点为凹尖锐点;
S622、当尖锐点为凸尖锐点且第二切割轮廓为内缩轮廓时或当尖锐点为凹尖锐点且第二切割轮廓为外扩轮廓时,保留该尖锐点,否则,进行尖锐点优化处理;
S63、顺序连接第二切割轮廓中余留的切割路径轮廓点和优化的尖锐点形成最终切割轮廓。
在一实施例中,步骤S61中,第二预设阈值为3。
在一实施例中,步骤S622中,尖锐点优化处理过程如下:
S6221、过尖锐点对应的原始轮廓的轮廓点向该尖锐点所在的两条线段作垂线,垂足分别记为第一优化尖锐点Q21′和第二优化尖锐点Q23′;
S6222、计算第三优化尖锐点Q22′,公式如下:
其中,Q2′为尖锐点,Q2为尖锐点对应的原始轮廓的轮廓点;
S6223、将尖锐点替代为Q21′、Q22′和Q23′,Q21′、Q22′和Q23′即为优化的尖锐点。
其中,通过判断第二切割轮廓是否存在尖锐角,并对尖锐角进行优化处理,获得更合理的轮廓。经过内缩或外扩距离L后获得的第二切割轮廓可能存在切割路径轮廓点与原始轮廓的轮廓点之间的距离远超过L,如距离T和预设调节距离L的比值大于第二预设阈值,第二预设阈值可根据实际需求设定,这时图形会非常尖锐,形成尖锐角。如图16所示,图中轮廓仅为示意,并不代表实际原始轮廓,虚线示意为进行外扩操作的第二切割轮廓的局部,包括顺序连接的切割路径轮廓点Q1′、Q2′、Q3′、Q4′,实线示意为原始轮廓的局部,包括顺序连接的轮廓点Q1、Q2、Q3、Q4,图中Q2′为尖锐点。对于这样的图形,要根据情况对尖锐处进行优化,主要是避免尖锐点影响自身轮廓切割或者影响其它轮廓切割效果。例如如果是非常尖锐的凸角,外扩轮廓相对原始轮廓会非常尖锐也非常长,如图16所示的尖锐角,这种尖锐角如果和其它轮廓交叠,就会影响其它轮廓切割效果。或如果是非常尖锐的凹角,内缩轮廓相对原始轮廓也会非常尖锐也非常长,这种尖锐角如果和自身轮廓交叠,就会影响自身轮廓的切割效果。从这个原因出发,要考虑到内缩和外扩两种情况下尖锐点的处理。如果是内缩,判断尖锐点是凸点还是凹点,是凹点,就进行尖锐点处理,是凸点,就不进行处理。如果是外扩,判断尖锐点是凸点还是凹点,是凸点,就进行尖锐点处理,是凹点,就不进行处理。具体处理过程如下:
遍历第二切割轮廓上的切割路径轮廓点,判断是否为尖锐点。具体地,求对应的切割路径轮廓点和原始轮廓的轮廓点之间的距离T,将距离T与L进行比较,如果T与L的比值大于第二预设阈值,如第二预设阈值为3,若不大于第二预设阈值,则保留对应切割路径轮廓点,若大于第二预设阈值,则认为对应切割路径轮廓点为尖锐点并执行如下操作:
1.判断尖锐点是凸尖锐点还是凹尖锐点。求该尖锐点的相邻两个切割路径轮廓点之间的中点坐标,判断中点是在第二切割轮廓的内部还是外部,如果在内部,该尖锐点是凸尖锐点,在外部,该尖锐点是凹尖锐点。
2.判断是否进行优化处理。如果该尖锐点是凸尖锐点,第二切割轮廓是外扩轮廓,进行尖锐点优化处理。如果该点是凹尖锐点,第二切割轮廓是内缩轮廓,进行尖锐点优化处理。只有这两种情况下可以进行优化处理的操作。如果该尖锐点是凹尖锐点,第二切割轮廓是外扩轮廓或者该尖锐点是凸尖锐点,第二切割轮廓是内缩轮廓这两种情况,就不进行尖锐点优化处理。
3.尖锐点的优化处理。如图16所示,Q2和Q2′之间的距离远大于L,所以Q2′是尖锐点,而且Q2′为外扩轮廓中的凸尖锐点,需要对它进行处理优化。优化过程如图17所示,对于尖锐点Q2处进行这样处理:过点Q2向直线Q1′Q2′做垂线交于第一优化尖锐点Q21′,过尖锐点Q2向线Q2′Q3′做垂线交于第二优化尖锐点Q23′,可获得这两个交点Q21′和Q23′的坐标。计算第三优化尖锐点Q22′,计算公式为:
其中,Q22′点即从原始轮廓的轮廓点Q2沿着的方向延伸L长度的点,图16中的第二切割轮廓经过优化后如图17所示。图17中,按顺序用点Q21′、Q22′和Q23′这三点替代掉尖锐点Q2′,所以经过优化后的Q1、Q2、Q3、Q4这几个点所在轮廓对应的外扩轮廓是Q1′、Q21′、Q22′、Q23′、Q3′、Q4′顺序连接组成的轨迹。通过这样的方法对第二切割轮廓的尖锐点进行处理,经过遍历后,将所有的尖锐点找出来并完成优化,获得最终切割轮廓。上述仅对外扩轮廓进行举例说明,内缩轮廓操作相同,在此不再赘述。
该方法用于轮廓缩放,通过对初次缩放后的轮廓上的变形点进行处理,避免缩放后的轮廓出现自交问题,然后进一步对变形点处理后的轮廓中的尖锐点进行优化处理,避免缩放后形成的尖锐点影响自身轮廓或其它轮廓切割效果,可获得良好的廓形,尤其适用于对由离散点组成的非规则复杂轮廓缩放指定距离,如应用于广告、服装等行业。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请描述较为具体和详细的实施例,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种非规则轮廓的快速缩放方法,其特征在于:所述非规则轮廓的快速缩放方法包括如下步骤:
S1、获取原始轮廓的全部轮廓点数据和预设调节距离L,任取其一轮廓点记为A,对应计算原始轮廓的切割路径轮廓点作为切割路径初始点,所述切割路径初始点包括第一初始点M1和第二初始点M2;
S2、对所述第一初始点M1和第二初始点M2分别沿任一方向作射线,并统计各射线与原始轮廓的交点个数,若为奇数,则对应的初始点在原始轮廓内部,若为偶数,则对应的初始点在原始轮廓外部;
S3、根据所述第一初始点M1和第二初始点M2的位置判断各所述初始点的类型,即为内缩点或外扩点;
S4、选择所需初始点并依次计算其余切割路径轮廓点,各切割路径轮廓点顺序连接形成第一切割轮廓;
S5、删除第一切割轮廓中的变形点获得第二切割轮廓,具体如下:
S51、遍历原始轮廓的轮廓点和第一切割轮廓的切割路径轮廓点,计算两者之间任意两点间距是否小于预设调节距离L,若是,认为对应的切割路径轮廓点为第一变形点,并进行删除,否则保留;
S52、遍历步骤S51中余留的切割路径轮廓点,判断各切割路径轮廓点的相邻两个切割路径轮廓点是否均为第一变形点,若是,认为对应的切割路径轮廓点为第二变形点,并进行删除,否则保留;
S53、对比步骤S52中余留的切割路径轮廓点顺序连接形成的有向线段和原始轮廓对应点顺序连接形成的有向线段,判断对应的有向线段之间的夹角是否大于第一预设阈值,若是,认为有向线段的终点对应的切割路径轮廓点为第三变形点,并进行删除,否则保留;
S54、顺序连接步骤S53中余留的切割路径轮廓点形成第二切割轮廓;
S6、对第二切割轮廓进行优化获得最终切割轮廓,具体如下:
S61、遍历第二切割轮廓的切割路径轮廓点,计算各切割路径轮廓点和对应原始轮廓的轮廓点的距离T;
S62、判断距离T和预设调节距离L的比值是否大于第二预设阈值,若不大于第二预设阈值,则保留对应切割路径轮廓点,若大于第二预设阈值,则认为对应切割路径轮廓点为尖锐点并执行如下操作:
S621、计算各尖锐点的相邻两个切割路径轮廓点的中点,若中点在第二切割轮廓的内部,则对应的尖锐点为凸尖锐点,若中点在第二切割轮廓的外部,则对应的尖锐点为凹尖锐点;
S622、当尖锐点为凸尖锐点且第二切割轮廓为内缩轮廓时或当尖锐点为凹尖锐点且第二切割轮廓为外扩轮廓时,保留该尖锐点,否则,进行尖锐点优化处理;
S63、顺序连接第二切割轮廓中余留的切割路径轮廓点和优化的尖锐点形成最终切割轮廓。
3.如权利要求1所述的非规则轮廓的快速缩放方法,其特征在于:步骤S2中,所述统计各射线与原始轮廓的交点个数前还执行如下步骤:
对比全部交点坐标,判断原始轮廓上相邻两条线段是否存在相同交点,若存在相同交点,则判断这两条线段的另一端点是否在射线的同一侧,当在同一侧,认为相同交点为两个有效交点,当不在同一侧,认为相同交点为一个有效交点;若不存在相同交点,则直接统计交点个数。
4.如权利要求1所述的非规则轮廓的快速缩放方法,其特征在于:步骤S3中,所述根据第一初始点M1和第二初始点M2的位置判断各所述初始点的类型,具体如下:
当所述第一初始点M1和第二初始点M2分别位于原始轮廓两侧时,则在原始轮廓内部的点是内缩点,在原始轮廓外部的点是外扩点;
当所述第一初始点M1和第二初始点M2均位于原始轮廓外部时,分别判断各所述初始点与轮廓点A的连线与原始轮廓除轮廓点A外是否相交,若相交,则认为该初始点为内缩点,若不相交,则认为该初始点为外扩点;
当所述第一初始点M1和第二初始点M2均位于原始轮廓内部时,分别判断各所述初始点与轮廓点A的连线与原始轮廓除轮廓点A外是否相交,若相交,则认为该初始点为外扩点,若不相交,则认为该初始点为内缩点。
5.如权利要求1所述的非规则轮廓的快速缩放方法,其特征在于:步骤S4中,所述选择所需初始点并依次计算其余切割路径轮廓点,具体如下:
S41、过选择的所述初始点作原始轮廓对应轮廓点所在线段之一的平行线,并作原始轮廓下一夹角的角平分线交平行线于一点,记为第i个切割路径轮廓点,i为正整数;
S42、替代选择的所述初始点为第i个切割路径轮廓点,返回执行步骤S41,并置i=i+1,直至完成原始轮廓的全部轮廓点的计算。
6.如权利要求1所述的非规则轮廓的快速缩放方法,其特征在于:步骤S53中,所述第一预设阈值为120°。
7.如权利要求1所述的非规则轮廓的快速缩放方法,其特征在于:步骤S61中,所述第二预设阈值为3。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111522118.7A CN114266700A (zh) | 2021-12-13 | 2021-12-13 | 一种非规则轮廓的快速缩放方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111522118.7A CN114266700A (zh) | 2021-12-13 | 2021-12-13 | 一种非规则轮廓的快速缩放方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114266700A true CN114266700A (zh) | 2022-04-01 |
Family
ID=80826922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111522118.7A Withdrawn CN114266700A (zh) | 2021-12-13 | 2021-12-13 | 一种非规则轮廓的快速缩放方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114266700A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116630325A (zh) * | 2023-07-25 | 2023-08-22 | 苏州赫芯科技有限公司 | 基于电路板的uv胶检测方法、设备和存储介质 |
-
2021
- 2021-12-13 CN CN202111522118.7A patent/CN114266700A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116630325A (zh) * | 2023-07-25 | 2023-08-22 | 苏州赫芯科技有限公司 | 基于电路板的uv胶检测方法、设备和存储介质 |
CN116630325B (zh) * | 2023-07-25 | 2023-10-13 | 苏州赫芯科技有限公司 | 基于电路板的uv胶检测方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11200351B2 (en) | Method for constructing curve of robot processing path of part with small curvature based on point cloud boundary | |
CN108121862B (zh) | 一种基于三维几何特征的工程图自动标注方法 | |
US5768136A (en) | Method and apparatus for deciding trace of tool to be moved | |
CN110675502B (zh) | 多层集成电路版图多边形对齐和简化处理方法及装置 | |
CN107192716A (zh) | 一种基于轮廓特征的工件缺陷快速检测方法 | |
CN114266700A (zh) | 一种非规则轮廓的快速缩放方法 | |
CN109496286B (zh) | 数控***及其路径规划方法和计算机可读存储介质 | |
Owen et al. | Advancing Front Quadrilateral Meshing Using Triangle Transformations. | |
CN110933926A (zh) | 一种基于角点检测的贴片机吸嘴元件角度的自动校正方法 | |
CN114170261A (zh) | 图像轮廓生成方法、装置及电子设备 | |
JP2001277369A (ja) | 光造形機用データ作成方法及びその装置 | |
CN107037738B (zh) | 数控加工几何仿真中基于stl模型的材料去除方法 | |
US20150206342A1 (en) | Methods and Systems for Generating Continuous Surfaces from Polygonal Data | |
CN107506538B (zh) | 一种光学临近修正工艺的预处理方法 | |
JP2003216959A (ja) | 輪郭抽出方法及びその装置及びそのプログラム | |
CN115041701B (zh) | 一种基于电弧增材多向钢节点弯管支路制造方法及*** | |
CN115971635A (zh) | 一种基于视觉传感的搅拌摩擦焊接控制方法、***及机床 | |
US6577991B1 (en) | Recordable method of processing figure | |
JP2000100692A (ja) | 設計パターン補正方法 | |
JPS6324473A (ja) | 図形認識装置 | |
CN105321203A (zh) | 3d模型的平面区域搜寻方法 | |
JP2023152778A (ja) | 寸法測定装置及び寸法測定方法並びに寸法測定用プログラム、溶接箇所の良否判定装置 | |
CN112464779B (zh) | 一种基于柔性材料的图形识别定位方法 | |
JP2787149B2 (ja) | 立体形状認識装置 | |
CN117611839A (zh) | 一种图像处理中基于子四边形构造计算凸包的方法 |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20220401 |
|
WW01 | Invention patent application withdrawn after publication |