CN115953501B - 有序离散点集合的生成方法、装置、设备及存储介质 - Google Patents
有序离散点集合的生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115953501B CN115953501B CN202310069913.8A CN202310069913A CN115953501B CN 115953501 B CN115953501 B CN 115953501B CN 202310069913 A CN202310069913 A CN 202310069913A CN 115953501 B CN115953501 B CN 115953501B
- Authority
- CN
- China
- Prior art keywords
- edge
- target processing
- point
- discrete
- target
- 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.)
- Active
Links
Images
Landscapes
- Image Analysis (AREA)
Abstract
本公开提供了一种有序离散点集合的生成方法、装置、设备及存储介质,所述方法包括:从待处理边集合中确定第一目标处理边,并将第一目标处理边的起点或终点确定为目标处理点,基于目标处理点和第一目标处理边确定边搜索方向,从待处理边集合中获取起点或终点的位置信息与目标处理点的位置信息相同的边,作为第二目标处理边,如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对该条边上的离散点进行反向排序,按照离散点顺序,利用待处理边集合中的各个边上的离散点生成目标图形对象对应的有序离散点集合。本公开能够从一般情况出发,利用边集合生成有序离散点集合,保证了使得生成的离散点为同一方向的稳定性。
Description
技术领域
本公开涉及图形处理技术领域,尤其涉及一种有序离散点集合的生成方法、装置、设备及存储介质。
背景技术
CAGD(Computer Aided Geometric Design,计算机辅助几何设计)是涉及数学及计算机科学的一门新兴的交叉学科, 它研究的内容是“在计算机图像系统的环境中曲面的表示和逼近”,它主要侧重于计算机设计和制造的数学理论和几何体的构造方面。
目前的相关技术中,直接利用无序的边集合生成有序离散点集合在智能设计中显得至关重要,例如利用有序离散点自动生成更加光滑的B样条曲线用于后续智能设计等。因此,亟需探索一种直接利用无序的边集合来生成有序离散点集合的方法。
发明内容
为了解决上述技术问题,本公开实施例提供了一种有序离散点集合的生成方法。
第一方面,本公开提供了一种有序离散点集合的生成方法,所述方法包括:
获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合;其中,所述待处理边集合中包括用于构成所述目标图形对象的边;
从所述待处理边集合中确定第一目标处理边,并将所述第一目标处理边的起点或终点确定为目标处理点,以及基于所述目标处理点和所述第一目标处理边确定边搜索方向;
从所述待处理边集合中获取起点或终点的位置信息与所述目标处理点的位置信息相同的边,作为第二目标处理边;
如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序;
基于所述边搜索方向,将与所述第二目标处理边相邻的边更新为更新后第二目标处理边,以及将所述第一目标处理边与所述第二目标处理边合并后更新为更新后第一目标处理边,继续执行所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序的步骤,直到确定所述待处理边集合中不存在未处理的边;
按照离散点顺序,利用所述待处理边集合中的各个边上的离散点生成所述目标图形对象对应的有序离散点集合;其中,所述有序离散点集合用于在所述交互设计界面上生成所述目标图形对象对应的预设类型曲线、平面图形和/或立体图形。
一种可选的实施方式中,所述从所述待处理边集合中获取起点或终点的位置信息与所述目标处理点的位置信息相同的边,作为第二目标处理边之后,还包括:
基于所述待处理边集合中获取起点或终点的位置信息,确定所述第一目标处理边的起点和终点与所述第二目标处理边的起点和终点之间的连接关系;其中,所述连接关系包括所述第一目标处理边的终点与所述第二目标处理边的起点相连、所述第一目标处理边的终点与所述第二目标处理边的终点相连、所述第一目标处理边的起点与所述第二目标处理边的起点相连、所述第一目标处理边的起点与所述第二目标处理边的终点相连。
一种可选的实施方式中,所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序,包括:
如果确定所述第一目标处理边的终点与所述第二目标处理边的终点相连,则确定所述第二目标处理边上生成的离散点的顺序与所述边搜索方向不一致;
针对所述第二目标处理边上生成的离散点进行反向排序。
一种可选的实施方式中,所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序,包括:
如果确定所述第一目标处理边的起点与所述第二目标处理边的起点相连,则确定所述第一目标处理边上生成的离散点的顺序与所述边搜索方向不一致;
针对所述第一目标处理边上生成的离散点进行反向排序。
一种可选的实施方式中,所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序,包括:
如果确定所述第一目标处理边的起点与所述第二目标处理边的终点相连,则确定所述第一目标处理边上生成的离散点的顺序以及所述第二目标处理边上生成的离散点的顺序均与所述边搜索方向不一致;
针对所述第一目标处理边上生成的离散点以及所述第二目标处理边上生成的离散点进行反向排序。
一种可选的实施方式中,所述方法还包括:
删除所述第二目标处理边上的有序离散点中第一个离散点,得到删除后所述第二目标处理边上的有序离散点;其中,所述第二目标处理边上的有序离散点顺序与所述边搜索方向一致;
将所述第一目标处理边上的有序离散点与所述删除后所述第二目标处理边上的有序离散点进行合并,得到更新后第一目标处理边上的离散点。
一种可选的实施方式中,所述方法还包括:
基于所述待处理边集合中获取起点或终点的位置信息,确定所述目标图形对象对应的有序离散点集合中的第一个离散点与最后一个离散点是否重合;
基于针对所述目标图形对象对应的有序离散点集合对应的封闭需求,对所述目标图形对象对应的有序离散点集合进行处理。
第二方面,本公开提供了一种有序离散点集合的生成装置,所述装置包括:
获取模块,用于获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合;其中,所述待处理边集合中包括用于构成所述目标图形对象的边;
第一确定模块,用于从所述待处理边集合中确定第一目标处理边,并将所述第一目标处理边的起点或终点确定为目标处理点,以及基于所述目标处理点和所述第一目标处理边确定边搜索方向;
第二确定模块,用于从所述待处理边集合中获取起点或终点的位置信息与所述目标处理点的位置信息相同的边,作为第二目标处理边;
排序模块,用于如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序;
更新模块,用于基于所述边搜索方向,将与所述第二目标处理边相邻的边更新为更新后第二目标处理边,以及将所述第一目标处理边与所述第二目标处理边合并后更新为更新后第一目标处理边,继续执行所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序的步骤,直到确定所述待处理边集合中不存在未处理的边;
生成模块,用于按照离散点顺序,利用所述待处理边集合中的各个边上的离散点生成所述目标图形对象对应的有序离散点集合;其中,所述有序离散点集合用于在所述交互设计界面上生成所述目标图形对象对应的预设类型曲线、平面图形和/或立体图形。
第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。
第四方面,本公开提供了一种有序离散点集合的生成设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。
本公开实施例提供的技术方案与现有技术相比至少具有如下优点:
本公开实施例提供了一种有序离散点集合的生成方法,获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合,从待处理边集合中确定第一目标处理边,并将第一目标处理边的起点或终点确定为目标处理点,以及基于目标处理点和第一目标处理边确定边搜索方向,从待处理边集合中获取起点或终点的位置信息与目标处理点的位置信息相同的边,作为第二目标处理边,如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对该条边上的离散点进行反向排序,基于边搜索方向,将与第二目标处理边相邻的边更新为更新后第二目标处理边,以及将第一目标处理边与第二目标处理边合并后更新为更新后第一目标处理边,继续执行如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对该条边上的离散点进行反向排序的步骤,直到确定待处理边集合中不存在未处理的边,按照离散点顺序,利用待处理边集合中的各个边上的离散点生成目标图形对象对应的有序离散点集合。
可见,本公开实施例能够从一般情况出发,利用边集合生成有序离散点集合,保证了使得生成的离散点为同一方向的稳定性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种有序离散点集合的生成方法的流程图;
图2为本公开实施例提供的一种封闭曲线的示意图;
图3为本公开实施例提供的一种非封闭曲线的示意图;
图4为本公开实施例提供的一种相邻两边之间连接关系的示意图;
图5为本公开实施例提供的另一种相邻两边之间连接关系的示意图;
图6为本公开实施例提供的另一种相邻两边之间连接关系的示意图;
图7为本公开实施例提供的另一种相邻两边之间连接关系的示意图;
图8为本公开实施例提供的一种有序离散点集合的生成装置的结构示意图;
图9为本公开实施例提供的一种有序离散点集合的生成设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
本公开实施例提供了一种有序离散点集合的生成方法,参考图1,为本公开实施例提供的一种有序离散点集合的生成方法的流程图,该方法包括:
S101:获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合。
其中,待处理边集合中包括用于构成目标图形对象的边。
在几何拓扑学中,基本元素包括点、边、面、体,在计算机辅助几何设计中,基于包括点、边、面、体在内的基本元素进行几何表达,通常利用边集合描述一条由多条边构成的曲线,其中,边集合可以包括有序排列或者无序排列,多条边构成的曲线可以包括封闭曲线或者非封闭曲线。
本公开实施例中,交互设计界面上的目标图形对象可以由几何拓扑学的基本元素组成,获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合,其中,待处理边集合中至少包括两条边,用于构成目标图形对象的边。
本公开实施例中,待处理边集合可以为无序边集合,如图2所示,为本公开实施例提供的一种封闭曲线的示意图,其中,该封闭曲线由待处理边集合A进行表达,该待处理边集合A为无序边集合,并且,该待处理边集合A中包括七条边。
如图3所示,为本公开实施例提供的一种非封闭曲线的示意图,其中,该非封闭曲线由待处理边集合B进行表达,该待处理边集合B为无序边集合,并且,该待处理边集合B中包括五条边,其中,边E1只有一个顶点与另一条边相连,同样,边E3也只有一个顶点与另一条边相连,则边E0和边E2可以为该待处理边集合B中的边界边。
S102:从待处理边集合中确定第一目标处理边,并将第一目标处理边的起点或终点确定为目标处理点,以及基于目标处理点和第一目标处理边确定边搜索方向。
本公开实施例中,将待处理边集合包括的多条边中的任意一条边,确定为第一目标处理边,假设基于待处理边集合表达为封闭曲线,则可以将待处理边集合中的任意一条边确定为第一目标处理边,例如,参考图2,可以将边E1确定为第一目标处理边;假设基于待处理边集合表达为非封闭曲线,则可以将待处理边集合中的边界边确定为第一目标处理边,例如,参考图3,可以将边E0确定为第一目标处理边。
本公开实施例中,待处理边集合中的每一条边都包括对应的起点和终点,在确定第一目标处理边之后,可以将第一目标处理边的起点或终点确定为目标处理点,与目标处理点相连接的边为第一目标处理边的下一条边,进而,基于目标处理点和第一目标处理边确定边搜索方向。
举例说明,参考图2,上述将边E1确定为第一目标处理边,以边E1下方端点为起点,边E1上方端点为终点为例,假设将边E1的终点确定为目标处理点,则与该目标处理点相连接的边为边E3,则基于边E1以及该目标处理点,确定边搜索方向为E1-E3-E5-E7-E6-E4-E2;假设将边E1的起点确定为目标处理点,则与该目标处理点相连接的边为边E2,则基于边E1以及该目标处理点,确定边搜索方向为E1-E2-E4-E6-E7-E5-E3。
参考图3,上述将边E0确定为第一目标处理边,以边E0左边端点为起点,边E0右边端点为终点为例,由于边E0为边界边,可以将边E0的终点确定为目标处理点,则与该目标处理点相连接的边为边E4,则基于边E0以及该目标处理点,确定边搜索方向为E0-E4-E1-E3-E2。
S103:从待处理边集合中获取起点或终点的位置信息与目标处理点的位置信息相同的边,作为第二目标处理边。
本公开实施例中,待处理边集合中的每一条边对应的起点和终点,分别携带对应的位置信息,其中,位置信息可以包括坐标信息。基于上述S102,将第一目标处理边的起点或终点确定为目标处理点之后,获取该目标处理点对应的坐标信息,遍历待处理边集合中其他各个边对应起点和终点的坐标信息,找到与目标处理点的坐标信息相同对应的端点,将该端点对应的边作为第二目标处理边。
一种可选的实施方式,基于待处理边集合中获取起点或终点的位置信息,确定第一目标处理边的起点和终点与第二目标处理边的起点和终点之间的连接关系,其中,连接关系包括第一目标处理边的终点与第二目标处理边的起点相连、第一目标处理边的终点与第二目标处理边的终点相连、第一目标处理边的起点与第二目标处理边的起点相连、第一目标处理边的起点与第二目标处理边的终点相连。
本公开实施例中,基于上述S102确定第二目标处理边之后,确定第二目标处理边上与目标处理点的位置信息相同的端点为第二目标处理边的起点或终点,如果第二目标处理边上与目标处理点的位置信息相同的端点为第二目标处理边的起点,则说明第二目标处理边的起点与第一目标处理边相连接;如果第二目标处理边上与目标处理点的位置信息相同的端点为第二目标处理边的终点,则说明第二目标处理边的终点与第一目标处理边相连接。
本公开实施例中,第一目标处理边与第二目标处理边之间的连接关系可以包括四种,具体的,连接关系一:第一目标处理边的终点与第二目标处理边的起点相连、连接关系二:第一目标处理边的终点与第二目标处理边的终点相连、连接关系三:第一目标处理边的起点与第二目标处理边的起点相连、连接关系四:第一目标处理边的起点与第二目标处理边的终点相连。
参考图2,以边E1为第一目标处理边,边E1的终点为目标处理点A为例,可以确定第二目标处理边为边E3。如果边E3的起点与目标处理点A的位置信息相同,则可以说明边E3的起点与边E1相连接,即可以确定边E1与边E3之间的连接关系为上述连接关系一:第一目标处理边的终点与第二目标处理边的起点相连;如果边E3的终点与目标处理点A的位置信息相同,则可以说明边E3的终点与边E1相连接,即可以确定边E1与边E3之间的连接关系为上述连接关系二:第一目标处理边的终点与第二目标处理边的终点相连。
参考图2,以边E1为第一目标处理边,边E1的起点为目标处理点B为例,可以确定第二目标处理边为边E2。如果边E2的起点与目标处理点B的位置信息相同,则可以说明边E2的起点与边E1相连接,即可以确定边E1与边E2之间的连接关系为上述连接关系三:第一目标处理边的起点与第二目标处理边的起点相连;如果边E2的终点与目标处理点B的位置信息相同,则可以说明边E2的终点与边E1相连接,即可以确定边E1与边E2之间的连接关系为上述连接关系四:第一目标处理边的起点与第二目标处理边的终点相连。
S104:如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对与边搜索方向不一致的边上的离散点进行反向排序。
本公开实施例中,边上生成若干个离散点,每条边上离散点的生成顺序均为由起点开始,到终点结束,离散点的数据在内存中本身的存储顺序都是由起点到终点的顺序进行存储,如果存在离散点顺序与边搜索方向不一致的边,则需要对该条边上的离散点进行反向排序。例如,假设边搜索方向为从左到右,而边的起点在右边,边的终点在左边,即边上生成的离散点顺序为从右到左,则可以确定边上生成的离散点顺序与边搜索方向不一致,则需要将边上的离散点进行反向排序。
本公开实施例中,基于上述S102确定的边搜索方向,如果第一目标处理边上生成的离散点顺序以及第二目标处理边上生成的离散点顺序均与边搜索方向一致,则保持边上生成的离散点顺序不变;如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对边上生成的离散点进行反向排序,其中,与边搜索方向不一致的边的数量可以为0条、1条或者2条。
本公开实施例中,如图4所示,为本公开实施例提供的一种相邻两边之间连接关系的示意图,其中,边Ei为第一目标处理边,边Ei+1为第二目标处理边,边搜索方向为从左到右,具体的,V0i为边Ei的起点,V1i为边Ei的终点,V0i+1为边Ei+1的起点,V1i+1为边Ei+1的终点,边Ei的终点和Ei+1的起点相连,则可以确定边Ei和边Ei+1的连接关系为上述连接关系一。参考图4,边Ei上生成的离散点顺序以及边Ei+1上生成的离散点顺序均为从左到右,即均与边搜索方向一致,则融合后变量存储方向保持不变。
一种可选的实施方式,如果确定第一目标处理边的终点与第二目标处理边的终点相连,则确定第二目标处理边上生成的离散点的顺序与边搜索方向不一致,进而,针对第二目标处理边上生成的离散点进行反向排序。
本公开实施例中,如图5所示,为本公开实施例提供的另一种相邻两边之间连接关系的示意图,其中,边Ei为第一目标处理边,边Ei+1为第二目标处理边,边搜索方向为从左到右,具体的,V0i为边Ei的起点,V1i为边Ei的终点,V0i+1为边Ei+1的起点,V1i+1为边Ei+1的终点,边Ei的终点和Ei+1的终点相连,则可以确定边Ei和边Ei+1的连接关系为上述连接关系二。
本公开实施例中,参考图5,边Ei+1的起点在右边,边Ei+1的终点在左边,即边Ei+1上生成的离散点顺序为从右到左,则可以确定边Ei+1上生成的离散点顺序与边搜索方向不一致,进而,需要将Ei+1上的离散点进行反向排序,得到融合后变量存储。
一种可选的实施方式,如果确定第一目标处理边的起点与第二目标处理边的起点相连,则确定第一目标处理边上生成的离散点的顺序与边搜索方向不一致,进而,针对第一目标处理边上生成的离散点进行反向排序。
本公开实施例中,如图6所示,为本公开实施例提供的另一种相邻两边之间连接关系的示意图,其中,边Ei为第一目标处理边,边Ei+1为第二目标处理边,边搜索方向为从左到右,具体的,V0i为边Ei的起点,V1i为边Ei的终点,V0i+1为边Ei+1的起点,V1i+1为边Ei+1的终点,边Ei的起点和Ei+1的起点相连,边Ei和边Ei+1的连接关系为上述连接关系三。
本公开实施例中,参考图6,边Ei的起点在右边,边Ei的终点在左边,即边Ei上生成的离散点顺序为从右到左,则可以确定边Ei上生成的离散点顺序与边搜索方向不一致,进而,需要将Ei上的离散点进行反向排序,得到融合后变量存储。
一种可选的实施方式,如果确定第一目标处理边的起点与第二目标处理边的终点相连,则确定第一目标处理边上生成的离散点的顺序以及第二目标处理边上生成的离散点的顺序均与边搜索方向不一致,进而,针对第一目标处理边上生成的离散点以及第二目标处理边上生成的离散点进行反向排序。
本公开实施例中,如图7所示,为本公开实施例提供的另一种相邻两边之间连接关系的示意图,其中,边Ei为第一目标处理边,边Ei+1为第二目标处理边,边搜索方向为从左到右,具体的,V0i为边Ei的起点,V1i为边Ei的终点,V0i+1为边Ei+1的起点,V1i+1为边Ei+1的终点,边Ei的起点和Ei+1的终点相连,边Ei和边Ei+1的连接关系为上述连接关系四。
本公开实施例中,参考图7,边Ei的起点在右边,边Ei的终点在左边,即边Ei上生成的离散点顺序为从右到左,则可以确定边Ei上生成的离散点顺序与边搜索方向不一致;并且,边Ei+1的起点在右边,边Ei+1的终点在左边,即边Ei+1上生成的离散点顺序为从右到左,则可以确定边Ei+1上生成的离散点顺序与边搜索方向不一致,进而,需要将Ei上的离散点以及Ei+1上的离散点分别进行反向排序,得到融合后变量存储。
S105:基于边搜索方向,将与第二目标处理边相邻的边更新为更新后第二目标处理边,以及将第一目标处理边与第二目标处理边合并后更新为更新后第一目标处理边,继续执行S104的步骤,直到确定待处理边集合中不存在未处理的边。
本公开实施例中,基于上述S101-S104步骤之后,第一目标处理边与第二目标处理边合并,并且得到第一目标处理边和第二目标处理边上的有序离散点集合,基于边搜索方向,将第一目标处理边与第二目标处理边合并后更新为更新后第一目标处理边,将与第二目标处理边相邻的边更新为更新后第二目标处理边。例如,参考图2,如果边搜索方向为E1-E3-E5-E7-E6-E4-E2,则边E1+边E3为更新后第一目标处理边,边E5为第二目标处理边;如果边搜索方向为E1-E2-E4-E6-E7-E5-E3,则边E1+边E2为更新后第一目标处理边,边E4为第二目标处理边。
本公开实施例中,更新目标处理边之后,继续执行S104的步骤,即判断更新后第一目标处理边和更新后第二目标处理边中是否存在离散点顺序与边搜索方向不一致的边,如果存在,则需要对与边搜索方向不一致的边上的离散点进行反向排序,直到确定待处理边集合中不存在未处理的边。
一种可选的实施方式,在更新目标处理边之前,首先,删除第二目标处理边上的有序离散点中第一个离散点,得到删除后第二目标处理边上的有序离散点,进而,将第一目标处理边上的有序离散点与删除后第二目标处理边上的有序离散点进行合并,得到更新后第一目标处理边上的离散点,其中,第二目标处理边上的有序离散点顺序与边搜索方向一致。
本公开实施例中,每条边上均生成若干个离散点,例如,第一目标处理边Ei上生成ni个离散点,第二目标处理边Ei+1上生成ni+1个离散点。首先,删除第二目标处理边Ei+1上ni+1个有序离散点中的第一个离散点,即从边Ei+1上的第2个离散点开始与边Ei的ni个有序离散点进行合并,得到更新后第一目标处理边上的离散点,以保证在整个待处理边集合进行离散时,中间避免出现共同端点。
S106:按照离散点顺序,利用待处理边集合中的各个边上的离散点生成目标图形对象对应的有序离散点集合。
其中,有序离散点集合用于在交互设计界面上生成目标图形对象对应的预设类型曲线、平面图形和/或立体图形。
本公开实施例中,基于上述S101-S105,两两处理待处理边集合中的各个边上生成的离散点顺序,按照离散点顺序,利用待处理边集合中的各个边上的离散点生成目标图形对象对应的有序离散点集合,该有序离散点集合可以用于在交互设计界面上生成目标图形对象对应的预设类型曲线(如B样条曲线等)、平面图形和/或立体图形。
一种可选的实施方式,首先,基于待处理边集合中获取起点或终点的位置信息,确定目标图形对象对应的有序离散点集合中的第一个离散点与最后一个离散点是否重合,进而,基于针对目标图形对象对应的有序离散点集合对应的封闭需求,对目标图形对象对应的有序离散点集合进行处理。
本公开实施例中,在得到目标图形对象对应的有序离散点集合之后,基于待处理边集合中获取起点或终点的坐标信息,判断有序离散点集合的第一个离散点与最后一个离散点是否重合,例如,参考图2,假设边搜索方向为E1-E3-E5-E7-E6-E4-E2,则得到的有序离散点集合对应的第一个离散点为边E1上的第一个离散点,有序离散点集合对应的最后一个离散点为边E2上的最后一个离散点,则需要判断边E1上的第一个离散点与边E2上的最后一个离散点对应的坐标信息是否一致,如果坐标信息一致,则确定有序离散点集合中的第一个离散点与最后一个离散点重合;如果坐标信息不一致,则确定有序离散点集合中的第一个离散点与最后一个离散点不重合。
本公开实施例中,基于针对目标图形对象对应的有序离散点集合对应的封闭需求,对目标图形对象对应的有序离散点集合进行处理。基于上述举例,假设有序离散点集合中的第一个离散点与最后一个离散点重合,如果离散点需要封闭,则无需做任何处理;如果离散点不需要封闭,则删除有序离散点集合的最后一个离散点,即删除边E2上的最后一个离散点,得到新的目标图形对象对应的有序离散点集合。
本公开实施例中,假设有序离散点集合中的第一个离散点与最后一个离散点不重合,如果离散点不需要封闭,则无需做任何处理;如果离散点需要封闭,则在有序离散点集合的最后加入与第一个离散点坐标信息一致的一个离散点,即在有序离散点集合的最后加入与E1上的第一个离散点坐标信息一致的一个离散点,得到新的目标图形对象对应的有序离散点集合。
本公开实施例提供的有序离散点集合的生成方法中,获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合,从待处理边集合中确定第一目标处理边,并将第一目标处理边的起点或终点确定为目标处理点,以及基于目标处理点和第一目标处理边确定边搜索方向,从待处理边集合中获取起点或终点的位置信息与目标处理点的位置信息相同的边,作为第二目标处理边,如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对该条边上的离散点进行反向排序,基于边搜索方向,将与第二目标处理边相邻的边更新为更新后第二目标处理边,以及将第一目标处理边与第二目标处理边合并后更新为更新后第一目标处理边,继续执行如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对该条边上的离散点进行反向排序的步骤,直到确定待处理边集合中不存在未处理的边,按照离散点顺序,利用待处理边集合中的各个边上的离散点生成目标图形对象对应的有序离散点集合。
可见,本公开实施例能够从一般情况出发,利用边集合生成有序离散点集合,保证了使得生成的离散点为同一方向的稳定性。
基于上述方法实施例,本公开还提供了一种有序离散点集合的生成装置,参考图8,为本公开实施例提供的一种有序离散点集合的生成装置的结构示意图,所述装置包括:
获取模块801,用于获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合;其中,所述待处理边集合中包括用于构成所述目标图形对象的边;
第一确定模块802,用于从所述待处理边集合中确定第一目标处理边,并将所述第一目标处理边的起点或终点确定为目标处理点,以及基于所述目标处理点和所述第一目标处理边确定边搜索方向;
第二确定模块803,用于从所述待处理边集合中获取起点或终点的位置信息与所述目标处理点的位置信息相同的边,作为第二目标处理边;
排序模块804,用于如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序;
更新模块805,用于基于所述边搜索方向,将与所述第二目标处理边相邻的边更新为更新后第二目标处理边,以及将所述第一目标处理边与所述第二目标处理边合并后更新为更新后第一目标处理边,继续执行所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序的步骤,直到确定所述待处理边集合中不存在未处理的边;
生成模块806,用于按照离散点顺序,利用所述待处理边集合中的各个边上的离散点生成所述目标图形对象对应的有序离散点集合;其中,所述有序离散点集合用于在所述交互设计界面上生成所述目标图形对象对应的预设类型曲线、平面图形和/或立体图形。
一种可选的实施方式中,所述装置还包括:
第三确定模块,用于基于所述待处理边集合中获取起点或终点的位置信息,确定所述第一目标处理边的起点和终点与所述第二目标处理边的起点和终点之间的连接关系;其中,所述连接关系包括所述第一目标处理边的终点与所述第二目标处理边的起点相连、所述第一目标处理边的终点与所述第二目标处理边的终点相连、所述第一目标处理边的起点与所述第二目标处理边的起点相连、所述第一目标处理边的起点与所述第二目标处理边的终点相连。
一种可选的实施方式中,所述排序模块804,包括:
第一确定子模块,用于如果确定所述第一目标处理边的终点与所述第二目标处理边的终点相连,则确定所述第二目标处理边上生成的离散点的顺序与所述边搜索方向不一致;
第一排序子模块,用于针对所述第二目标处理边上生成的离散点进行反向排序。
一种可选的实施方式中,所述排序模块804,包括:
第二确定子模块,用于如果确定所述第一目标处理边的起点与所述第二目标处理边的起点相连,则确定所述第一目标处理边上生成的离散点的顺序与所述边搜索方向不一致;
第二排序子模块,用于针对所述第一目标处理边上生成的离散点进行反向排序。
一种可选的实施方式中,所述排序模块804,包括:
第三确定子模块,用于如果确定所述第一目标处理边的起点与所述第二目标处理边的终点相连,则确定所述第一目标处理边上生成的离散点的顺序以及所述第二目标处理边上生成的离散点的顺序均与所述边搜索方向不一致;
第三排序子模块,用于针对所述第一目标处理边上生成的离散点以及所述第二目标处理边上生成的离散点进行反向排序。
一种可选的实施方式中,所述装置还包括:
删除模块,用于删除所述第二目标处理边上的有序离散点中第一个离散点,得到删除后所述第二目标处理边上的有序离散点;其中,所述第二目标处理边上的有序离散点顺序与所述边搜索方向一致;
合并模块,用于将所述第一目标处理边上的有序离散点与所述删除后所述第二目标处理边上的有序离散点进行合并,得到更新后第一目标处理边上的离散点。
一种可选的实施方式中,所述装置还包括:
第四确定模块,用于基于所述待处理边集合中获取起点或终点的位置信息,确定所述目标图形对象对应的有序离散点集合中的第一个离散点与最后一个离散点是否重合;
处理模块,用于基于针对所述目标图形对象对应的有序离散点集合对应的封闭需求,对所述目标图形对象对应的有序离散点集合进行处理。
本公开实施例提供的有序离散点集合的生成装置中,获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合,从待处理边集合中确定第一目标处理边,并将第一目标处理边的起点或终点确定为目标处理点,以及基于目标处理点和第一目标处理边确定边搜索方向,从待处理边集合中获取起点或终点的位置信息与目标处理点的位置信息相同的边,作为第二目标处理边,如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对该条边上的离散点进行反向排序,基于边搜索方向,将与第二目标处理边相邻的边更新为更新后第二目标处理边,以及将第一目标处理边与第二目标处理边合并后更新为更新后第一目标处理边,继续执行如果确定第一目标处理边和第二目标处理边中存在离散点顺序与边搜索方向不一致的边,则对该条边上的离散点进行反向排序的步骤,直到确定待处理边集合中不存在未处理的边,按照离散点顺序,利用待处理边集合中的各个边上的离散点生成目标图形对象对应的有序离散点集合。
可见,本公开实施例能够从一般情况出发,利用边集合生成有序离散点集合,保证了使得生成的离散点为同一方向的稳定性。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的有序离散点集合的生成方法。
另外,本公开实施例还提供了一种有序离散点集合的生成设备,参见图9所示,可以包括:
处理器901、存储器902、输入装置903和输出装置904。有序离散点集合的生成设备中的处理器901的数量可以一个或多个,图9中以一个处理器为例。在本公开的一些实施例中,处理器901、存储器902、输入装置903和输出装置904可通过总线或其它方式连接,其中,图9中以通过总线连接为例。
存储器902可用于存储软件程序以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行有序离散点集合的生成设备的各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。输入装置903可用于接收输入的数字或字符信息,以及产生与有序离散点集合的生成设备的用户设置以及功能控制有关的信号输入。
具体在本实施例中,处理器901会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器902中,并由处理器901来运行存储在存储器902中的应用程序,从而实现上述有序离散点集合的生成设备的各种功能。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种有序离散点集合的生成方法,其特征在于,所述方法包括:
获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合;其中,所述待处理边集合中包括用于构成所述目标图形对象的边;
从所述待处理边集合中确定第一目标处理边,并将所述第一目标处理边的起点或终点确定为目标处理点,以及基于所述目标处理点和所述第一目标处理边确定边搜索方向;
从所述待处理边集合中获取起点或终点的位置信息与所述目标处理点的位置信息相同的边,作为第二目标处理边;其中,所述第二目标处理边为所述待处理边集合中除所述第一目标处理边之外的边;
如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序;其中,所述离散点顺序用于表征由边的起点开始到终点结束的顺序;
基于所述边搜索方向,将与所述第二目标处理边相邻的边更新为更新后第二目标处理边,以及将所述第一目标处理边与所述第二目标处理边合并后更新为更新后第一目标处理边,继续执行所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序的步骤,直到确定所述待处理边集合中不存在未处理的边;
按照离散点顺序,利用所述待处理边集合中的各个边上的离散点生成所述目标图形对象对应的有序离散点集合;其中,所述有序离散点集合用于在所述交互设计界面上生成所述目标图形对象对应的预设类型曲线、平面图形和/或立体图形。
2.根据权利要求1所述的方法,其特征在于,所述从所述待处理边集合中获取起点或终点的位置信息与所述目标处理点的位置信息相同的边,作为第二目标处理边之后,还包括:
基于所述待处理边集合中获取起点或终点的位置信息,确定所述第一目标处理边的起点和终点与所述第二目标处理边的起点和终点之间的连接关系;其中,所述连接关系包括所述第一目标处理边的终点与所述第二目标处理边的起点相连、所述第一目标处理边的终点与所述第二目标处理边的终点相连、所述第一目标处理边的起点与所述第二目标处理边的起点相连、所述第一目标处理边的起点与所述第二目标处理边的终点相连。
3.根据权利要求2所述的方法,其特征在于,所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序,包括:
如果确定所述第一目标处理边的终点与所述第二目标处理边的终点相连,则确定所述第二目标处理边上生成的离散点的顺序与所述边搜索方向不一致;
针对所述第二目标处理边上生成的离散点进行反向排序。
4.根据权利要求2所述的方法,其特征在于,所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序,包括:
如果确定所述第一目标处理边的起点与所述第二目标处理边的起点相连,则确定所述第一目标处理边上生成的离散点的顺序与所述边搜索方向不一致;
针对所述第一目标处理边上生成的离散点进行反向排序。
5.根据权利要求2所述的方法,其特征在于,所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序,包括:
如果确定所述第一目标处理边的起点与所述第二目标处理边的终点相连,则确定所述第一目标处理边上生成的离散点的顺序以及所述第二目标处理边上生成的离散点的顺序均与所述边搜索方向不一致;
针对所述第一目标处理边上生成的离散点以及所述第二目标处理边上生成的离散点进行反向排序。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
删除所述第二目标处理边上的有序离散点中第一个离散点,得到删除后所述第二目标处理边上的有序离散点;其中,所述第二目标处理边上的有序离散点顺序与所述边搜索方向一致;
将所述第一目标处理边上的有序离散点与所述删除后所述第二目标处理边上的有序离散点进行合并,得到更新后第一目标处理边上的离散点。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述待处理边集合中获取起点或终点的位置信息,确定所述目标图形对象对应的有序离散点集合中的第一个离散点与最后一个离散点是否重合;
基于针对所述目标图形对象对应的有序离散点集合对应的封闭需求,对所述目标图形对象对应的有序离散点集合进行处理。
8.一种有序离散点集合的生成装置,其特征在于,所述装置包括:
获取模块,用于获取交互设计界面上的目标图形对象对应的边集合,作为待处理边集合;其中,所述待处理边集合中包括用于构成所述目标图形对象的边;
第一确定模块,用于从所述待处理边集合中确定第一目标处理边,并将所述第一目标处理边的起点或终点确定为目标处理点,以及基于所述目标处理点和所述第一目标处理边确定边搜索方向;
第二确定模块,用于从所述待处理边集合中获取起点或终点的位置信息与所述目标处理点的位置信息相同的边,作为第二目标处理边;其中,所述第二目标处理边为所述待处理边集合中除所述第一目标处理边之外的边;
排序模块,用于如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序;其中,所述离散点顺序用于表征由边的起点开始到终点结束的顺序;
更新模块,用于基于所述边搜索方向,将与所述第二目标处理边相邻的边更新为更新后第二目标处理边,以及将所述第一目标处理边与所述第二目标处理边合并后更新为更新后第一目标处理边,继续执行所述如果确定所述第一目标处理边和所述第二目标处理边中存在离散点顺序与所述边搜索方向不一致的边,则对与所述边搜索方向不一致的边上的离散点进行反向排序的步骤,直到确定所述待处理边集合中不存在未处理的边;
生成模块,用于按照离散点顺序,利用所述待处理边集合中的各个边上的离散点生成所述目标图形对象对应的有序离散点集合;其中,所述有序离散点集合用于在所述交互设计界面上生成所述目标图形对象对应的预设类型曲线、平面图形和/或立体图形。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-7任一项所述的方法。
10.一种有序离散点集合的生成设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310069913.8A CN115953501B (zh) | 2023-02-07 | 2023-02-07 | 有序离散点集合的生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310069913.8A CN115953501B (zh) | 2023-02-07 | 2023-02-07 | 有序离散点集合的生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115953501A CN115953501A (zh) | 2023-04-11 |
CN115953501B true CN115953501B (zh) | 2023-06-02 |
Family
ID=85902933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310069913.8A Active CN115953501B (zh) | 2023-02-07 | 2023-02-07 | 有序离散点集合的生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115953501B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006172318A (ja) * | 2004-12-17 | 2006-06-29 | Canon Inc | 情報処理方法、情報処理装置 |
CN101477691B (zh) * | 2008-12-26 | 2011-04-20 | 武汉大学 | 基于边长比约束的离散点区域拓扑边界追踪方法 |
CN110084865B (zh) * | 2019-04-17 | 2020-10-13 | 武汉大学 | 一种离散点分级加权拟合规则格网的方法 |
CN110427723A (zh) * | 2019-08-10 | 2019-11-08 | 陈�峰 | 一种离散点集的外边界搜索绘制算法 |
CN110909398A (zh) * | 2019-11-18 | 2020-03-24 | 广东三维家信息科技有限公司 | 图形拟合方法、装置、电子设备和计算机可读存储介质 |
-
2023
- 2023-02-07 CN CN202310069913.8A patent/CN115953501B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN115953501A (zh) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3195498B2 (ja) | 三次元形状作成方法及びその装置 | |
CN111931466B (zh) | 一种文档处理方法及装置 | |
CN106934842B (zh) | 闭合区域的识别方法和装置 | |
Rahman et al. | Rectangular grid drawings of plane graphs | |
CN116227209A (zh) | 一种点云数据多维线性差值方法、终端设备及存储介质 | |
CN113538623B (zh) | 确定目标图像的方法、装置、电子设备及存储介质 | |
CN115953501B (zh) | 有序离散点集合的生成方法、装置、设备及存储介质 | |
CN108280135B (zh) | 实现数据结构可视化的方法、装置和电子设备 | |
CN113867850B (zh) | 数据处理方法、装置、设备和存储介质 | |
CN115779424B (zh) | 一种导航网格寻路方法、装置、设备及介质 | |
CN109739859B (zh) | 一种关系图谱绘制方法、系统及相关装置 | |
CN113158296A (zh) | 车位布置方法、装置、设备及存储介质 | |
Abo-Tabl | On links between rough sets and digital topology | |
CN112199450A (zh) | 一种关系图谱构建方法、装置及电子设备 | |
CN115661426B (zh) | 一种基于三维引擎的模型修改方法、装置、设备及介质 | |
Lai et al. | Recognition and decomposition of rib features in thin-shell plastic parts for finite element analysis | |
CN111460629A (zh) | 图形数据校核方法、装置、电子设备和计算机存储介质 | |
CN113297132A (zh) | 迁移文件列表的生成方法、装置、电子设备及计算机可读介质 | |
CN115481268A (zh) | 一种平行线墙体数据识别方法、装置、设备及存储介质 | |
CN112529984B (zh) | 绘制多边形的方法、装置、电子设备及存储介质 | |
CN114690786A (zh) | 一种移动机器的路径规划方法和装置 | |
CN114399428A (zh) | 面状人工要素降维处理方法 | |
CN112686476A (zh) | 一种应用于地图的路径生成方法、系统、设备和存储介质 | |
JP2897541B2 (ja) | 閉図形抽出方法 | |
van Dijk et al. | Practical topologically safe rounding of geographic networks |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |