CN106502607A - 一种线段擦除方法和装置 - Google Patents
一种线段擦除方法和装置 Download PDFInfo
- Publication number
- CN106502607A CN106502607A CN201610912303.XA CN201610912303A CN106502607A CN 106502607 A CN106502607 A CN 106502607A CN 201610912303 A CN201610912303 A CN 201610912303A CN 106502607 A CN106502607 A CN 106502607A
- Authority
- CN
- China
- Prior art keywords
- point
- line segment
- erasing rubber
- points
- rubber region
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种线段擦除方法和装置,所述方法包括:对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录;获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点;对记录的不在所述橡皮擦区域内的点以及所述近似交点进行显示,作为线段擦除的结果。采用本发明可减少线段擦除的计算量,在精确度误差可接受的范围内,提高线段擦除结果的运算效率。
Description
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种线段擦除方法和装置。
背景技术
在电子白板软件中,当使用橡皮擦擦除一条线段的一部分时,需要计算这段线段被擦除一部分之后留下的内容。传统的方法是计算这条线段与橡皮擦图形所构成的相交点,从而算出擦除后留下的内容,这种的方法的优点是计算精确,但是计算量大,特别是同时擦除多条线段时,容易出现软件假死、无响应的现象,影响用户体验。
发明内容
本发明实施例的目的在于提供一种线段擦除方法和装置,减少线段擦除的计算量,在精确度误差可接受的范围内,提高线段擦除结果的运算效率。
为实现上述目的,本发明实施例提供了一种线段擦除方法,包括:
对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录;
获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点;
对记录的不在所述橡皮擦区域内的点以及所述近似交点进行显示,作为线段擦除的结果。
其中,获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点,包括:
获取所述原线段上的相邻两点;其中,所述相邻两点中的一个点位于所述橡皮擦区域外,另一个点位于所述橡皮擦区域内;
在所述相邻两点之间等间距地插入N个点;其中,N≥1;
从所述相邻两点以及所述N个点中查找与橡皮擦边沿最接近的点,将该点作为所述原线段与所述橡皮擦区域的近似交点并对该点进行记录。
优选地,所述对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录,包括:
判断所述原线段的第一个点是否在橡皮擦区域内,若不在,则将所述第一个点作为线段擦除结果中的第一线段的一个端点,并将所述第一个点之后连续的不在所述橡皮擦区域内的点添加到所述第一线段中;
在所述获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点之后,还包括:
将靠近所述第一个点的所述近似交点作为所述第一线段的另一个端点。
优选地,所述对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录,包括:
判断所述原线段的最后一个点是否在橡皮擦区域内,若不在,则将所述最后一个点作为线段擦除结果中的第二线段的一个端点,并将所述最后一个点之前连续的不在所述橡皮擦区域内的点添加到所述第一线段中;
在所述获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点之后,还包括:
将靠近所述最后一个点的所述近似交点作为所述第二线段的另一个端点。
进一步地,在所述对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录之前,还包括:
计算所述原线段上的相邻点之间的距离;
若所述相邻点之间的距离大于橡皮擦最窄处的宽度,则在所述原线段的各相邻点之间等间距地插入Round(d/w)个点;其中,Round()为向上取整函数,d为所述线段上相邻两点之间的距离,w为所述橡皮擦最窄处的宽度。
优选地,所述原线段为贝塞尔曲线。
相应地,本发明实施例还提供了一种线段擦除装置,包括:
遍历判断模块,用于对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录;
近似交点获取模块,用于获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点;
结果显示模块,用于对记录的不在所述橡皮擦区域内的点以及所述近似交点进行显示,作为线段擦除的结果。
优选地,所述近似交点获取模块包括:
交点粗定位单元,用于获取所述原线段上的相邻两点;其中,所述相邻两点中的一个点位于所述橡皮擦区域外,另一个点位于所述橡皮擦区域内;
点插入单元,用于在所述相邻两点之间等间距地插入N个点;其中,N≥1;
近似交点查找单元,用于从所述相邻两点以及所述N个点中查找与橡皮擦边沿最接近的点,将该点作为所述原线段与所述橡皮擦区域的近似交点并对该点进行记录。
进一步地,所述装置还包括:
间距计算模块,用于计算所述原线段上的相邻点之间的距离;
点插入模块,用于若所述相邻点之间的距离大于橡皮擦最窄处的宽度,则在所述原线段的各相邻点之间等间距地插入Round(d/w)个点;其中,Round()为向上取整函数,d为所述线段上相邻两点之间的距离,w为所述橡皮擦最窄处的宽度。
优选地,所述原线段为贝塞尔曲线。
本发明提供的线段擦除方法和装置,通过对构成原线段的点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录,并通过在分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点之间插点的方式,获取所述原线段和所述橡皮擦区域的近似交点,将记录的不在所述橡皮擦区域内的点以及所述近似交点作为线段擦除的结果。线段擦除结果通过点遍历的方式进行计算,计算量较小,原线段与橡皮擦的近似交点通过插点的方式获取,计算结果的精确度可通过插入点的个数进行控制,可在精确度误差可接受的范围内,显著提高线段擦除结果的运算效率。
附图说明
图1是本发明提供的线段擦除方法的一个实施例的方法流程图;
图2是本发明提供的线段擦除装置的一个实施例的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的线段擦除方法的一个实施例的结构图。
如图1所示,所述线段擦除方法包括以下步骤:
S1,对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录;
本发明主要用于计算与橡皮擦部分相交的线段擦除后结果,系统中应当存在一条线段(即所述原线段)和与之相交的橡皮擦。因此在算法开始前,可通过将线段构成的矩形与橡皮擦构成的矩形进行运算,排除掉与橡皮擦区域完全不相交的线段,和完全在橡皮擦区域内的线段。
计算机中的一条线段是由很多个点构成的,线段与橡皮擦区域的关系可通过构成线段的点与橡皮擦区域的关系来表征,通过遍历原线段上的各个点,判断其与橡皮擦区域的关系,可快速找到哪些点未被橡皮擦擦除。其中,本发明所述线段是指线上两点间的有限部分,优选为贝塞尔曲线。
S2,获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点;
具体地,所述步骤S2包括:
S21,获取所述原线段上的相邻两点;其中,所述相邻两点中的一个点位于所述橡皮擦区域外,另一个点位于所述橡皮擦区域内;
位于橡皮擦内外并且相邻的两个点为原线段与橡皮擦的交点所在的粗略位置,因此步骤S2中所述相邻两点一般有一组或者两组。在具体实施当中,遍历的顺序一般按照原线段的轨迹方向进行,通过判断各点与橡皮擦区域的关系,可轻易地获取分别位于橡皮擦内外且相邻的两个点。
S22,在所述相邻两点之间等间距地插入N个点;其中,N≥1;
S23,从所述相邻两点以及所述N个点中查找与橡皮擦边沿最接近的点,将该点作为所述原线段与所述橡皮擦区域的近似交点并对该点进行记录。
插入点的个数越多,近似交点的计算结果越接近精确结果,所述N优选为19。在具体实施当中,可通过简单遍历或者二分查找等算法从上述点中查找与橡皮擦边沿最接近的点,如可沿由橡皮擦外指向橡皮擦内的方向进行遍历,将获取的第一个在橡皮擦区域内的点(或者最后一个在橡皮擦区域外的点)作为原线段与橡皮擦的近似交点。
S3,对记录的不在所述橡皮擦区域内的点以及所述近似交点进行显示,作为线段擦除的结果。
本发明通过插点的方式,获取原线段与橡皮擦的近似交点,计算结果的精确度可通过插入点的个数进行控制,计算量较小,可在精确度误差可接受的范围内,显著提高线段擦除结果的运算效率。
其中,所述步骤S1包括:
判断所述原线段的第一个点是否在橡皮擦区域内,若不在,则将所述第一个点作为线段擦除结果中的第一线段的一个端点,并将所述第一个点之后连续的不在所述橡皮擦区域内的点添加到所述第一线段中;
若所述原线段的第一个点不在所述橡皮擦区域内,则所述步骤S2之后,还包括:
将靠近所述第一个点的所述近似交点作为所述第一线段的另一个端点。
靠近所述第一个点的所述近似交点,是指所述近似交点沿所述原线段的轨迹方向距离所述第一个点较近。而当仅有一个近似交点时,可直接将其作为靠近所述第一个点的所述近似交点。
继续按原线段的轨迹方向对原线段上的点进行遍历,若所述原线段的最后一点仍在所述橡皮擦范围内,则算法结束,将所述第一线段作为线段擦除结果。
所述步骤S1还包括:
判断所述原线段的最后一个点是否在橡皮擦区域内,若不在,则将所述最后一个点作为线段擦除结果中的第二线段的一个端点,并将所述最后一个点之前连续的不在所述橡皮擦区域内的点添加到所述第一线段中;
若所述原线段的最后一个点不在所述橡皮擦区域内,则所述步骤S2之后,还包括:
将靠近所述最后一个点的所述近似交点作为所述第二线段的另一个端点。
与前述类似的,靠近所述最后一个点的所述近似交点,是指所述近似交点沿所述原线段的轨迹方向距离所述最后一个点较近。而当仅有一个近似交点时,可直接将其作为靠近所述最后一个点的所述近似交点。
在具体实施当中,原线段与橡皮擦部分相交,若所述原线段上的第一个点和最后一个点均不在所述橡皮擦区域内,则擦除结果包括所述第一线段和所述第二线段。若所述第一个点不在所述橡皮擦区域内,而所述最后一个点在所述橡皮擦区域内,则擦除结果仅包括所述第一线段。若所述第一个点在所述橡皮擦区域内,而所述最后一个点不在所述橡皮擦区域内,则擦除结果仅包括所述第二线段。在一种优选的实施方式当中,可通过两个线程分别从所述原线段的第一个点和最后一个点开始沿线段轨迹方向对原线段上的点进行顺序遍历,以分别获取所述第一线段和所述第二线段作为线段擦除结果,提高遍历的速度。
进一步地,为保证线段上总有一点落在橡皮擦的内部,在所述步骤S1之前,还包括:
计算所述原线段上的相邻点之间的距离;
若所述相邻点之间的距离大于橡皮擦最窄处的宽度,则在所述原线段的各相邻点之间等间距地插入Round(d/w)个点;其中,Round()为向上取整函数,d为所述线段上相邻两点之间的距离,w为所述橡皮擦最窄处的宽度。
所述橡皮擦优选为矩形,所述橡皮擦最窄处的宽度等于所述矩形的最窄边的边长,因此在具体实施当中,应使得相邻两点之间的距离不超过橡皮擦的最窄边,即使得橡皮擦与原线段相交时,原线段上总有一点落在橡皮擦的内部。
在具体实施当中,可在一次遍历中,得到橡皮擦与原线段的近似交点,过程如下:
步骤1:从原线段的第一个点(可以为原线段的任意一个端点)开始,对原线段上的点按线段轨迹方向进行顺序遍历,遍历的当前点记为点p;
步骤2:如果点p是原线段的第一个点,且不在矩形R(即橡皮擦,可将橡皮擦抽象为一个矩形R)内,则记录下这一点,作为线段擦除结果中第一线段A的起点;
步骤3:接步骤2,继续对原线段上的点进行遍历,如果点p不在矩形R内,则将点p加入到第一线段A中;
步骤4:接步骤3,当检测到点p落在了矩形R内,将点p的前一点记为点f,在点p和点f之间插入N个点,使其均分为N+1等份(N≥1,插入点越多,结果越接近精确结果,优选地N=19),遍历点f到点p之间的点,取第一个在矩形R内的点(或者取最后一个在矩形R外的点),作为原线段与矩形R的第一近似交点,同时也是第一线段A的终点,从而得到第一线段A;(注:这里的描述是用简单遍历的方式来查找近似交点,在具体实施当中也可以使用二分查找之类的算法进行进一步的优化)。
步骤5:接步骤4,继续对原线段上的点进行遍历,如果点p为原线段的最后一点,且点p仍落在矩形R内,则算法结束,线段擦除结果为第一线段A;
步骤6:接步骤4或者步骤8,继续对原线段上的点进行遍历,当检测到点p在矩形R外,将点p的前一点记为点k,在点p和点k之间插入N个点,使其均分为N+1等份,遍历点k到点p之间的点,取最后一个在矩形R内的点(或者取第一个在矩形R外的点),作为原线段与矩形R的第二近似交点,同时也是线段擦除结果中第二线段B的起点;
步骤7:接步骤6,继续对原线段上的点进行遍历,如果点p不在矩形R内,则将点p加入到第二线段B中,直到原线段的最后一点,将所述最后一点作为所述第二线段B的终点,从而得到第二线段B。
步骤8:接步骤1,如果点p是原线段的第一个点,且落在矩形R内,则算法从步骤6开始往下运行。
由此可见,本发明提供的线段擦除方法仅需对构成原线段的点进行一次遍历,即可获取橡皮擦与原线段的的近似交点,得到原线段被擦除后的结果(第一线段和/或第二线段),计算量小,计算速度快,同时通过在原线段上插点的方法,近似得到的计算结果与精确结果非常相近,在精确度误差可接受的范围内,显著提高了运算效率,有利于改善用户体验。
参见图2,是本发明提供的线段擦除装置的一个实施例的装置结构图。本实施例的基本原理与前述方法实施一致,本实施例中未详述之处可参见前述方法实施例中的相关描述。
如图2所示,所述线段擦除装置包括:
遍历判断模块21,用于对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录;
近似交点获取模块22,用于获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点;
结果显示模块23,用于对记录的不在所述橡皮擦区域内的点以及所述近似交点进行显示,作为线段擦除的结果。
其中,所述近似交点获取模块22包括:
交点粗定位单元221,用于获取所述原线段上的相邻两点;其中,所述相邻两点中的一个点位于所述橡皮擦区域外,另一个点位于所述橡皮擦区域内;
点插入单元222,用于在所述相邻两点之间等间距地插入N个点;其中,N≥1;
近似交点查找单元223,用于从所述相邻两点以及所述N个点中查找与橡皮擦边沿最接近的点,将该点作为所述原线段与所述橡皮擦区域的近似交点并对该点进行记录。
图2中虽未画出,但在具体实施当中,所述装置还可以进一步包括:
间距计算模块,用于计算所述原线段上的相邻点之间的距离;
点插入模块,用于若所述相邻点之间的距离大于橡皮擦最窄处的宽度,则在所述原线段的各相邻点之间等间距地插入Round(d/w)个点;其中,Round()为向上取整函数,d为所述线段上相邻两点之间的距离,w为所述橡皮擦最窄处的宽度。
优选地,所述原线段为贝塞尔曲线。
综上所述,本发明提供的线段擦除方法和装置,通过对构成原线段的点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录,并通过在分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点之间插点的方式,获取所述原线段和所述橡皮擦区域的近似交点,将记录的不在所述橡皮擦区域内的点以及所述近似交点作为线段擦除的结果。线段擦除结果通过点遍历的方式进行,计算量较小,原线段与橡皮擦的近似交点通过插点的方式获取,计算结果的精确度可通过插入点的个数进行控制,可在精确度误差可接受的范围内,显著提高线段擦除结果的运算效率。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种线段擦除方法,其特征在于,包括:
对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录;
获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点;
对记录的不在所述橡皮擦区域内的点以及所述近似交点进行显示,作为线段擦除的结果。
2.如权利要求1所述的线段擦除方法,其特征在于,获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点,包括:
获取所述原线段上的相邻两点;其中,所述相邻两点中的一个点位于所述橡皮擦区域外,另一个点位于所述橡皮擦区域内;
在所述相邻两点之间等间距地插入N个点;其中,N≥1;
从所述相邻两点以及所述N个点中查找与橡皮擦边沿最接近的点,将该点作为所述原线段与所述橡皮擦区域的近似交点并对该点进行记录。
3.如权利要求1所述的线段擦除方法,其特征在于,所述对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录,包括:
判断所述原线段的第一个点是否在橡皮擦区域内,若不在,则将所述第一个点作为线段擦除结果中的第一线段的一个端点,并将所述第一个点之后连续的不在所述橡皮擦区域内的点添加到所述第一线段中;
在所述获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点之后,还包括:
将靠近所述第一个点的所述近似交点作为所述第一线段的另一个端点。
4.如权利要求1所述的线段擦除方法,其特征在于,所述对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录,包括:
判断所述原线段的最后一个点是否在橡皮擦区域内,若不在,则将所述最后一个点作为线段擦除结果中的第二线段的一个端点,并将所述最后一个点之前连续的不在所述橡皮擦区域内的点添加到所述第一线段中;
在所述获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点之后,还包括:
将靠近所述最后一个点的所述近似交点作为所述第二线段的另一个端点。
5.如权利要求1所述的线段擦除方法,其特征在于,在所述对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录之前,还包括:
计算所述原线段上的相邻点之间的距离;
若所述相邻点之间的距离大于橡皮擦最窄处的宽度,则在所述原线段的各相邻点之间等间距地插入Round(d/w)个点;其中,Round()为向上取整函数,d为所述线段上相邻两点之间的距离,w为所述橡皮擦最窄处的宽度。
6.如权利要求1~5任一项所述的线段擦除方法,其特征在于,所述原线段为贝塞尔曲线。
7.一种线段擦除装置,其特征在于,包括:
遍历判断模块,用于对构成原线段的各个点进行遍历,判断各个点是否在橡皮擦区域内,对不在所述橡皮擦区域内的点进行记录;
近似交点获取模块,用于获取分别位于所述橡皮擦区域外和位于所述橡皮擦区域内的相邻两点,通过在所述相邻两点之间插点的方式,从所述相邻两点之间获取所述原线段和所述橡皮擦区域的近似交点;
结果显示模块,用于对记录的不在所述橡皮擦区域内的点以及所述近似交点进行显示,作为线段擦除的结果。
8.如权利要求6所述的线段擦除装置,其特征在于,所述近似交点获取模块包括:
交点粗定位单元,用于获取所述原线段上的相邻两点;其中,所述相邻两点中的一个点位于所述橡皮擦区域外,另一个点位于所述橡皮擦区域内;
点插入单元,用于在所述相邻两点之间等间距地插入N个点;其中,N≥1;
近似交点查找单元,用于从所述相邻两点以及所述N个点中查找与橡皮擦边沿最接近的点,将该点作为所述原线段与所述橡皮擦区域的近似交点并对该点进行记录。
9.如权利要求6所述的线段擦除装置,其特征在于,所述装置还包括:
间距计算模块,用于计算所述原线段上的相邻点之间的距离;
点插入模块,用于若所述相邻点之间的距离大于橡皮擦最窄处的宽度,则在所述原线段的各相邻点之间等间距地插入Round(d/w)个点;其中,Round()为向上取整函数,d为所述线段上相邻两点之间的距离,w为所述橡皮擦最窄处的宽度。
10.如权利要求7~9任一项所述的线段擦除装置,其特征在于,所述原线段为贝塞尔曲线。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610912303.XA CN106502607B (zh) | 2016-10-19 | 2016-10-19 | 一种线段擦除方法和装置 |
PCT/CN2016/113688 WO2018072336A1 (zh) | 2016-10-19 | 2016-12-30 | 一种线段擦除方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610912303.XA CN106502607B (zh) | 2016-10-19 | 2016-10-19 | 一种线段擦除方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106502607A true CN106502607A (zh) | 2017-03-15 |
CN106502607B CN106502607B (zh) | 2019-02-22 |
Family
ID=58294227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610912303.XA Active CN106502607B (zh) | 2016-10-19 | 2016-10-19 | 一种线段擦除方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106502607B (zh) |
WO (1) | WO2018072336A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193424A (zh) * | 2017-06-27 | 2017-09-22 | 北京北纬天辰科技有限公司 | 一种智能电子式擦除方法及装置 |
CN108805120A (zh) * | 2018-06-13 | 2018-11-13 | 广州视源电子科技股份有限公司 | 笔迹的处理方法和装置 |
CN110007838A (zh) * | 2019-04-02 | 2019-07-12 | 广州视源电子科技股份有限公司 | 擦除控件的处理方法、装置和设备 |
WO2021013183A1 (zh) * | 2019-07-25 | 2021-01-28 | 中兴通讯股份有限公司 | 笔画擦除方法、终端及计算机可读存储介质 |
CN114924685A (zh) * | 2022-04-30 | 2022-08-19 | 新华三智能终端有限公司 | 一种书写交互方法、装置以及书写终端 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114297977B (zh) * | 2021-12-16 | 2024-01-23 | 苏州浪潮智能科技有限公司 | 一种切断丝印的方法和装置 |
CN115481475B (zh) * | 2022-09-21 | 2023-09-19 | 金鹏装配式建筑有限公司 | 用于cad中无法面域化的多段线重合判定方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609560A (zh) * | 2009-07-16 | 2009-12-23 | 广东威创视讯科技股份有限公司 | 一种擦除笔迹的方法 |
CN102566862A (zh) * | 2010-12-21 | 2012-07-11 | 汉王科技股份有限公司 | 交互式电子白板中几何图形的擦除方法和装置 |
CN103578553A (zh) * | 2013-10-14 | 2014-02-12 | 江苏敏行信息技术有限公司 | 一种矢量线型快速擦除方法 |
US20150234587A1 (en) * | 2014-02-17 | 2015-08-20 | Fujitsu Limited | Information processing apparatus, non-transitory readable medium, and handwriting input method |
-
2016
- 2016-10-19 CN CN201610912303.XA patent/CN106502607B/zh active Active
- 2016-12-30 WO PCT/CN2016/113688 patent/WO2018072336A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609560A (zh) * | 2009-07-16 | 2009-12-23 | 广东威创视讯科技股份有限公司 | 一种擦除笔迹的方法 |
CN102566862A (zh) * | 2010-12-21 | 2012-07-11 | 汉王科技股份有限公司 | 交互式电子白板中几何图形的擦除方法和装置 |
CN103578553A (zh) * | 2013-10-14 | 2014-02-12 | 江苏敏行信息技术有限公司 | 一种矢量线型快速擦除方法 |
US20150234587A1 (en) * | 2014-02-17 | 2015-08-20 | Fujitsu Limited | Information processing apparatus, non-transitory readable medium, and handwriting input method |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193424A (zh) * | 2017-06-27 | 2017-09-22 | 北京北纬天辰科技有限公司 | 一种智能电子式擦除方法及装置 |
CN108805120A (zh) * | 2018-06-13 | 2018-11-13 | 广州视源电子科技股份有限公司 | 笔迹的处理方法和装置 |
CN110007838A (zh) * | 2019-04-02 | 2019-07-12 | 广州视源电子科技股份有限公司 | 擦除控件的处理方法、装置和设备 |
CN110007838B (zh) * | 2019-04-02 | 2020-12-11 | 广州视源电子科技股份有限公司 | 擦除控件的处理方法、装置和设备 |
WO2021013183A1 (zh) * | 2019-07-25 | 2021-01-28 | 中兴通讯股份有限公司 | 笔画擦除方法、终端及计算机可读存储介质 |
CN112286424A (zh) * | 2019-07-25 | 2021-01-29 | 中兴通讯股份有限公司 | 笔画擦除方法、终端及计算机可读存储介质 |
US11928316B2 (en) | 2019-07-25 | 2024-03-12 | Zte Corporation | Stroke erase method, terminal, and computer-readable storage medium |
CN114924685A (zh) * | 2022-04-30 | 2022-08-19 | 新华三智能终端有限公司 | 一种书写交互方法、装置以及书写终端 |
Also Published As
Publication number | Publication date |
---|---|
WO2018072336A1 (zh) | 2018-04-26 |
CN106502607B (zh) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106502607A (zh) | 一种线段擦除方法和装置 | |
CN104461390B (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN103455414B (zh) | 获取控件的逻辑位置的方法及装置 | |
CN108255886B (zh) | 推荐系统的评估方法及装置 | |
CN111831899B (zh) | 导航兴趣点推荐方法、装置、服务器及可读存储介质 | |
CN110458920A (zh) | 一种笔迹擦除方法及装置 | |
CN103377303A (zh) | 曲面量测系统及方法 | |
CN108959359A (zh) | 一种统一资源定位符语义去重方法、装置、设备和介质 | |
CN109084796A (zh) | 路径导航方法及相关产品 | |
CN103870541A (zh) | 社交网络用户兴趣挖掘方法和系统 | |
CN109298450A (zh) | 地震采集观测系统属性分析方法及装置 | |
CN109753736A (zh) | 一种高速线系统的损耗评估方法及相关装置 | |
CN113709006B (zh) | 一种流量确定方法、装置、存储介质及电子装置 | |
CN106156245A (zh) | 一种电子地图中的线要素合并方法及装置 | |
CN106488401A (zh) | 生成无缝相邻的地理围栏的方法及装置 | |
CN108133116A (zh) | Cad户型图墙厚自动识别方法及系统 | |
CN108170837A (zh) | 数据离散化方法、装置、计算机设备及存储介质 | |
CN107451879A (zh) | 信息判断方法及装置 | |
CN109344328B (zh) | 获取推荐系统最优参数组合的方法及装置 | |
CN106649315A (zh) | 处理路径导航的方法和装置 | |
CN107704624A (zh) | 一种数据可视化方法及装置 | |
CN113988056A (zh) | 一种同义词获取方法及装置 | |
CN108073599B (zh) | 图片读取方法及装置 | |
CN107291738A (zh) | 路径相似性判定方法及装置 | |
CN110377683A (zh) | 兴趣点显示方法、装置、设备和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |