一种多点同时绘制的匹配算法制造技术

技术编号:20285164 阅读:26 留言:0更新日期:2019-02-10 17:47
本发明专利技术公开了一种多点同时绘制的匹配算法,涉及算法绘制领域。本发明专利技术包括如下:S01:获取坐标对和对数;S02:判断当前对数newDstLen与上一次对数oldDstLen是否均为零;若是,则执行S08;若否,则执行S03;S03:判断当前对数newDstLen与上一次对数oldDstLen之间的大小;若当前对数newDstLen大于上一次对数oldDstLen,则执行S04;若当前对数newDstLen小于上一次对数oldDstLen,则执行S06;S04:根据坐标分配线程;S05:根据多余的线程数,关闭相应的线程;S06:根据线程分配坐标;S07:根据多余的坐标对数,开启相应的线程;S08:开始绘制。本发明专利技术通过轮训的方式将得到的坐标点匹配到相应的绘制线程,将每个绘制线程单独操作,使线程能够在绘制的时候打开,不绘制的时候关闭,减少了出错率,提高了绘制效率。

A Matching Algorithms for Multi-point Simultaneous Drawing

The invention discloses a matching algorithm for multi-point simultaneous rendering, which relates to the field of algorithm rendering. The invention comprises the following steps: S01: obtaining coordinate pairs and logarithms; S02: judging whether the current logarithm newDstLen and the last logarithm oldDstLen are zero; S08; S03: judging the size between the current logarithm newDstLen and the last logarithm oldDstLen; S04 if the current logarithm newDstLen is larger than the last logarithm DstLen; S04: judging whether the current logarithm newDstLen is zero or not; When ewDstLen is smaller than the previous logarithm oldDstLen, it executes S06; S04: allocate threads according to coordinates; S05: close the corresponding threads according to the number of redundant threads; S06: allocate coordinates according to threads; S07: open the corresponding threads according to the logarithm of redundant coordinates; S08: start drawing. The method matches the obtained coordinate points to the corresponding drawing threads by rotation training, and operates each drawing thread independently, so that the threads can open when drawing and close when not drawing, thus reducing the error rate and improving the drawing efficiency.

【技术实现步骤摘要】
一种多点同时绘制的匹配算法
本专利技术属于绘制算法领域,特别是涉及一种多点同时绘制的匹配算法。
技术介绍
为了节省绘制时间,市面上的绘制大多采用十点同时绘制,但计算机在绘制的过程中,不同点的绘制往往存在一定的影响,当计算机在绘制的过程中,出现个别的坐标点丢失计算机会导致出现交叉的情况,不仅影响到了绘制的正确性,还严重影响到了绘制的效率。基于上诉问题,本专利技术在实现市面上十点同时绘制的同时,每个绘制点都有相应的绘制线程来单独操作,将坐标点轮训匹配到相应的绘制线程来提高绘制效率。
技术实现思路
本专利技术的目的在于提供一种多点同时绘制的匹配算法,通过轮训的方式将得到的坐标点匹配到相应的绘制线程,将每个绘制线程单独操作,使线程能够在绘制的时候打开,不绘制的时候关闭,解决了现有的绘制因某个坐标丢失造成的绘制断开、出错率高和效率低的问题。为解决上述技术问题,本专利技术是通过以下技术方案实现的:本专利技术为一种多点同时绘制的匹配算法,包括如下步骤:步骤S01获取坐标对和对数;步骤S02判断当前对数newDstLen与上一次对数oldDstLen是否均为零;若是,则执行步骤S08;若否,则执行步骤S03;步骤S03判断当前对数newDstLen与上一次对数oldDstLen之间的大小;若当前对数newDstLen大于上一次对数oldDstLen,则执行步骤S04;若当前对数newDstLen小于上一次对数oldDstLen,则执行步骤S06;步骤S04根据坐标分配线程;步骤S05根据多余的线程数,关闭相应的线程;步骤S06根据线程分配坐标;步骤S07根据多余的坐标对数,开启相应的线程;步骤S08开始绘制。优选地,所述步骤S05中,关闭线程采取延时缓冲关闭,具体延迟缓冲关闭流程如下:步骤T01接收坐标点;步骤T02线程匹配算法,开始绘制;步骤T03根据线程缓冲时间判断信号是否为关闭信号;若是,则关闭线程;若否,信号为复活信号,则继续执行步骤T02。优选地,所述步骤S03中,若当前对数newDstLen与上一次对数oldDstLen大小相等,即newPointCount与oldPointCount相等且newPointCount与oldPointCount均不为零,则线程和坐标直接进行匹配。优选地,所述步骤S05中,坐标分配个线程之后,对多出的newPointCount-oldPointCount个数组对,开启对应的新线程直接绘制,并根据分配好的绘制线程之间开启新线程绘制剩下的坐标对;开启线程采用轮训的方式。优选地,所述步骤S07中,线程分配给坐标后,多余的线程进行关闭处理或者加入到缓冲队列。优选地,所述缓冲队列还包括等待复活的线程,当前开启的新线程数大于空闲线程数时,则将缓冲队列中最接近时间的线程提前关闭,重新开启绘制。本专利技术通过轮训的方式将得到的坐标点匹配到相应的绘制线程,将每个绘制线程单独操作,使线程能够在绘制的时候打开,不绘制的时候关闭,减少了出错率,提高了绘制效率。当然,实施本专利技术的任一产品并不一定需要同时达到以上所述的所有优点。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术的一种多点同时绘制的匹配算法的步骤图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。请参阅图1所示,本专利技术为一种多点同时绘制的匹配算法,包括如下步骤:步骤S01获取坐标对和对数;首先分配好线程与坐标对之间的关系,确定坐标与线程之间的父子关系;距离最近的确定是当前线程的孩子,若某坐标与当前线程距离最合适但却不符合是当前线程孩子的条件,需要关闭当前线程,并且以这个坐标开启新的线程进行新的绘制线程;步骤S02判断当前对数newDstLen与上一次对数oldDstLen是否均为零;若是,则执行步骤S08;若否,则执行步骤S03;当前对数newDstLen与上一次对数oldDstLen均不为零时;前对数newDstLen与上一次对数oldDstLen主要分为以下五种关系,即:一、newDstLen=0,oldDstLen!=0;二、newDstLen!=0,oldDstLen=0;三、newDstLen=!0,oldDstLen!=0,newDstLen=oldDstLen;四、newDstLen=!0,oldDstLen!=0,newDstLen<oldDstLen;五、newDstLen=!0,oldDstLen!=0,newDstLen>oldDstLen;步骤S03判断当前对数newDstLen与上一次对数oldDstLen之间的大小;若当前对数newDstLen大于上一次对数oldDstLen,则执行步骤S04;若当前对数newDstLen小于上一次对数oldDstLen,则执行步骤S06;步骤S04根据坐标分配线程;步骤S05根据多余的线程数,关闭相应的线程;步骤S06根据线程分配坐标;步骤S07根据多余的坐标对数,开启相应的线程;步骤S08开始绘制。其中,步骤S05中,关闭线程采取延时缓冲关闭,具体延迟缓冲关闭流程如下:步骤T01接收坐标点;步骤T02线程匹配算法,开始绘制;步骤T03根据线程缓冲时间判断信号是否为关闭信号;若是,则关闭线程;若否,信号为复活信号,则继续执行步骤T02。将接收传过来的坐标点对和对数dstLen,根据上一次点的对数oldDstLen和当前点的对数newDstLen之间的关系控制线程的开关;每个线程的状态都有一个标识控制,线程之间互不干扰;开启线程采取轮训的方式,因为有十个绘制线程,每次都从第一个开始查找不但查找的效率不高,而且会导致排在后面的绘制线程一直不会被调用;每次开启一个线程,他的下一个线程作为下一个开启的线程。总数对10取余,保证线程数组不会越界。在线程需要关闭的地方设置缓冲,延迟关闭当前需要关闭的线程,当有一个线程关闭信号过来,当前需要关闭的线程进入缓冲队列delayClosingThread,设置一个时间判断是复活还是关闭。只要缓冲队列不为空,则新坐标点过来先进入缓冲队列进行判断,在合理的时间内,如果存在一个坐标点与某一个缓冲线程之间有直接的关系,则此坐标点作为缓冲线程的复活信号,当前线程移除缓冲队列继续执行绘制任务;在规定的时间内没有复活信号,则关闭从缓冲队列移除并将该线程的状态改为false。其中,步骤S03中,若当前对数newDstLen与上一次对数oldDstLen大小相等,即newPointCount与oldPointCount相等且newPointCount与oldPointCount均不为零,则线程和坐标直接进行匹配,这里按照线程匹配坐标或者按照坐标匹配相应的线程都可以(按照那个方面数量少的匹配,这样不会出现不同的绘制线程或者不同的坐标本文档来自技高网...

【技术保护点】
1.一种多点同时绘制的匹配算法,其特征在于,包括如下步骤:步骤S01获取坐标对和对数;步骤S02判断当前对数newDstLen与上一次对数oldDstLen是否均为零;若是,则执行步骤S08;若否,则执行步骤S03;步骤S03判断当前对数newDstLen与上一次对数oldDstLen之间的大小;若当前对数newDstLen大于上一次对数oldDstLen,则执行步骤S04;若当前对数newDstLen小于上一次对数oldDstLen,则执行步骤S06;步骤S04根据坐标分配线程;步骤S05根据多余的线程数,关闭相应的线程;步骤S06根据线程分配坐标;步骤S07根据多余的坐标对数,开启相应的线程;步骤S08开始绘制。

【技术特征摘要】
1.一种多点同时绘制的匹配算法,其特征在于,包括如下步骤:步骤S01获取坐标对和对数;步骤S02判断当前对数newDstLen与上一次对数oldDstLen是否均为零;若是,则执行步骤S08;若否,则执行步骤S03;步骤S03判断当前对数newDstLen与上一次对数oldDstLen之间的大小;若当前对数newDstLen大于上一次对数oldDstLen,则执行步骤S04;若当前对数newDstLen小于上一次对数oldDstLen,则执行步骤S06;步骤S04根据坐标分配线程;步骤S05根据多余的线程数,关闭相应的线程;步骤S06根据线程分配坐标;步骤S07根据多余的坐标对数,开启相应的线程;步骤S08开始绘制。2.根据权利要求1所述的一种多点同时绘制的匹配算法,其特征在于,所述步骤S05中,关闭线程采取延时缓冲关闭,具体延迟缓冲关闭流程如下:步骤T01接收坐标点;步骤T02线程匹配算法,开始绘制;步骤T03根据线程缓冲时间判断信号是否为关闭信号;若是,则关闭线程;若否,信号为复活信号,则继续执行步骤...

【专利技术属性】
技术研发人员:林传文汪俊锋薛东阳张巧云
申请(专利权)人:安徽慧视金瞳科技有限公司
类型:发明
国别省市:安徽,34

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

1