一种基于道格拉斯-普克算法的图形拟合算法制造技术

技术编号:37815027 阅读:5 留言:0更新日期:2023-06-09 09:45
本发明专利技术涉及图形处理领域,且公开了一种基于道格拉斯

【技术实现步骤摘要】
一种基于道格拉斯

普克算法的图形拟合算法


[0001]本专利技术涉及图形处理领域,具体为一种基于道格拉斯

普克算法的图形拟合算法。

技术介绍

[0002]随着移动端技术的发展,各种学习类的笔记软件层出不穷。用户更加倾向于在移动设备上记笔记、学习以及思考问题。很多时候,用户可能需要绘制一些数学图形,比如三角形、矩形、五角星、多边形、圆、椭圆等,去辅助思考或者是做一些特殊的图形标记。那么精准而又快速的绘制出图形就能大幅度减少额外的时间,提升效率。
[0003]现有技术方案:
[0004]S1:通过笔触摸移动端屏幕,进行点的采样。
[0005]S2:对相邻的两点之间进行连接,生成图形。
[0006]S3:将生成的线条实时绘制到屏幕上,从而达到绘制图形的效果。
[0007]上述方案在手动绘制图形时会因为手的抖动导致线条出现扭曲,现有技术对于绘制的图形并没有进行智能的矫正,导致绘制出的图形并不精准完美,影响用户分析问题,为此我们提出了一种基于道格拉斯

普克算法的图形拟合算法。

技术实现思路

[0008](一)解决的技术问题
[0009]针对现有技术的不足,本专利技术提供了一种基于道格拉斯

普克算法的图形拟合算法,通过智能拟合出数学图形,解决了绘制图形时,因手工绘制时抖动,导致生成的图形观感欠佳的问题。
[0010](二)技术方案
[0011]为实现上述所述目的,本专利技术提供如下技术方案:一种基于道格拉斯

普克算法的图形拟合算法,包括以下步骤:
[0012]第一步:通过画笔或者手指在移动端屏幕上绘制,采集触摸点;
[0013]第二步:对采集到的点用道格拉斯

普客算法进行简化或者采用最小二乘法,得到图形关键点,保留关键点,得到结果1;
[0014]第三步:对结果1进行闭合点处理,得到结果2;
[0015]第四步:对结果2进行类型判定;
[0016]第五步:根据判定的类型,对结果2中的点集进行矫正,生成点集3;
[0017]第六步:对点集3中的每个点按照顺序连接,生成拟合图形。
[0018]优选的,所述道格拉斯

普客算法需要使用一个比较线段长短的参数,阈值为ε,和一个比较夹角大小的参数,阈值a,阈值为自定义参数。
[0019]优选的,所述图形关键点的获取步骤如下:
[0020]S1:设置起点以及终点,A为起点,F为终点;
[0021]S2:求出各个触摸点距离直线AF的距离,取到直线AF距离最大的那个点,记为点B,
点B到直线AF的距离为d(B,AF),记AB,FB之间的夹角为∠ABF;
[0022]S3:如果d(B,AF)>ε,并且∠ABF<a,则保留B点,并且将整个点集分割成两个点集,B点前的记为points1:(1...4),B点后的记为points2:(5...17),如果d(B,AF)<ε,那么算法将删除AF之间所有的点,仅保留A、F两点;
[0023]S4:对points1和points2重复step1和step2,依次迭代下去。
[0024]优选的,所述第三步中如果起点A与终点F距离很近,说明用户此时是想闭合图形的,设置一个参数len,如果D(A,F)>len,则保留F点,否则删除F点。
[0025]优选的,所述第四步的判定方法为:
[0026]S1:根据关键点数量,对相邻的三个关键点进行分组,且两两连接称为直线,得到不同的角;
[0027]S2:如果关键点只有三个点,可以直接判定为三角形;
[0028]S3:如果只有四个关键点,角接近90度,即在70度和110度之间,那么判定此图形为矩形;
[0029]S4:如果只有五个关键点,角都小于90度,说明用户意图是画一个五角星,如果五个角都是钝角,说明用户意图是画一个五边形;
[0030]S5:如果关键点的个数大于6,那么判定此图形为圆。
[0031]优选的,所述第五步中矫正方法如下:
[0032]S1:找到矩形框rect的中心点,记为center;
[0033]S2:然后计算关键点距离中心点center的平均值;
[0034]S3:以平均值为半径,center为中心的圆,即为图形的外切圆;
[0035]S4:各点分别采用作垂线的方式与外接圆相交,即为点集3。
[0036](三)有益效果
[0037]与现有技术相比,本专利技术提供了一种基于道格拉斯

普克算法的图形拟合算法,具备以下有益效果:
[0038]1、该基于道格拉斯

普克算法的图形拟合算法,通过判定用户的绘制意图生成对应的拟合图形,生成的拟合图形支持圆、椭圆、三角形、矩形、五角星、多边形等等,为分析问题和工作带来了效率的提升。
附图说明
[0039]图1为本专利技术流程示意图;
[0040]图2为手动绘制图形示意图;
[0041]图3为手动绘制图形进行图形拟合后示意图;
[0042]图4为屏幕采样的点集示意图;
[0043]图5为直线AB的距离示意图;
[0044]图6为points2迭代执行step1和step2后的结果示意图;
[0045]图7为对结果1进行闭合点处理示意图;
[0046]图8为生成包围点集的最小矩形框rect示意图;
[0047]图9为五角星的外接圆示意图;
[0048]图10为手动绘制的矩形转化成标准矩形的案例示意图;
[0049]图11为手动绘制的圆转换成一个标准圆形的示例示意图;
[0050]图12为手动绘制的三角形转换成一个标准三角形的示例示意图;
[0051]图13为手动绘制的多边形转换成一个标准多边形的示例示意图。
具体实施方式
[0052]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0053]请参阅图1

13,一种基于道格拉斯

普克算法的图形拟合算法,包括以下步骤:
[0054]第一步:通过画笔或者手指在移动端屏幕上绘制,采集触摸点;
[0055]第二步:对采集到的点用道格拉斯

普客算法进行简化,保留关键点,得到结果1;
[0056]第三步:对结果1进行闭合点处理,得到结果2;
[0057]第四步:对结果2进行类型判定;
[0058]第五步:根据判定的类型本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于道格拉斯

普克算法的图形拟合算法,其特征在于,包括以下步骤:第一步:通过画笔或者手指在移动端屏幕上绘制,采集触摸点;第二步:对采集到的点用道格拉斯

普客算法进行简化或者采用最小二乘法,得到图形关键点,保留关键点,得到结果1;第三步:对结果1进行闭合点处理,得到结果2;第四步:对结果2进行类型判定;第五步:根据判定的类型,对结果2中的点集进行矫正,生成点集3;第六步:对点集3中的每个点按照顺序连接,生成拟合图形。2.根据权利要求1所述的一种基于道格拉斯

普克算法的图形拟合算法,其特征在于:所述道格拉斯

普客算法需要使用一个比较线段长短的参数,阈值为ε,和一个比较夹角大小的参数,阈值a,阈值为自定义参数。3.根据权利要求2所述的一种基于道格拉斯

普克算法的图形拟合算法,其特征在于:所述图形关键点的获取步骤如下:S1:设置起点以及终点,A为起点,F为终点;S2:求出各个触摸点距离直线AF的距离,取到直线AF距离最大的那个点,记为点B,点B到直线AF的距离为d(B,AF),记AB,FB之间的夹角为∠ABF;S3:如果d(B,AF)>ε,并且∠ABF<a,则保留B点,并且将整个点集分割成两个点集,B点前的记为points1:(1...4),B点后的记为points2:(5...17),如果d(B,AF)&a...

【专利技术属性】
技术研发人员:王勉
申请(专利权)人:合肥栈顶信息科技有限公司
类型:发明
国别省市:

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

1