一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图形平滑方法、图形平滑设备及存储介质与流程

2022-06-01 01:35:50 来源:中国专利 TAG:


1.本技术涉及激光加工技术领域,尤其涉及一种图形平滑方法、图形平滑设备及存储介质。


背景技术:

2.激光加工设备在加工产品前,需要先设计出加工图形,根据加工图形来对产品进行加工,例如按照图形在产品上打出与图形一致的图案,或者将产品切割成与图形一致的形状,也就是根据设计的图形来控制激光头的移动。现有技术中,用于激光加工的图形上控制点太多且太密集,这样不仅需要消耗较大的内存,同时使得计算速度非常缓慢,导致激光加工的效率较低。
3.因此,亟待提供一种图形平滑方法、图形平滑设备及存储介质解决上述问题。


技术实现要素:

4.本技术的目的在于提供一种能使图形平滑,减少图形中控制点的数量,提升激光加工的效率的图形平滑方法、图形平滑设备及存储介质。
5.为实现上述目的,提供以下技术方案:
6.一种图形平滑方法,包括如下步骤:
7.a、将图形中的多段线分解,得到直线和圆弧组成的集合s;
8.b、将集合s中的线从第一段起依次向后逐段拟合,拟合成圆弧;
9.c、若中途有无法拟合的线,则从无法拟合的线起向后继续与后面的线拟合。
10.作为上述图形平滑方法的可选方案,所述步骤b具体包括:
11.b1、从集合s中的第一段线开始遍历集合s中的线,若线的长度小于预设的长度阈值,则视为无效段,继续遍历,若线的长度大于等于预设的长度阈值,则视为有效段,将该段线添加到集合r中,该段线记为l;
12.b2、取集合r中的线l以及集合s中位于线l之后的线e进行拟合,得到拟合后的圆弧;
13.b3、判断拟合后的圆弧是否符合误差要求,若符合,则拟合成功,将线e从集合s中移除,将线l从集合r中移除,将拟合圆弧添加到集合r中,将集合r中的拟合圆弧继续与集合s中线e之后的线进行拟合;若不符合,则拟合失败,保留集合r中的线l,将集合s中的线e添加到集合r中,取集合r中的线e与集合s中位于线e之后的线继续拟合。
14.作为上述图形平滑方法的可选方案,所述b2具体包括:
15.b21、取线l的起点p1、中点p2及终点p3,取线e的中点p4及终点p5,判断p1是否等于p5,如果等于,则求出点p1、p2、p3、p4及p5的最小外接矩形r,矩形r的内切圆即为线l与线e拟合后的圆弧。
16.作为上述图形平滑方法的可选方案,所述b2还包括:
17.b22、用点p2、p3及p4中每一个点分别与点p1及点p5求圆弧,求得三个圆弧,求出每
个圆弧的凸度,并计算凸度的平均值t,以点p1、p5及凸度平均值t求出结果圆弧。
18.作为上述图形平滑方法的可选方案,所述b3具体包括:
19.b31、判断拟合圆弧与原图的差异度是否符合要求,以及判断拟合圆弧是否符合拟合精度要求;
20.b32、若均符合,则判断拟合成功,将线e从集合s中删除,将线l从集合r中移除,将拟合圆弧添加到集合r中,将集合r中的拟合圆弧继续与集合s中线e之后的线进行拟合;
21.b33、若其中一项不符合,则判断拟合失败,保留集合r中的线l,将集合s中的线e添加到集合r中,取集合r中的线e与集合s中位于线e之后的线继续拟合。
22.作为上述图形平滑方法的可选方案,所述b31具体包括:
23.b311、判断拟合圆弧的长度与线e的长度之比是否大于比值阈值q,若大于,则说明拟合结果与原图形相差较大,判断拟合圆弧与原图的差异度不符合要求。
24.作为上述图形平滑方法的可选方案,所述b31还包括:
25.b312、遍历点p1、p2、p3、p4及p5,若其中有一个点到拟合圆弧的距离大于精度m,则说明拟合结果误差较大,判断拟合圆弧不符合精度要求。
26.作为上述图形平滑方法的可选方案,所述图形平滑方法还包括步骤:
27.b4、遍历集合r中的每一段,如果是圆弧,则检查圆弧的中点到圆弧起点和终点之间的连线的距离是否小于精度m,若小于,则说明该段圆弧与直线较接近,将该段圆弧替换成直线。
28.一种图形平滑设备,所述图形平滑设备包括:
29.一个或多个处理器;
30.存储器,用于存储一个或多个程序;
31.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的图形平滑方法。
32.一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的图形平滑方法。
33.与现有技术相比,本技术实施例的有益之处在于:能将激光加工中的图形进行平滑,减少图形中控制点的数量,具体是通过将图形中的多段线分解,得到直线和圆弧组成的集合,再将集合中的线一段一段向后拟合成圆弧,遇到无法拟合的情况时,则从无法拟合的线开始重新向后继续拟合。这样将图形进行平滑处理后再用于激光加工,使得图形中控制点的数量较少,简化了图形,能提升激光加工的效率。
附图说明
34.图1为本技术一实施例中图形平滑方法的流程框图;
35.图2是圆弧凸度计算的示意图。
具体实施方式
36.以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
37.实施例一
38.本实施例公开了一种图形平滑方法。图1为本技术一实施例中图形平滑方法的流程框图。如图1所示,图形平滑方法可包括步骤:
39.s100、将图形中的多段线分解,得到直线和圆弧组成的集合s;
40.s200、将集合s中的线从第一段起依次向后逐段拟合,求出拟合圆弧;
41.s300、若中途有无法拟合的线,则从无法拟合的线起向后继续与后面的线拟合。
42.具体的,激光加工时激光头是根据预先设计好的图形对产品进行加工的。图形由多段线组成,由于多段线上控制点较多,导致图形消耗的内存较大,且运算速度较慢,这使得激光加工的速度较慢。本技术中,将组成图形的多段线炸开,使多段线分解得到直线和圆弧组成的集合s,然后对集合s中的线进行拟合,拟合成圆弧,减少图形中控制点的数量。具体是将集合s中的线从第一段起依次向后逐段拟合,也就将集合s中的第一段线与第二段线拟合,形成拟合圆弧,然后将拟合后的圆弧继续与第三段线进行拟合,拟合形成圆弧后,又将拟合的圆弧与第四段线进行拟合,这样逐段向后拟合。若遇到中途有无法拟合的线时,则从无法拟合的线起向后继续与后面的线拟合。例如,当第一段线与第二段线拟合时,若无法拟合,则继续将第二段线与第三段线拟合;第二段线与第三段线若能拟合,将拟合后的圆弧继续与第四段线拟合;若拟合后的圆弧无法与第四段线拟合,则将第四段线继续与第五段线拟合,以此类推。通过上述拟合处理后,使得图形较平滑,控制点较少,能降低内存的消耗,提升图形处理速度。
43.经过本技术实施例的图形平滑方法处理的图形可应用于激光加工设备中,激光加工设备根据经过平滑处理的图形来对工件进行激光加工,可提升加工效率。可以理解的是,本技术实施例的图形平滑方法也可以应用于其它领域中,在此不作限制。
44.于一实施例中,所述步骤s200具体包括:
45.s210、从集合s中的第一段线开始遍历集合s中的线,若线的长度小于预设的长度阈值,则视为无效段,继续遍历,若线的长度大于等于预设的长度阈值,则视为有效段,将该段线添加到集合r中,该段线记为l;
46.s220、取集合r中的线l以及集合s中位于线l之后的线e进行拟合,若能拟合,得到拟合后的圆弧;
47.s230、判断拟合后的圆弧是否符合误差要求,若符合,则拟合成功,将线e从集合s中删除,将线l从集合r中删除,将拟合圆弧添加到集合r中,将合r中的拟合圆弧继续与集合s中线e之后的线进行拟合;若不符合,则拟合失败,保留集合r中的线l,将集合s中的线e添加到集合r中,取集合r中的线e与集合s中位于线e之后的线继续拟合。
48.具体的,设置一个集合r。首先从集合s中的第一段线开始遍历集合s中的线,若线的长度大于等于预设的长度阈值,则视为这段线为有效线,将该段线添加到集合r中。这里设置一个长度阈值来筛选线是为了筛选出长度较短的线,若线长较短,接近0,则直接判断该段线长度为0,继续遍历下一条线,长度为0的线不参与拟合。简单举例来说就是:
49.首先从集合s的第一条线开始遍历集合s中的线,若第一段线判断不为0(即大于预设的长度阈值),则将第一段线添加到集合r中,第一段线记为l,此时s中的第一段线也就是原来未将线l添加到r之前集合s中的第二段线,记为e,取集合r中的线l与集合s中的线e进行拟合,这里有能拟合和不能拟合两种情况:1、若能拟合,得到拟合后的圆弧,判断拟合圆
弧是否符合误差要求,具体判断方法在后文有具体介绍,若拟合圆弧符合误差要求,则拟合成功,将线e从集合s中移除,将线l从集合r中移除,将拟合后的圆弧添加到r中,假设集合s中线e之后的线记为f,取集合r中的拟合圆弧与集合s中的线f继续拟合,若拟合圆弧不符合误差要求,则拟合失败,保留集合r中的线l,将集合s中的线e添加到集合r中,取集合r中的线e与集合s中位于线e之后的线继续拟合;2、若不能拟合,则保留集合r中的线l,将集合s中的线e添加到集合r中,取集合r中的线e与集合s中的线f继续拟合。根据该规则不断将集合s中的线往集合r中添加,将集合s中的线逐段拟合,不断循环,新添加的到集合r中的线始终位于集合r的最后,也就是说不断将集合r中的最后一段线与集合s中的第一段线拟合,最后集合s中则为空集合,集合r则为拟合结果的集合,集合r中包含了拟合完成的圆弧和集合s中不能拟合的线。集合r作为结果列表,将拟合后的圆弧放入r中。同时,设置集合r可简化计算,不断将集合s中的线放入r中进行拟合计算。
50.在拟合前也可先判断拟合的线是否为0,若为0则跳过该线,顺延至下一条线,例如若e为0,则不拟合e,直接顺延至e的下一条线,也就f,将f与l进行拟合。
51.于一实施例中,所述步骤s220具体包括:
52.s221、取线l的起点p1、中点p2及终点p3,取线e的中点p4及终点p5,判断p1是否等于p5,如果等于,则求出点p1、p2、p3、p4及p5的最小外接矩形r,矩形r的内切圆即为线l与线e拟合后的圆弧。
53.s222、用点p2、p3及p4中每一个点分别与点p1及点p5求圆弧,求得三个圆弧,求出每个圆弧的凸度,并计算凸度的平均值t,以点p1、p5及凸度平均值t求出结果圆弧。
54.具体的,步骤s221和步骤s222为将两段线拟合的具体拟合方法。取线l的起点p1、中点p2及终点p3,取线e的中点p4及终点p5,由于线l和线e基本为相邻的两条线,且线l位于线e之前,线l的起点p1、中点p2及终点p3,以及线e的中点p4及终点p5这五个点基本能代表线l和线e这两段线所组成的图形的大致形状和走向,因此取这五个点来求出拟合圆弧。
55.步骤s221中,在拟合前判断p1是否等于p5,如果等于,则说明线l和线e所组成的图形基本上类似于一个整圆,那么求出这个整圆即是线l与线e拟合后的圆弧。求该圆的方法就是:求出点p1、p2、p3、p4及p5的最小外接矩形r,矩形r的内切圆即为该整圆。
56.若经过步骤s221判断线l和线e不是整圆后,则通过步骤s222中的方法来拟合线l和线e。也就是用点p2、p3及p4中每一个点分别与点p1及点p5求圆弧,求得三个圆弧,求出每个圆弧的凸度,并计算凸度的平均值t,以点p1、p5及凸度平均值t求出结果圆弧。这里简单介绍凸度的定义,凸度等于圆弧的弓高和圆弧的前进距离的比,参考图2,圆弧的弓高为h,圆弧的前进距离为l,也即弦长,凸度=2h/l;换一种说法,也可以说凸度是圆弧圆心角的四风之一的正切,如图2所示中,圆弧的凸度是角β的正切值。具体而言,点p2与点p1及点p5三点可以确定一条圆弧,记为圆弧a1,点p3与点p1及点p5三点可以确定一条圆弧a2,点p4与点p1及点p5三点可以确定一条圆弧a3,圆弧a1的凸度为t1,圆弧a2的凸度为t2,圆弧a3的凸度为t3,三条圆弧的凸度平均值t=(t1 t2 t3)/3,通过点p1、p5及凸度平均值t求出结果圆弧,该结果圆弧即为线l和线e拟合后的圆弧。
57.可以理解的是,本技术中,步骤s222也可以不以s221为先决条件,也就是说,也不一定要经过步骤s221先判断是不是整圆,然后再通过步骤s222的方法来拟合线l和线e,可以直接通过步骤s222的方法来拟合线l与线e。
58.步骤s221中,可以设置一个点集合t,将点p1、p2、p3、p4及p5均添加到点集合t中,便于计算,完成一次拟合后将点集合t清空,继续下一次拟合,将下一次拟合用的特征点重新添加到点集合t中。设置点集合t可以起到简化计算的作用。
59.进一步的,步骤s222中,还可包括对圆弧进行判断的步骤,判断圆弧与原图形差异大不大。判断步骤为:判断求出的圆弧(圆弧a1、圆弧a2、圆弧a3)的长度与线e的长度之比是否大于比值阈值q,比值阈值q为一个预先设置的最大比值,若任意一条圆弧的长度与线e的长度之比大于q,则说明拟合结果与原图形相差较大,拟合不成功,继续下一段的拟合。当每段圆弧均满足长度与线e的长度之比不大于比值阈值q,才通过步骤s222中用凸度的平均值t与点p1、p5求结果圆弧的方法来求结果圆弧。求出结果圆弧后也可以继续判断结果圆弧与原图形差异大不大,即将结果圆弧的长度与线e的长度比,但比值是否大于比值阈值q。
60.进一步的,步骤s230具体包括:
61.s231、判断拟合圆弧与原图的差异度是否符合要求,以及判断拟合圆弧是否符合拟合精度要求;
62.s232、若均符合,则判断拟合成功,将线e从集合s中删除,将线l从集合r中移除,将拟合圆弧添加到集合r中,将集合r中的拟合圆弧继续与集合s中线e之后的线进行拟合;
63.s233、若其中一项不符合,则判断拟合失败,保留集合r中的线l,将集合s中的线e添加到集合r中,取集合r中的线e与集合s中位于线e之后的线继续拟合。
64.具体而言,当步骤s230中求出拟合圆弧后可以对拟合圆弧进行判断,判断拟合圆弧与原图的差异程度,以及判断拟合圆弧是否符合精度要求。拟合圆弧与原图的差异度不符合要求,或拟合圆弧的拟合精度不符合要求均判断拟合失败,继续拟合后面的线。
65.进一步的,步骤s231具体包括:
66.s2311、判断拟合圆弧的长度与线e的长度之比是否大于比值阈值q,若大于,则说明拟合结果与原图形相差较大,判断拟合圆弧与原图的差异度不符合要求。
67.具体而言,步骤s2311为判断拟合后的圆弧与原图形的差异的方法,该方法前文也有提及,就是看拟合圆弧的长度与线e的长度之比是否大于比值阈值q,若大于,则说明拟合结果与原图形相差较大。
68.步骤s231还包括:
69.s2312、遍历点p1、p2、p3、p4及p5,若其中有一个点到拟合圆弧的距离大于精度m,则说明拟合结果误差较大,判断拟合圆弧不符合精度要求。
70.具体而言,步骤s2312为判断拟合圆弧是否符合拟合精度要求的方法,预先设置一个精度m,点p1、p2、p3、p4及p5中若有一个点到拟合圆弧的距离大于精度m,则说明拟合结果误差较大,不符合精度要求。拟合精度例如可以采用0.05。本技术的图形平滑方法能按照指定精度m去平滑图形,达到简化图形、提升加工效率的目的。
71.于一实施例中,本技术的图形平滑方法还可以包括步骤:
72.s400、遍历集合r中的每一段,如果是圆弧,则检查圆弧的中点到圆弧起点和终点之间的连线的距离是否小于精度m,若小于,则说明该段圆弧与直线较接近,将该段圆弧替换成直线。
73.具体而言,检查集合r中的每一段圆弧,若圆弧与直线较接近,则将圆弧直接替换成直线,这样可以使图形更简化。具体的,圆弧的中点记为h,圆弧起点和终点之间的连线记
为i,线i也就是圆弧对应的弦。计算点h到线i的距离是否小于精度m,若小于,则说明该段圆弧与直线较接近,将该段圆弧直接替换成直线。
74.实施例二
75.本技术实施例二还在于提供一种图形平滑设备,图形平滑设备可以包括但不限于:一个或者多个处理器,存储器。
76.存储器作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本技术实施例中的图形平滑方法对应的程序指令。处理器通过运行存储在存储器中的软件程序、指令以及模块,从而执行图形平滑设备的各种功能应用以及数据处理,即实现上述的图形平滑方法。
77.实施例三
78.本技术实施例三还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现一种图形平滑方法,该图形平滑方法包括如下步骤:
79.s100、将图形中的多段线分解,得到直线和圆弧组成的集合s;
80.s200、将集合s中的线从第一段起依次向后逐段拟合,求出拟合圆弧;
81.s300、若中途有无法拟合的线,则从无法拟合的线起向后继续与后面的线拟合。
82.当然,本技术实施例所提供的一种计算机可读存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本技术任意实施例所提供的图形平滑方法中的相关操作。
83.通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本技术可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
84.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献