CN113689524A - 面向平面点集构建凸包的方法、装置、电子设备及介质 - Google Patents
面向平面点集构建凸包的方法、装置、电子设备及介质 Download PDFInfo
- Publication number
- CN113689524A CN113689524A CN202110996712.3A CN202110996712A CN113689524A CN 113689524 A CN113689524 A CN 113689524A CN 202110996712 A CN202110996712 A CN 202110996712A CN 113689524 A CN113689524 A CN 113689524A
- Authority
- CN
- China
- Prior art keywords
- convex hull
- point
- coordinate
- points
- initial
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000010276 construction Methods 0.000 claims abstract description 11
- 239000000470 constituent Substances 0.000 claims 2
- 238000004364 calculation method Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000015572 biosynthetic process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种面向平面点集构建凸包的方法、装置、电子设备及介质。其中,本申请中,在若确定平面点集中包含的坐标点数量为至少三个,获取平面点集中任意三个第一坐标点;根据三个第一坐标点,构建初始凸包;若检测到存在新加入平面点集的第二坐标点,确定第二坐标点未形成在初始凸包内部;根据第二坐标点以及初始凸包,构建目标凸包。通过应用本申请的技术方案,可以实现在建立初始凸包的基础上,运用较少的计算和存储资源,能够快速准确的构建出平面点集的凸包,而且在迭代过程中,由于大部分坐标点仅处理一次因此可以避免相关技术中出现的构建凸包繁琐的问题。
Description
技术领域
本申请中涉及数据处理技术,尤其是一种面向平面点集构建凸包的方法、装置、电子设备及介质。
背景技术
凸包(Convex Hull)是计算机图形学中的一个基本对象。在二维平面上,凸包是包含平面上给定的若干个点的最小凸多边形。基于二维平面上的若干点,构建这些点的凸包是计算机图形学中的一个关键技术,在地理信息系统、机器视觉、电子电路设计与生产、智能目标识别等领域有着广泛的应用。
进一步的,如果平面上的若干点是动态流式数据,随着时间流失数据源源不断到来。每到来一个或一批数据,就要构建已有数据的凸包。相关技术中在构建凸包的过程中,会出现执行多次重复计算,消耗许多计算和存储资源的问题。从而导致业务处理效率较低。
发明内容
本申请实施例提供一种面向平面点集构建凸包的方法、装置、电子设备及介质,其中,根据本申请实施例的一个方面,提供的一种面向平面点集构建凸包的方法,包括:
若确定平面点集中包含的坐标点数量为至少三个,获取所述平面点集中任意三个第一坐标点;
根据所述三个第一坐标点,构建初始凸包;
若检测到存在新加入所述平面点集的第二坐标点,确定所述第二坐标点未形成在所述初始凸包内部;
根据所述第二坐标点以及所述初始凸包,构建目标凸包,并利用所述目标凸包确定线路规划。
可选地,在基于本申请上述方法的另一个实施例中,所述根据所述第二坐标点以及所述初始凸包,构建目标凸包,包括:
若所述第二坐标点形成在所述初始凸包的外边上,则将所述第二坐标点作为所述初始凸包的顶点;
以所述第二坐标点作为顶点,以及,以所述初始凸包对应的三个第一坐标点为顶点,构建所述目标凸包。
可选地,在基于本申请上述方法的另一个实施例中,所述根据所述第二坐标点以及所述初始凸包,构建目标凸包,包括:
若所述第二坐标点形成在所述初始凸包的外部,将所述初始凸包对应的三个第一坐标点以预设顺序连接成边,形成初始凸包对应的边集合;
将所述第二坐标点与每个所述第一坐标点进行连接,得到对应的多个目标线段;
检测每个所述目标线段与所述边集合中每个边是否相交,如均不相交,采集所述初始凸包中存在的,由不相交目标线段所组成的坐标点,形成特征点构成集合;
基于所述特征点构成集合,构建所述目标凸包。
可选地,在基于本申请上述方法的另一个实施例中,所述基于所述特征点构成集合,构建所述目标凸包,包括:
若确定所述特征点构成集合中特征点的数量为两个,将所述第二坐标点作为顶点,将所述第二坐标点插入到所述初始凸包中,生成所述目标凸包;
或,
若确定所述特征点构成集合中特征点的数量超过两个,确定所述特征点构成集合中的两个关键特征点,并删除所述特征点构成集合中,除所述关键特征点之外的特征点;
将所述第二坐标点作为顶点,将所述第二坐标点插入到所述两个关键特征点中,生成所述目标凸包。
可选地,在基于本申请上述方法的另一个实施例中,所述确定所述特征点构成集合中的两个关键特征点,包括:
计算所述特征点构成集合中,每个特征点与所述第二坐标点之间的多个第一距离值;
将其中与所述第二坐标点之间的第一距离值最长的特征点作为第一关键特征点;
计算所述特征点构成集合中,除所述第一个关键特征点之外的任一特征点与所述第一个关键特征点之间的第二距离值,以及除所述第一个关键特征点之外的任一特征点与所述第二坐标点之间的第三距离值;
将所述第二距离值与所述第三距离值的距离之和相对最小的特征点作为所述特征点构成集合中的第二关键特征点。
可选地,在基于本申请上述方法的另一个实施例中,所述确定所述第二坐标点未形成在所述初始凸包内部,包括:
获取所述初始凸包上存在的每个第一坐标点的坐标值;
计算得到所述第一坐标点的坐标值中的最大坐标值,以及最小坐标值;
根据所述最大坐标值、所述最小坐标值以及第二坐标点的坐标值,生成第三坐标点以及第四坐标点;
将所述第三坐标点与所述第二坐标点进行连接,得到第一线段,以及,将所述第四坐标点与所述第二坐标点进行连接,得到第二线段;
若确定所述第一线段以及所述第二线段均与所述初始凸包相交一次,则确定所述第二坐标点未形成在所述初始凸包内部。
可选地,在基于本申请上述方法的另一个实施例中,在所述若检测到存在新加入所述平面点集的第二坐标点之后,还包括:
若确定所述第二坐标点形成在所述初始凸包内部,将所述初始凸包作为所述目标凸包并等待接收下一个坐标点。
根据本申请实施例的另一个方面,提供的一种面向平面点集构建凸包的装置,包括:
获取模块,被设置为若确定所述平面点集中包含的坐标点数量为至少三个,获取所述平面点集中任意三个第一坐标点;
构建模块,被设置为根据所述三个第一坐标点,构建初始凸包;
确定模块,被设置为若检测到存在新加入所述平面点集的第二坐标点,确定所述第二坐标点未形成在所述初始凸包内部;
所述构建模块,被设置为根据所述第二坐标点以及所述初始凸包,构建目标凸包,并利用所述目标凸包确定线路规划。
根据本申请实施例的又一个方面,提供的一种电子设备,包括:
存储器,用于存储可执行指令;以及
显示器,用于与所述存储器显示以执行所述可执行指令从而完成上述任一所述面向平面点集构建凸包的方法的操作。
根据本申请实施例的还一个方面,提供的一种计算机可读存储介质,用于存储计算机可读取的指令,所述指令被执行时执行上述任一所述面向平面点集构建凸包的方法的操作。
本申请中,在若确定平面点集中包含的坐标点数量为至少三个,获取平面点集中任意三个第一坐标点;根据三个第一坐标点,构建初始凸包;若检测到存在新加入平面点集的第二坐标点,确定第二坐标点未形成在初始凸包内部;根据第二坐标点以及初始凸包,构建目标凸包。通过应用本申请的技术方案,可以实现在建立初始凸包的基础上,运用较少的计算和存储资源,能够快速准确的构建出平面点集的凸包,而且在迭代过程中,由于大部分坐标点仅处理一次因此可以避免相关技术中出现的构建凸包繁琐的问题。
下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本申请的实施例,并且连同描述一起用于解释本申请的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:
图1为本申请提出的一种面向平面点集构建凸包的方法的示意图;
图2为本申请提出的一种初始凸包的示意图;
图3-图5为本申请提出的一种将初始凸包迭代若干次后所构建的目标凸包的示意图;
图6为本申请面向平面点集构建凸包的装置的结构示意图;
图7为本申请面向平面点集构建凸包的电子设备结构示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
另外,本申请各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
需要说明的是,本申请实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
下面结合图1-图5来描述根据本申请示例性实施方式的用于进行面向平面点集构建凸包的方法。需要注意的是,下述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
进一步的,本申请还提出一种面向平面点集构建凸包的方法、装置、目标终端及介质。
图1示意性地示出了根据本申请实施方式的一种面向平面点集构建凸包的方法的流程示意图。如图1所示,该方法应包括:
S101,若确定平面点集中包含的坐标点数量为至少三个,获取平面点集中任意三个第一坐标点。
S102,根据三个第一坐标点,构建初始凸包。
S103,若检测到存在新加入平面点集的第二坐标点,确定第二坐标点未形成在初始凸包内部。
S104,根据第二坐标点以及所述初始凸包,构建目标凸包,并利用所述目标凸包确定线路规划。
进一步的,本申请可以首先获取平面点集中每个点的坐标。且如果点的个数小于3,继续等待后续点集数据的到来。直至当前平面点集中点的个数大于或等于3,则可以任取其中三个坐标点(即为pt1,pt2,pt3)。
可以理解的,由于平面上的任意三个点必能构成一个凸包;因此,如图2所示,本申请可以基于三个点pt1,pt2,pt3,首先构建一个初始凸包hull-0。
更进一步的,当检测到有新加入到平面点集的坐标点ptk(即第二坐标点),本申请可以基于初始凸包hull-0和第二坐标点ptk,构建目标凸包hull-1。需要说明的是,上述情况共分三种情况进行处理:
第一种情况:
如果第二坐标点ptk在初始凸包hull-0的某条边ei上,则ptk是目标凸包hull-1上的一个顶点,将点ptk插入到初始凸包hull-0中,其顺序是边ei的两个端点之间,这样生成目标凸包hull-1,并可以继续等待处理下一个新到来的坐标点。
第二种情况:
如果第二坐标点ptk在初始凸包hull-0内部,则ptk不是目标凸包hull-1上的一个顶点,初始凸包hull-0直接作为目标凸包hull-1,并可以继续等待处理下一个新到来的坐标点。
进一步的,本申请在确定第二坐标点在初始凸包内部的方式中,可以通过下述步骤得到:
首先,可以对于初始凸包hull-0上的所有坐标点(其内部点不作为处理对象),计算这些坐标点的X坐标的最小值和最大值,分别记为Xmin和Xmax,点ptk的坐标为(x,y);然后,构造两个新点pt4(Xmin-1,y)和pt5(Xmax+1,y),分别连接ptk到pt4和pt5,得到两条线段e1和e2;如果e1与初始凸包hull-0的所有边相交一次,且e2与初始凸包hull-0的所有边也相交一次,则确定第二坐标点ptk在初始凸包hull-0内部。
第三种情况:
如果第二坐标点ptk在初始凸包hull-0外部,则ptk是目标凸包hull-1上的一个顶点,其处理过程如下:
步骤1:初始凸包hull-0中的顶点可以顺序连接成边,形成初始凸包hull-0的边的集合hull-0-e;从点ptk到初始凸包hull-0中的每一个顶点连线,例如点ptk连接初始凸包hull-0中的顶点pti,可以形成一个线段eki;
步骤2:检查线段eki与hull-0-e中的所有边相交情况;如果线段eki与hull-0-e中的所有边都不相交,则记录初始凸包hull-0中的点pti(称为特征点);所有这样的特征点构成集合S={pti},且S中点的个数至少是2,至多是hull-0中点的个数;
步骤3:如果集合S中点的个数是2,则ptk是目标凸包hull-1上的一个顶点,将点ptk插入到初始凸包hull-0中,其顺序是集合S的两个点之间,生成目标凸包hull-1,等待处理下一个新到来的点;
步骤4:如果集合S中点的个数大于2,则需要在集合S中寻找两个关键点pt1’和pt2’,且对初始凸包hull-0,除了两个关键点pt1’和pt2’外,删除集合S中所有其余的点,将点ptk插入到初始凸包hull-0中,其顺序是两个关键点pt1’和pt2’之间,如图3所示,这样生成一个目标凸包hull-1,等待处理下一个新到来的点。
进一步的,本申请在集合S中确定两个关键点pt1’和pt2’的过程中,可以通过下述步骤得到:
首先,可以计算第二坐标点ptk到集合S中所有特征点的距离,其中距离最大的对应点作为pt1’;其次,对于集合S中除pt1之外任一点pti,计算pt1与pti的距离dist1,以及ptk与pti的距离dist2,寻找两者距离之和dist1+dist2最小的对应点作为pt2’。这样就在集合S中找到了两个关键点pt1’和pt2’。
步骤5:对于凸包hull-1和下一个新到来的点,重复上述步骤(1,2,3)迭代处理,可以构建流数据构建平面点集的目标凸包。
本申请中,在若确定平面点集中包含的坐标点数量为至少三个,获取平面点集中任意三个第一坐标点;根据三个第一坐标点,构建初始凸包;若检测到存在新加入平面点集的第二坐标点,确定第二坐标点未形成在初始凸包内部;根据第二坐标点以及初始凸包,构建目标凸包。通过应用本申请的技术方案,可以实现在建立初始凸包的基础上,运用较少的计算和存储资源,能够快速准确的构建出平面点集的凸包,而且在迭代过程中,由于大部分坐标点仅处理一次因此可以避免相关技术中出现的构建凸包繁琐的问题。
可选的,在本申请一种可能的实施方式中,根据所述第二坐标点以及所述初始凸包,构建目标凸包,包括:
若所述第二坐标点形成在所述初始凸包的外边上,则将所述第二坐标点作为所述初始凸包的顶点;
以所述第二坐标点作为顶点,以及,以所述初始凸包对应的三个第一坐标点为顶点,构建所述目标凸包。
可选的,在本申请一种可能的实施方式中,所述根据所述第二坐标点以及所述初始凸包,构建目标凸包,包括:
若所述第二坐标点形成在所述初始凸包的外部,将所述初始凸包对应的三个第一坐标点以预设顺序连接成边,形成初始凸包对应的边集合;
将所述第二坐标点与每个所述第一坐标点进行连接,得到对应的多个目标线段;
检测每个所述目标线段与所述边集合中每个边是否相交,如均不相交,采集所述初始凸包中存在的坐标点,形成特征点构成集合;
基于所述特征点构成集合,构建所述目标凸包。
可选的,在本申请一种可能的实施方式中,所述基于所述特征点构成集合,构建所述目标凸包,包括:
若确定所述特征点构成集合中特征点的数量为两个,将所述第二坐标点作为顶点,将所述第二坐标点插入到所述初始凸包中,生成所述目标凸包;
或,
若确定所述特征点构成集合中特征点的数量超过两个,确定所述特征点构成集合中的两个关键特征点,并删除所述特征点构成集合中,除所述关键特征点之外的特征点;
将所述第二坐标点作为顶点,将所述第二坐标点插入到所述两个关键特征点中,生成所述目标凸包。
可选的,在本申请一种可能的实施方式中,所述确定所述特征点构成集合中的两个关键特征点,包括:
计算所述特征点构成集合中,每个特征点与所述第二坐标点之间的多个第一距离值;
将其中与所述第二坐标点之间的第一距离值最长的特征点作为第一关键特征点;
计算所述特征点构成集合中,除所述第一个关键特征点之外的任一特征点与所述第一个关键特征点之间的第二距离值,以及除所述第一个关键特征点之外的任一特征点与所述第二坐标点之间的第三距离值;
将所述第二距离值与所述第三距离值的距离之和相对最小的特征点作为所述特征点构成集合中的第二关键特征点。
可选的,在本申请一种可能的实施方式中,所述确定所述第二坐标点未形成在所述初始凸包内部,包括:
获取所述初始凸包上存在的每个第一坐标点的坐标值;
计算得到所述第一坐标点的坐标值中的最大坐标值,以及最小坐标值;
根据所述最大坐标值、所述最小坐标值以及第二坐标点的坐标值,生成第三坐标点以及第四坐标点;
将所述第三坐标点与所述第二坐标点进行连接,得到第一线段,以及,将所述第四坐标点与所述第二坐标点进行连接,得到第二线段;
若确定所述第一线段以及所述第二线段均与所述初始凸包相交一次,则确定所述第二坐标点未形成在所述初始凸包内部。
可选的,在本申请一种可能的实施方式中,在所述若检测到存在新加入所述平面点集的第二坐标点之后,还包括:
若确定所述第二坐标点形成在所述初始凸包内部,将所述初始凸包作为所述目标凸包并等待接收下一个坐标点。
进一步的,本申请可以基于平面点集中的任意3个坐标点,构建初始凸包;并在前一次凸包的基础上,对新到来的点与前一次凸包的位置关系进行判断,可以得到三种情况:
新到来的点或在凸包上,或在凸包内,或在凸包外;以下对这三种情况分别进行处理:
当第二坐标点ptk在初始凸包hull-0上,则ptk是目标凸包hull-1上的一个顶点,将点ptk插入到初始凸包hull-0中,这样生成目标凸包hull-1,等待处理下一个新到来的点;
当第二坐标点ptk在初始凸包hull-0内,则ptk不是目标凸包hull-1上的一个顶点,初始凸包hull-0直接作为目标凸包hull-1,等待处理下一个新到来的点;
当第二坐标点ptk在初始凸包hull-0外,则ptk是目标凸包hull-1上的一个顶点,然后计算点ptk与初始凸包hull-0中所有点的关系,找出初始凸包hull-0中的所有特征点,这样的特征点与点ptk连线不与hull-0中所有边相交,再从所有特征点中找出两个关键点,其余的特征点从初始凸包hull-0中删除,再插入点ptk到两个关键点之间,生成目标凸包hull-1,等待处理下一个新到来的点;
对于凸包hull-1和下一个新到来的点,重复上述步骤迭代处理,可以构建流数据构建平面点集的目标凸包,如图3-图5所示,为在初始凸包的情况下,迭代加入若干第二坐标点并迭代若干次后所构建的目标凸包。
具体的:本申请提出的面向平面点集构建凸包的方法流程如下:
步骤1、获取平面点集中每个点的坐标;如果点的个数小于3,继续等待后续坐标点数据的到来;如果点的个数大于或等于3,任取其中三个第一坐标点pt1,pt2,pt3,构建一个初始凸包hull-0;基于初始凸包hull-0和新到来的第二坐标点ptk,构建目标凸包hull-1;
步骤2、如果第二坐标点ptk在初始凸包hull-0的某条边ei上,则ptk是目标凸包hull-1上的一个顶点,将点ptk插入到初始凸包hull-0中,其顺序是边ei的两个端点之间,这样生成目标凸包hull-1,等待处理下一个新到来的点;
步骤3、如果第二坐标点ptk在初始凸包hull-0内部,则ptk不是目标凸包hull-1上的一个顶点,初始凸包hull-0直接作为目标凸包hull-1,等待处理下一个新到来的点;
步骤4、如果第二坐标点ptk在初始凸包hull-0外部,从点ptk到初始凸包hull-0中的每一个顶点连线,记录每条这样的连线与hull-0-e中的所有边相交情况;如果某条这样的连线与hull-0-e中的所有边都不相交,记录这条连线对应的初始凸包hull-0上的点,并记录hull-0上所有具有这种特征的点(特征点);
步骤5、检查特征点的个数;如果等于是2,将点ptk插入到初始凸包hull-0中,其顺序是两个特征点之间,生成目标凸包hull-1,等待处理下一个新到来的点;
步骤6、如果特征点的个数大于2,则在所有特征点中寻找两个关键点pt1和pt2,且对初始凸包hull-0,除了两个关键点pt1和pt2外,删除所有其余的特征点,将点ptk插入到初始凸包hull-0中,其顺序是两个关键点pt1和pt2之间,这样生成一个目标凸包hull-1,等待处理下一个新到来的点;
步骤7、对于凸包hull-1和下一个新到来的点,重复上述步骤并迭代处理,可以构建流数据构建平面点集的目标凸包。
在本申请的另外一种实施方式中,如图6所示,本申请还提供一种面向平面点集构建凸包的装置。其中,该装置包括:
获取模块,被设置为若确定所述平面点集中包含的坐标点数量为至少三个,获取所述平面点集中任意三个第一坐标点;
构建模块,被设置为根据所述三个第一坐标点,构建初始凸包;
确定模块,被设置为若检测到存在新加入所述平面点集的第二坐标点,确定所述第二坐标点未形成在所述初始凸包内部;
所述构建模块,被设置为根据所述第二坐标点以及所述初始凸包,构建目标凸包,并利用所述目标凸包确定线路规划。
本申请中,在若确定平面点集中包含的坐标点数量为至少三个,获取平面点集中任意三个第一坐标点;根据三个第一坐标点,构建初始凸包;若检测到存在新加入平面点集的第二坐标点,确定第二坐标点未形成在初始凸包内部;根据第二坐标点以及初始凸包,构建目标凸包。通过应用本申请的技术方案,可以实现在建立初始凸包的基础上,运用较少的计算和存储资源,能够快速准确的构建出平面点集的凸包,而且在迭代过程中,由于大部分坐标点仅处理一次因此可以避免相关技术中出现的构建凸包繁琐的问题。
在本申请的另一种实施方式中,获取模块201,还包括:
获取模块201,被配置为若所述第二坐标点形成在所述初始凸包的外边上,则将所述第二坐标点作为所述初始凸包的顶点;
获取模块201,被配置为以所述第二坐标点作为顶点,以及,以所述初始凸包对应的三个第一坐标点为顶点,构建所述目标凸包。
在本申请的另一种实施方式中,获取模块201,还包括:
获取模块201,被配置为若所述第二坐标点形成在所述初始凸包的外部,将所述初始凸包对应的三个第一坐标点以预设顺序连接成边,形成初始凸包对应的边集合;
获取模块201,被配置为将所述第二坐标点与每个所述第一坐标点进行连接,得到对应的多个目标线段;
获取模块201,被配置为检测每个所述目标线段与所述边集合中每个边是否相交,如均不相交,采集所述初始凸包中存在的,由不相交目标线段所组成的坐标点,形成特征点构成集合;
获取模块201,被配置为基于所述特征点构成集合,构建所述目标凸包。
在本申请的另一种实施方式中,获取模块201,还包括:
获取模块201,被配置为若确定所述特征点构成集合中特征点的数量为两个,将所述第二坐标点作为顶点,将所述第二坐标点插入到所述初始凸包中,生成所述目标凸包;
或,
获取模块201,被配置为若确定所述特征点构成集合中特征点的数量超过两个,确定所述特征点构成集合中的两个关键特征点,并删除所述特征点构成集合中,除所述关键特征点之外的特征点;
获取模块201,被配置为将所述第二坐标点作为顶点,将所述第二坐标点插入到所述两个关键特征点中,生成所述目标凸包。
在本申请的另一种实施方式中,获取模块201,还包括:
获取模块201,被配置为计算所述特征点构成集合中,每个特征点与所述第二坐标点之间的多个第一距离值;
获取模块201,被配置为将其中与所述第二坐标点之间的第一距离值最长的特征点作为第一关键特征点;
获取模块201,被配置为计算所述特征点构成集合中,除所述第一个关键特征点之外的任一特征点与所述第一个关键特征点之间的第二距离值,以及除所述第一个关键特征点之外的任一特征点与所述第二坐标点之间的第三距离值;
获取模块201,被配置为将所述第二距离值与所述第三距离值的距离之和相对最小的特征点作为所述特征点构成集合中的第二关键特征点。
在本申请的另一种实施方式中,获取模块201,还包括:
获取模块201,被配置为获取所述初始凸包上存在的每个第一坐标点的坐标值;
获取模块201,被配置为计算得到所述第一坐标点的坐标值中的最大坐标值,以及最小坐标值;
获取模块201,被配置为根据所述最大坐标值、所述最小坐标值以及第二坐标点的坐标值,生成第三坐标点以及第四坐标点;
获取模块201,被配置为将所述第三坐标点与所述第二坐标点进行连接,得到第一线段,以及,将所述第四坐标点与所述第二坐标点进行连接,得到第二线段;
获取模块201,被配置为若确定所述第一线段以及所述第二线段均与所述初始凸包相交一次,则确定所述第二坐标点未形成在所述初始凸包内部。
在本申请的另一种实施方式中,获取模块201,还包括:
获取模块201,被配置为若确定所述第二坐标点形成在所述初始凸包内部,将所述初始凸包作为所述目标凸包并等待接收下一个坐标点。
图7是根据一示例性实施例示出的一种电子设备的逻辑结构框图。例如,电子设备300可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由电子设备处理器执行以完成上述码率控制的方法,该方法包括:若确定平面点集中包含的坐标点数量为至少三个,获取所述平面点集中任意三个第一坐标点;根据所述三个第一坐标点,构建初始凸包;若检测到存在新加入所述平面点集的第二坐标点,确定所述第二坐标点未形成在所述初始凸包内部;根据所述第二坐标点以及所述初始凸包,构建目标凸包,并利用所述目标凸包确定线路规划。可选地,上述指令还可以由电子设备的处理器执行以完成上述示例性实施例中所涉及的其他步骤。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种应用程序/计算机程序产品,包括一条或多条指令,该一条或多条指令可以由电子设备的处理器执行,以完成上述码率控制的方法,该方法包括:若确定平面点集中包含的坐标点数量为至少三个,获取所述平面点集中任意三个第一坐标点;根据所述三个第一坐标点,构建初始凸包;若检测到存在新加入所述平面点集的第二坐标点,确定所述第二坐标点未形成在所述初始凸包内部;根据所述第二坐标点以及所述初始凸包,构建目标凸包,并利用所述目标凸包确定线路规划。可选地,上述指令还可以由电子设备的处理器执行以完成上述示例性实施例中所涉及的其他步骤。
图7为计算机设备30的示例图。本领域技术人员可以理解,示意图7仅仅是计算机设备30的示例,并不构成对计算机设备30的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备30还可以包括输入输出设备、网络接入设备、总线等。
所称处理器302可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器302也可以是任何常规的处理器等,处理器302是计算机设备30的控制中心,利用各种接口和线路连接整个计算机设备30的各个部分。
存储器301可用于存储计算机可读指令303,处理器302通过运行或执行存储在存储器301内的计算机可读指令或模块,以及调用存储在存储器301内的数据,实现计算机设备30的各种功能。存储器301可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机设备30的使用所创建的数据等。此外,存储器301可以包括硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)或其他非易失性/易失性存储器件。
计算机设备30集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (10)
1.一种面向平面点集构建凸包的方法,其特征在于,包括:
若确定平面点集中包含的坐标点数量为至少三个,获取所述平面点集中任意三个第一坐标点;
根据所述三个第一坐标点,构建初始凸包;
若检测到存在新加入所述平面点集的第二坐标点,确定所述第二坐标点未形成在所述初始凸包内部;
根据所述第二坐标点以及所述初始凸包,构建目标凸包,并利用所述目标凸包确定线路规划。
2.如权利要求1所述的方法,其特征在于,所述根据所述第二坐标点以及所述初始凸包,构建目标凸包,包括:
若所述第二坐标点形成在所述初始凸包的外边上,则将所述第二坐标点作为所述初始凸包的顶点;
以所述第二坐标点作为顶点,以及,以所述初始凸包对应的三个第一坐标点为顶点,构建所述目标凸包。
3.如权利要求1所述的方法,其特征在于,所述根据所述第二坐标点以及所述初始凸包,构建目标凸包,包括:
若所述第二坐标点形成在所述初始凸包的外部,将所述初始凸包对应的三个第一坐标点以预设顺序连接成边,形成初始凸包对应的边集合;
将所述第二坐标点与每个所述第一坐标点进行连接,得到对应的多个目标线段;
检测每个所述目标线段与所述边集合中每个边是否相交,如均不相交,采集所述初始凸包中存在的,由不相交目标线段所组成的坐标点,形成特征点构成集合;
基于所述特征点构成集合,构建所述目标凸包。
4.如权利要求3所述的方法,其特征在于,所述基于所述特征点构成集合,构建所述目标凸包,包括:
若确定所述特征点构成集合中特征点的数量为两个,将所述第二坐标点作为顶点,将所述第二坐标点插入到所述初始凸包中,生成所述目标凸包;
或,
若确定所述特征点构成集合中特征点的数量超过两个,确定所述特征点构成集合中的两个关键特征点,并删除所述特征点构成集合中,除所述关键特征点之外的特征点;
将所述第二坐标点作为顶点,将所述第二坐标点插入到所述两个关键特征点中,生成所述目标凸包。
5.如权利要求4所述的方法,其特征在于,所述确定所述特征点构成集合中的两个关键特征点,包括:
计算所述特征点构成集合中,每个特征点与所述第二坐标点之间的多个第一距离值;
将其中与所述第二坐标点之间的第一距离值最长的特征点作为第一关键特征点;
计算所述特征点构成集合中,除所述第一个关键特征点之外的任一特征点与所述第一个关键特征点之间的第二距离值,以及除所述第一个关键特征点之外的任一特征点与所述第二坐标点之间的第三距离值;
将所述第二距离值与所述第三距离值的距离之和相对最小的特征点作为所述特征点构成集合中的第二关键特征点。
6.如权利要求1所述的方法,其特征在于,所述确定所述第二坐标点未形成在所述初始凸包内部,包括:
获取所述初始凸包上存在的每个第一坐标点的坐标值;
计算得到所述第一坐标点的坐标值中的最大坐标值,以及最小坐标值;
根据所述最大坐标值、所述最小坐标值以及第二坐标点的坐标值,生成第三坐标点以及第四坐标点;
将所述第三坐标点与所述第二坐标点进行连接,得到第一线段,以及,将所述第四坐标点与所述第二坐标点进行连接,得到第二线段;
若确定所述第一线段以及所述第二线段均与所述初始凸包相交一次,则确定所述第二坐标点未形成在所述初始凸包内部。
7.如权利要求1所述的方法,其特征在于,在所述若检测到存在新加入所述平面点集的第二坐标点之后,还包括:
若确定所述第二坐标点形成在所述初始凸包内部,将所述初始凸包作为所述目标凸包并等待接收下一个坐标点。
8.一种面向平面点集构建凸包的装置,其特征在于,包括:
获取模块,被设置为若确定所述平面点集中包含的坐标点数量为至少三个,获取所述平面点集中任意三个第一坐标点;
构建模块,被设置为根据所述三个第一坐标点,构建初始凸包;
确定模块,被设置为若检测到存在新加入所述平面点集的第二坐标点,确定所述第二坐标点未形成在所述初始凸包内部;
所述构建模块,被设置为根据所述第二坐标点以及所述初始凸包,构建目标凸包,并利用所述目标凸包确定线路规划。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;以及,
处理器,用于与所述存储器显示以执行所述可执行指令从而完成权利要求1-7中任一所述面向平面点集构建凸包的方法的操作。
10.一种计算机可读存储介质,用于存储计算机可读取的指令,其特征在于,所述指令被执行时执行权利要求1-7中任一所述面向平面点集构建凸包的方法的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110996712.3A CN113689524A (zh) | 2021-08-27 | 2021-08-27 | 面向平面点集构建凸包的方法、装置、电子设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110996712.3A CN113689524A (zh) | 2021-08-27 | 2021-08-27 | 面向平面点集构建凸包的方法、装置、电子设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113689524A true CN113689524A (zh) | 2021-11-23 |
Family
ID=78583656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110996712.3A Pending CN113689524A (zh) | 2021-08-27 | 2021-08-27 | 面向平面点集构建凸包的方法、装置、电子设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113689524A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114299143A (zh) * | 2021-12-27 | 2022-04-08 | 浙江大华技术股份有限公司 | 图像中坐标点的标注方法及装置 |
CN116894864A (zh) * | 2023-09-06 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 凸包检测方法、装置、设备及存储介质 |
CN118691711B (zh) * | 2024-08-23 | 2024-10-29 | 北京纷扬科技有限责任公司 | 一种获取凸点坐标集的展示方法、系统、设备及介质 |
-
2021
- 2021-08-27 CN CN202110996712.3A patent/CN113689524A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114299143A (zh) * | 2021-12-27 | 2022-04-08 | 浙江大华技术股份有限公司 | 图像中坐标点的标注方法及装置 |
CN116894864A (zh) * | 2023-09-06 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 凸包检测方法、装置、设备及存储介质 |
CN116894864B (zh) * | 2023-09-06 | 2023-12-12 | 腾讯科技(深圳)有限公司 | 凸包检测方法、装置、设备及存储介质 |
CN118691711B (zh) * | 2024-08-23 | 2024-10-29 | 北京纷扬科技有限责任公司 | 一种获取凸点坐标集的展示方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113689524A (zh) | 面向平面点集构建凸包的方法、装置、电子设备及介质 | |
US20210272306A1 (en) | Method for training image depth estimation model and method for processing image depth information | |
CN112815954B (zh) | 确定车辆导航路线的方法、装置、电子设备及介质 | |
CN111459269B (zh) | 一种增强现实显示方法、系统及计算机可读存储介质 | |
CN110826403B (zh) | 跟踪目标确定方法及相关设备 | |
CN110210564B (zh) | 相似户型检测方法及装置 | |
WO2020062472A1 (zh) | 一种三角网格模型的处理方法、处理终端及存储介质 | |
CN110853488B (zh) | 一种poi标签显示方法、装置和设备 | |
CN107291874A (zh) | 地图点位聚合方法及装置 | |
CN112381616A (zh) | 物品推荐引导方法、装置及计算机设备 | |
CN108492284A (zh) | 用于确定图像的透视形状的方法和装置 | |
CN114529647A (zh) | 对象渲染方法、设备、装置、电子设备及存储介质 | |
CN116883563B (zh) | 标注点渲染方法、装置、计算机设备、存储介质 | |
CN110989880B (zh) | 一种界面元素处理方法、装置及可读存储介质 | |
CN110264546B (zh) | 图像合成的方法、装置、计算机可读存储介质及终端 | |
CN115761123B (zh) | 三维模型处理方法、装置、电子设备以及存储介质 | |
CN113844034B (zh) | 三维模型打孔处理方法、打印方法、相关设备和存储介质 | |
JP3381993B2 (ja) | 中心線算出装置 | |
CN108475341B (zh) | 三维图像的识别方法和终端 | |
CN114490753A (zh) | 展示地图信息的方法、装置、电子设备及介质 | |
CN112464753B (zh) | 图像中关键点的检测方法、检测装置及终端设备 | |
CN111754632B (zh) | 业务服务的处理方法、装置、设备及存储介质 | |
CN114328783A (zh) | 地图数据输出方法、地图数据处理方法、装置和电子设备 | |
CN114022658A (zh) | 一种目标检测方法、装置、存储介质及终端 | |
CN111159626B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211123 |