模型拓扑检测方法、装置、电子设备及存储介质与流程

未命名 09-29 阅读:136 评论:0


1.本技术涉及3d建模技术领域,具体而言,涉及一种模型拓扑检测方法、装置、电子设备及存储介质。


背景技术:

2.拓扑是在3d建模制作中,重建模型点线面的统称,外观相同的平面在拓扑结构上可能存在千差万别,如何快速确定两个模型的拓扑结构是否一致就成为了模型制作中人们所关心的问题。
3.现有技术中为了检查模型修改前后的差异位置,通常是遍历模型所有的面,获得顶点序号,并将顶点序号序列化,然后通过md5掩码进行检查,从而确定存在差异的拓扑结构。
4.但是,现有技术需要遍历模型所有的面并逐个进行拓扑检查,因此存在检查数据量大、效率低的问题。


技术实现要素:

5.本技术针对上述现有技术中的不足,提供一种模型拓扑检测方法、装置、电子设备及存储介质,以解决现有技术中模型拓扑检测数据量大、效率低的问题。
6.本技术采用的技术方案如下:
7.第一方面,本技术提供了一种模型拓扑检测方法,所述方法包括:
8.获取第一模型的拓扑信息以及第二模型的拓扑信息;
9.根据所述第一模型的拓扑信息,确定所述第一模型的第一循环边信息,并根据所述第二模型的拓扑信息,确定所述第二模型的第二循环边信息,其中,所述第一循环边信息用于指示所述第一模型中的第一循环边以及经过所述第一循环边的第一点序列,所述第二循环边信息用于指示所述第二模型中的第二循环边以及经过所述第二循环边的第二点序列;
10.对所述第一模型的第一循环边信息与所述第二模型的第二循环边信息进行比对分析,得到所述第一模型和所述第二模型的拓扑信息检测结果。
11.第二方面,本技术提供了一种模型拓扑检测装置,所述装置包括:
12.获取模块,用于获取第一模型的拓扑信息以及第二模型的拓扑信息;
13.确定模块,用于根据所述第一模型的拓扑信息,确定所述第一模型的第一循环边信息,并根据所述第二模型的拓扑信息,确定所述第二模型的第二循环边信息,其中,所述第一循环边信息用于指示所述第一模型中的第一循环边以及经过所述第一循环边的第一点序列,所述第二循环边信息用于指示所述第二模型中的第二循环边以及经过所述第二循环边的第二点序列;
14.比对模块,用于对所述第一模型的第一循环边信息与所述第二模型的第二循环边信息进行比对分析,得到所述第一模型和所述第二模型的拓扑信息检测结果。
15.第三方面,本技术提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面所述的模型拓扑检测方法。
16.第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面所述的模型拓扑检测方法。
17.本技术的有益效果是:通过对循环边信息进行比对分析,可以快速确定两个模型中具有拓扑结构差异的位置,并且相比于现有技术中对模型的面进行逐个比对以确定模型的拓扑结构差异的方案,本技术中根据循环边信息进行拓扑结构检测所检测的数据量更小,因此检测效率也更高。
18.为使本技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
19.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
20.图1示出了本技术实施例提供的一种拓扑结构不同的面片示意图;
21.图2示出了本技术实施例提供的一种应用场景示意图;
22.图3示出了本技术实施例提供的一种模型拓扑检测方法的流程图;
23.图4示出了本技术实施例提供的一种模型循环边的示意图;
24.图5示出了本技术实施例提供的一种比对循环边信息以确定拓扑是否一致的流程图;
25.图6示出了本技术实施例提供的一种比对循环边信息的流程图;
26.图7示出了本技术实施例提供的一种比对循环边信息之前的流程图;
27.图8示出了本技术实施例提供的一种确定循环边信息的流程图;
28.图9示出了本技术实施例提供的一种模型拓扑检测装置的结构示意图;
29.图10示出了本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
30.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
31.需要说明的是,本技术实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
32.在模型制作的场景中,一些反流程的操作会改变模型的结构,例如在完成效果绑定之后又重新对模型的结构进行修改,会导致之前提交绑定的模型结构与最新的模型结构存在偏差,此时就需要精准的确定模型修改前后的差异位置,这时就需要对修改前后的模型结构及时进行比对和检测。
33.检测模型差异最简单的方法就是检测两个模型的点线面数量变化,但是一些情况下,即使两个模型的点线面数量相同,模型的拓扑结构也可能存在差异,如图1所示,是两个点线面数量相同但拓扑结构不同的面片,针对这种情况,显然就不能简单地通过点线面数量确定模型之间是否存在差异,而应该进一步的对模型的拓扑结构进行检测。
34.针对这种情况,现有技术中为了检测两个模型的拓扑结构是否一致,采用的方法是遍历模型上所有的面,获得模型的顶点序号,并将顶点序号序列化,然后通过md5掩码进行检测,从而确定两个模型中存在差异的拓扑结构。
35.举例来说,如果需要检测模型a和模型b的拓扑结构是否一致,采用现有技术进行检测,就需要先对模型a中的面a与模型b中的每个面比对,检测是否存在拓扑结构相同的面,对于模型a中的下一个面b,仍旧需要与模型b中的每个面比对,直至比对完成所有的面。因此,现有技术存在检查数据量大、效率低的问题。
36.可见,如何实现对两个模型拓扑结构差异的高效检测成为了亟待解决的问题。
37.基于上述问题,本技术提出一种模型拓扑检测方法,如图2所示,是本技术给出的一种模型拓扑检测的应用场景示意图,用户将需要进行拓扑检测的两个模型输入电子设备后,电子设备可以基于本技术的模型拓扑检测方法,通过对两个模型中的循环边的点序列进行检测,确定两个模型中存在差异的拓扑结构,并将检测出的差异位置信息返回给用户。相比于现有技术中遍历模型的所有面进行拓扑差异检测,本技术的方法检测的数据量更少,检测效率也更高。
38.接下来结合图3对本技术的模型拓扑检测方法做进一步说明,该方法的执行主体可以是电子设备,如图3所示,该方法包括:
39.s301:获取第一模型的拓扑信息以及第二模型的拓扑信息。
40.可选的,第一模型和第二模型可以是用户需要进行拓扑结构比对,以确定拓扑结构差异的任意两个3d模型。示例性的,第一模型与第二模型为同一对象(例如虚拟角色、宠物、建筑物、载具等)对应的两个拓扑模型。
41.拓扑是指多边形网格模型的点线面布局、结构、连接情况,本技术中的拓扑信息可以包括模型中的点信息、线信息及面信息。
42.其中,点信息可以包括模型的点数量以及各个点在模型中的位置,线信息可以包括模型的边数量以及各个边在模型中的位置。
43.s302:根据第一模型的拓扑信息,确定第一模型的第一循环边信息,并根据第二模型的拓扑信息,确定第二模型的第二循环边信息,其中,第一循环边信息用于指示第一模型中的第一循环边以及经过第一循环边的第一点序列,第二循环边信息用于指示第二模型中的第二循环边以及经过第二循环边的第二点序列。
44.本技术中第一模型和第二模型可以分别由多条循环边组成,循环边可以是模型上
首尾相连的一条边,即以循环边上的任意一点作为起始点,沿着循环边的任意方向遍历所有点,遍历到的最后一个点的下一个点仍为循环边的起始点。
45.可选的,第一模型的拓扑信息可以指示第一模型中的第一循环边信息,第一模型中可以包括多个第一循环边,第一循环边信息可以指示第一模型中的各个第一循环边以及经过第一循环边的第一点序列。第二模型的拓扑信息可以指示第二模型中的第二循环边信息,第二模型中可以包括多个第二循环边,第二循环边信息可以指示第二模型中各个第二循环边以及经过该循环边的第二点序列。
46.值得说明的是,模型中可以包括循环边、三角面以及多边形面,本技术中的第一模型和第二模型均由循环边组成,检测也均是针对循环边进行的拓扑结构检测,当模型中包括三角面或是多边形面时,可以将三角面以及多边形面先转换为循环边,再根据本技术的方法进行拓扑检测。
47.示例性的,假设第一模型或第二模型为图4所示的球形,该模型由多个循环边组成,对于图4中的虚线所表示的循环边a,可以看到边上包括多个点,假设给这些点分别编号为1、2、3、
……
、19,可以将这些点组成循环边a的点序列(1,2,3,
……
,19,1),其中1号点分别和2号点以及19号点连接。
48.本技术中,电子设备可以分别对第一模型和第二模型中的循环边进行遍历,确定各循环边的点序列,以确定第一模型的第一循环边信息以及第二模型的第二循环边信息。
49.s303:对第一模型的第一循环边信息与第二模型的第二循环边信息进行比对分析,得到第一模型和第二模型的拓扑信息检测结果。
50.可选的,第一模型的第一循环边信息可以表征第一模型的拓扑结构,第二模型的第二循环边信息可以表征第二模型的拓扑结构,因此如果第一模型的每个第一循环边都能够在第二模型中找到完全相同的第二循环边,就可以说明第一模型和第二模型的所有循环边信息都完全一致,即第一模型和第二模型的拓扑结构一致,反之,说明第一模型和第二模型的拓扑结构不一致,此时电子设备就可以根据第一模型的循环边信息和第二模型的循环边信息确定第一模型和第二模型中存在拓扑差异的位置。
51.可选的,拓扑信息检测结果可以指示第一模型和第二模型的拓扑结构是否一致,并在第一模型和第二模型的拓扑结构存在差异时,指示第一模型和第二模型的拓扑结构的差异位置。
52.本技术实施例中,根据第一模型的拓扑信息和第二模型的拓扑信息确定第一模型的第一循环边信息以及第二模型的第二循环边信息,并对第一模型和第二模型的循环边信息进行比对分析,最终确定第一模型和第二模型的拓扑信息检测结果。通过对循环边信息进行比对分析,可以快速确定两个模型中具有拓扑结构差异的位置,相比于现有技术中对模型的面进行逐个比对以确定模型的拓扑结构差异的方案,本技术中根据循环边信息进行拓扑结构检测所检测的数据量更小,因此检测效率也更高。
53.接下来结合图5,对上述对第一模型的第一循环边信息与第二模型的第二循环边信息进行比对分析,得到第一模型和第二模型的拓扑信息检测结果的步骤做进一步说明,如图5所示,上述s303步骤包括:
54.s501:根据第一循环边信息以及第二循环边信息,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边是否相同。
55.可选的,第一循环边信息可以指示第一模型中的第一循环边以及该循环边的点序列,第二循环边信息可以指示第二模型中的第二循环边以及该循环边的点序列。
56.可选的,若第一循环边信息所指示的第一循环边和第二循环边信息所指示的第二循环边信息相同,则可以说明第一循环边和第二循环边的拓扑结构相同,或是第一循环边和第二循环边为模型修改前后拓扑结构未发生变化的对应边。
57.示例性的,假设第一循环边为第一模型中的循环边a,那么电子设备就可以将第二模型中的任一循环边作为第二循环边,将循环边a的点序列和第二循环边的点序列进行比对,以确定第一循环边和第二循环边是否为拓扑结构相同的循环边。
58.应理解,上述步骤s501可以执行多次,以保证第一模型中的所有循环边均与第二模型中的循环边进行比对。
59.s502:若对于第一模型的所有第一循环边,在第二模型中均存在相同的第二循环边,则确定第一模型和第二模型的拓扑一致,否则,确定第一模型和第二模型的拓扑信息存在差异。
60.作为一种可能的实施方式,在上述s302步骤确定多个循环边信息时,电子设备可以将第一模型的多个循环边信息按照遍历的顺序记录在集合中,并按照相同的顺序对第二模型的循环边进行遍历,以得到第二模型的循环边信息的集合,在循环边信息进行比对分析时,如果找到了对应的一组第一循环边和第二循环边,就可以按照集合中循环边信息的顺序对集合中第一循环边的下一循环边以及第二循环边的下一循环边进行比对分析,以提高比对分析的效率。
61.示例性的,假设第一模型和第二模型都是按照逆时针顺序遍历得到循环边信息,第一模型的循环边信息包括{a(1,2,3,4,5,1),b(6,7,8,9,6),c(10,11,12,10),d(13,14,13)},表示第一模型中的循环边按照遍历顺序依次包括a,b,c,d,以循环边a为例,其点序列为(1,2,3,4,5,1),第二模型中的循环边信息包括:{e(11,12,13,14,15,
62.11),f(16,17,18,19,16),g(20,21,22,20),h(23,24,23)},那么在确定第一模型中的循环边a和第二模型中的循环边e为相同的循环边之后,就可以继续对第一模型的循环边b的点序列以及第二模型的循环边f的点序列进行比对分析。
63.作为另一种可能的实施方式,在上述s302步骤中确定多个循环边信息时,电子设备也可以按照任意顺序对模型中的循环边进行遍历,并将得到的循环边信息放在集合中,进行循环边信息的比对分析时,就可以将第一模型中的任一循环边作为第一循环边,再依次将第二模型中的循环边作为第二循环边并执行上述s501步骤,以确定第二模型中是否存在与第一循环边相同的循环边,在完成对当前的第一循环边的比对之后,若第二模型中存在与第一循环边相同的循环边,就可以将这两个循环边作为一组对应边,并继续对第一模型和第二模型中其余的循环边进行比对分析,直至完成第一模型和第二模型中所有循环边的比对分析。
64.示例性的,假设第一模型的循环边信息包括{a(1,2,3,4,5,1),b(6,7,8,9,6),c(10,11,12,10),d(13,14,13)},表示第一模型中的循环边包括a,b,c,d,且各循环边的顺序未知,第二模型中的循环边信息包括:{e(11,12,13,14,15,11),f(16,17,18,19,16),g(20,21,22,20),h(23,24,23)},那么在确定第一模型中的循环边a和第二模型中的循环边e为相同的循环边之后,就可以继续对第一模型的循环边b的点序列以及第二模型的循环边f、g、h
的点序列依次进行比对分析。
65.可选的,若对于第一模型中的每个循环边,在第二模型中都存在与其循环边信息完全相同的循环边,就可以说明第一模型和第二模型具有完全相同的拓扑结构,若第一模型中的一个或多个循环边在第二模型中没有找到与之相同的循环边,就可以说明第一模型和第二模型的拓扑信息存在差异。
66.进一步的,如图6所示,上述s501中,根据第一循环边信息以及第二循环边信息,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边是否相同的步骤包括:
67.s601:根据第一循环边信息,确定第一点数量以及第一点序列。
68.可选的,第一循环边信息可以指示第一循环边的点数量和点序列,示例性的,第一循环边a的第一点序列可以为(1,2,3,4,5,1),该循环边的第一点数量是5。
69.其中,点数量用于描述第一循环边上的点的个数,点序列用于描述第一循环边上的点的排列顺序,第一点序列中的各个数值表示循环边上的点的编号,第一点序列中的项数和第一循环边的点数量一致。
70.s602:根据第二循环边信息,确定第二点数量以及第二点序列。
71.可选的,第二循环边信息可以指示第二循环边的中包括的点的数量和点序列,其中,点序列可以指示各个点之间的连接关系,以点序列(1,2,3,4,5,1)为例,点1连接的点就包括点2和点5,与点4连接的点就包括点5和点3。
72.s603:若第一点数量与第二点数量相同,且第一点序列中各点的连接关系与第二点序列中各点的连接关系相同,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边相同,否则,确定第一循环边信息所指示的循环边与第二循环边信息所指示的循环边不同。
73.值得说明的是,由于在对模型中的循环边进行遍历得到循环边信息时,电子设备可能并没有按照完全相同的编序方式得到点序列,因此两个模型可能点数量一致,但是点的序号排布方式并不一致,就不能通过简单的比较两个模型中的序号是否一一对应确定模型的拓扑结构是否一致。
74.针对上述情况,本技术中并不是对序号的简单比较,而是在点数量相同时,进一步比较第一点序列中各点的连接关系和第二序列中各点的连接关系,以确定第一序列和第二序列是否具有相同的拓扑结构。
75.示例性的,假设第一点序列包括10-19共计10个点序,第二点序列中包括110-119共计10个点序,首先第一点序列和第二点序列的点数量相同,此时就可以进一步比较其连接关系,例如可以比较第一点序列中的第一个点分别连接了第几个点,并比较第二点序列中的第一个点是否具有相同的连接关系,例如第一点序列中的第一个点10连接的点包括最后一个点19和下一个点11,第二点序列中点110连接的点包括最后一个点119和下一个点112,此时,就可以认为点10和点110的连接关系相同,并依次比较其余的点是否具有相同的连接关系。
76.若其余各点均具有相同的连接关系,则可以确定第一循环边信息和第二循环边信息指示的循环边相同;若点数量相同而连接关系不同、点数量不同或点数量与点序列连接关系均不相同,则可以确定第一循环边和第二循环边为不同的循环边。
77.在上述确定第一模型和第二模型的拓扑不一致之后,本技术的拓扑检测还包括:
78.若对于第一模型的第一目标循环边,在第二模型中不存在相同的第二目标循环边,则将第一模型中的第一目标循环边对应的循环边信息作为拓扑差异信息。
79.可选的,若对于第一模型中的循环边a,在第二模型中都没有与其循环边信息相同的第二循环边,则可以确定循环边a为一个拓扑结构不同的循环边,并将其循环边a的循环边信息作为一个拓扑差异信息。
80.应当理解,循环边信息可以指示循环边的位置以及循环边的点序列,因此电子设备对循环边信息进行标记后,就可以通过标记确定模型中所有拓扑结构发生变化的循环边的位置,以便于用户及时根据差异位置对模型的绑定效果进行修改,避免因模型发生变化导致的模型绑定效果不准确的情况,提高用户作业的准确性和效率。
81.值得注意的是,现有技术中对模型的面进行遍历和比对,会将面上的几个边重复进行比对,因此存在很多的重复工作量,而本技术是对边进行比对,因此相比于现有技术具有更小的数据量,相应的也具有更高的检测效率。
82.本技术实施例中,对第一模型和第二模型中的循环边信息进行比对,可以快速确定模型的边是否发生改变,并确定发生改变的边的位置,同时由于本技术中循环边都是由点序列表示的,因此也可以快速的在循环边上查找到发生变化的具体的点序位置。
83.值得注意的是,当模型的点线面数量不同时,可以直接确定模型的拓扑结构存在差异,实际进行模型拓扑结构差异检测时,用户往往是对点线面相同的模型难以检测其结构差异,参照图1给出的两个面片,其点线面数量相同,但是拓扑结构不同,因此可以先对点线面数量进行判定,当模型的点线面数量相同时,再执行上述s302步骤进行模型拓扑结构的检测,从而进一步提高检测效率。
84.如图7所示是对上述根据第一模型的拓扑信息,确定第一模型的多个循环边信息,并根据第二模型的拓扑信息,确定第二模型的多个循环边信息的步骤说明,本技术中的拓扑信息包括点信息、线信息及面信息。
85.参照图7,上述s302步骤包括:
86.s701:根据第一模型的拓扑信息确定第一模型的点信息、线信息以及面信息,并根据第二模型的拓扑信息确定第二模型的点信息、线信息以及面信息。
87.可选的,点信息可以是模型所包含的点的数量,线信息可以是模型所包含的边的数量,面信息可以是模型图所包含的面的数量,本技术只是以点数量、线数量以及面数量作为示例进行说明,应当理解,点信息、面信息也可以是其他的信息,例如点信息、线信息以及面信息也可以是表征点线面在模型中位置的坐标信息,本技术在此不做限制。
88.本技术中电子设备可以根据第一模型的拓扑信息确定第一模型的点线面数量,根据第二模型的拓扑信息确定第二模型的点线面数量。
89.s702:若第一模型的点信息与第二模型的点信息相同,且第一模型的线信息与第二模型的线信息相同,且第一模型的面信息与第二模型的面信息相同,则根据第一模型的拓扑信息,确定第一模型的多个循环边信息,并根据第二模型的拓扑信息,确定第二模型的多个循环边信息。
90.可选的,电子设备可以先对第一模型和第二模型的点线面数量进行比对,作为一种可能的实施方式,若第一模型和第二模型的点线面数量均相同,则可以继续执行上述
s302步骤,对第一模型和第二模型的循环边进行遍历和比对分析,以得到第一模型和第二模型的拓扑检测结果。
91.作为另一种可能的实施方式,上述s701根据第一模型的拓扑信息确定第一模型的点数量,并根据第二模型的拓扑信息确定第二模型的点数量之后,还包括:
92.若第一模型的点数量与第二模型的点数量不同,或第一模型的线数量与第二模型的线数量不同,或第一模型的面数量与第二模型的面数量不同,则确定第一模型和第二模型的拓扑信息存在差异,并根据第一模型的点信息、线信息和面信息,以及第二模型的点信息、线信息和面信息,确定第一模型和第二模型的拓扑差异信息。
93.可选的,若第一模型和第二模型的点线面数量有一个不相同,则说明第一模型和第二模型的拓扑信息存在差异,此时电子设备可以对第一模型和第二模型中的面进行遍历,从第一模型中确定任意一个待检测面,并在第二模型中确定与该待检测面对应的面,确定两个面之间的差异,并对存在差异的两个面上的线进行比对,以确定第一模型和第二模型中存在差异的面、线以及顶点,并将比对得到存在差异的点线面的位置作为第一模型和第二模型的拓扑差异信息。
94.以下是对循环边信息的确定过程的说明,如图8所示,上述s302步骤包括:
95.s801:根据第一模型的线信息,对第一模型进行遍历,得到第一模型中的多个边。
96.可选的,第一模型的线信息可以指示第一模型中包括多少条边,并指示各个边的类型,边的类型例如可以是循环边、三角面的边以及多边形面的边等。
97.需要说明的是,当遍历到的边类型为三角面的边或多边形面的边时,电子设备可以先将该条边转换为循环边。
98.可选的,电子设备可以按照预设的顺序对模型的边进行遍历,并将遍历到的边的信息按照遍历的顺序保存在集合中,电子设备也可以按照任意顺序进行边的遍历,电子设备的遍历方式本技术在此不作限制。
99.s802:根据第一模型的点信息,确定经过边的点序列。
100.可选的,每一条边上可以对应多个点,参照图4中模型上的边a就包括多个点,点信息可以指示点位于哪些边上,并指示点的位置,例如图4上的点a就同时存在于两条边上,其点信息就可以指示点a位于循环边a和循环边b上,并指示点a在模型上的位置。
101.s803:将存在循环的点序列所属的边作为一个循环边,并将存在循环的点序列以及循环边作为第一模型的一个循环边信息。
102.可选的,电子设备可以将存在循环的点序列所属的边作为一个循环边,对循环边上的点进行遍历,并按照遍历的顺序对各点排序,得到各点的序号,并将循环边上各点的序号按照遍历的顺序排列成该条循环边的点序列,最后将点序列和该条循环边组合为第一模型的一个循环边信息。
103.参照图4,假设对循环边a找寻这条边从第一个点开始循环到该条边结束所具有的点序,得到从点0到点19共计20个点,就可以将该点序记录在以a为键,20个点序名字为值的集合中,假如边b中同样有10-19的点序,同样将其记录在以b为键,10个点序名字为值的集合中,以此循环遍历所有的边,得到一个边对应点序的集合。示例性的,循环边a的循环边信息可以为a-(1,2,3,
……
,17,18,19,1),表示循环边a的点序列为(1,2,3,
……
,17,18,19,1)。
104.本技术实施例中通过对循环边进行遍历得到模型的多个循环边信息,可以在比对分析时通过比对循环边的点序列快速确定两个具有相同点线面数量的模型是否具有相同的拓扑结构,提高了模型拓扑检测的效率。
105.基于同一发明构思,本技术实施例中还提供了与模型拓扑检测方法对应的模型拓扑检测装置,由于本技术实施例中的装置解决问题的原理与本技术实施例上述模型拓扑检测方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
106.参照图9所示,为本技术实施例提供的一种模型拓扑检测装置的结构示意图,所述装置包括:获取模块901、确定模块902、比对模块903,其中:
107.在一个可行的实施方案中,获取模块901,用于获取第一模型的拓扑信息以及第二模型的拓扑信息;
108.在一个可行的实施方案中,确定模块902,用于根据第一模型的拓扑信息,确定第一模型的第一循环边信息,并根据第二模型的拓扑信息,确定第二模型的第二循环边信息,其中,第一循环边信息用于指示第一模型中的第一循环边以及经过第一循环边的第一点序列,第二循环边信息用于指示第二模型中的第二循环边以及经过第二循环边的第二点序列;
109.在一个可行的实施方案中,比对模块903,用于对第一模型的第一循环边信息与第二模型的第二循环边信息进行比对分析,得到第一模型和第二模型的拓扑信息检测结果。
110.在一个可行的实施方案中,比对模块903具体用于:
111.根据第一循环边信息以及第二循环边信息,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边是否相同;
112.若对于第一模型的第一循环边,在第二模型中均存在相同的第二循环边,则确定第一模型和第二模型的拓扑一致,否则,确定第一模型和第二模型的拓扑信息存在差异。
113.在一个可行的实施方案中,比对模块903还具体用于:
114.根据第一循环边信息,确定第一点数量以及第一点序列;
115.根据第二循环边信息,确定第二点数量以及第二点序列;
116.若第一点数量与第二点数量相同,且第一点序列中各点的连接关系与第二点序列中各点的连接关系相同,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边相同,否则,确定第一循环边信息所指示的循环边与第二循环边信息所指示的循环边不同。
117.在一个可行的实施方案中,比对模块903还具体用于:
118.若对于第一模型的第一目标循环边,在第二模型中不存在相同的第二目标循环边,则将第一模型中的第一目标循环边对应的循环边信息作为拓扑差异信息。
119.在一个可行的实施方案中,确定模块902具体用于:
120.根据第一模型的拓扑信息确定第一模型的点信息、线信息以及面信息,并根据第二模型的拓扑信息确定第二模型的点信息、线信息以及面信息;
121.若第一模型的点信息与第二模型的点信息相同,且第一模型的线信息与第二模型的线信息相同,且第一模型的面信息与第二模型的面信息相同,则根据第一模型的拓扑信息,确定第一模型的循环边信息,并根据第二模型的拓扑信息,确定第二模型的循环边信息。
122.在一个可行的实施方案中,确定模块902还具体用于:
123.若第一模型的点数量与第二模型的点数量不同,或第一模型的线数量与第二模型的线数量不同,或第一模型的面数量与第二模型的面数量不同,则确定第一模型和第二模型的拓扑信息存在差异,并根据第一模型的点信息、线信息和面信息,以及第二模型的点信息、线信息和面信息,确定第一模型和第二模型的拓扑差异信息。
124.在一个可行的实施方案中,确定模块902还具体用于:
125.根据第一模型的线信息,对第一模型进行遍历,得到第一模型中的边;
126.根据第一模型的点信息,确定经过边的点序列;
127.将存在循环的点序列所属的边作为循环边,并将存在循环的点序列以及循环边作为第一模型的循环边信息。
128.关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
129.本技术实施例通过对循环边信息进行比对分析,可以快速确定两个模型中具有拓扑结构差异的位置,相比于现有技术中对模型的面进行逐个比对以确定模型的拓扑结构差异的方案,本技术中根据循环边信息进行拓扑结构检测所检测的数据量更小,因此检测效率也更高。
130.图10示出了本技术实施例所提供的一种电子设备的结构示意图,包括:处理器1001、存储介质1002和总线,所述存储介质1002存储有所述处理器1001可执行的机器可读指令,当电子设备运行如实施例中的模型拓扑检测方法时,所述处理器1001与所述存储介质1002之间通过总线通信,所述处理器1001执行所述机器可读指令,所述处理器1001方法项的前序部分,以执行以下步骤:
131.在一个可行的实施方案中,所述处理器1001在执行模型拓扑检测方法时,具体用于:
132.获取第一模型的拓扑信息以及第二模型的拓扑信息;
133.根据第一模型的拓扑信息,确定第一模型的第一循环边信息,并根据第二模型的拓扑信息,确定第二模型的第二循环边信息,其中,第一循环边信息用于指示第一模型中的第一循环边以及经过第一循环边的第一点序列,第二循环边信息用于指示第二模型中的第二循环边以及经过第二循环边的第二点序列;
134.对第一模型的第一循环边信息与第二模型的第二循环边信息进行比对分析,得到第一模型和第二模型的拓扑信息检测结果。
135.在一个可行的实施方案中,所述处理器1001在执行模型拓扑检测方法时,具体用于:
136.根据第一循环边信息以及第二循环边信息,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边是否相同;
137.若对于第一模型的第一循环边,在第二模型中均存在相同的第二循环边,则确定第一模型和第二模型的拓扑一致,否则,确定第一模型和第二模型的拓扑信息存在差异。
138.在一个可行的实施方案中,处理器1001在执行模型拓扑检测方法时,具体用于:
139.根据第一循环边信息,确定第一点数量以及第一点序列;
140.根据第二循环边信息,确定第二点数量以及第二点序列;
141.若第一点数量与第二点数量相同,且第一点序列中各点的连接关系与第二点序列中各点的连接关系相同,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边相同,否则,确定第一循环边信息所指示的循环边与第二循环边信息所指示的循环边不同。
142.在一个可行的实施方案中,处理器1001在执行模型拓扑检测方法时,具体用于:
143.若对于第一模型的第一目标循环边,在第二模型中不存在相同的第二目标循环边,则将第一模型中的第一目标循环边对应的循环边信息作为拓扑差异信息。
144.在一个可行的实施方案中,处理器1001在执行模型拓扑检测方法时,具体用于:
145.根据第一模型的拓扑信息确定第一模型的点信息、线信息以及面信息,并根据第二模型的拓扑信息确定第二模型的点信息、线信息以及面信息;
146.若第一模型的点信息与第二模型的点信息相同,且第一模型的线信息与第二模型的线信息相同,且第一模型的面信息与第二模型的面信息相同,则根据第一模型的拓扑信息,确定第一模型的循环边信息,并根据第二模型的拓扑信息,确定第二模型的循环边信息。
147.在一个可行的实施方案中,处理器1001在执行模型拓扑检测方法时,具体用于:
148.若第一模型的点数量与第二模型的点数量不同,或第一模型的线数量与第二模型的线数量不同,或第一模型的面数量与第二模型的面数量不同,则确定第一模型和第二模型的拓扑信息存在差异,并根据第一模型的点信息、线信息和面信息,以及第二模型的点信息、线信息和面信息,确定第一模型和第二模型的拓扑差异信息。
149.在一个可行的实施方案中,处理器1001在执行模型拓扑检测方法时,具体用于:
150.根据第一模型的线信息,对第一模型进行遍历,得到第一模型中的边;
151.根据第一模型的点信息,确定经过边的点序列;
152.将存在循环的点序列所属的边作为循环边,并将存在循环的点序列以及循环边作为第一模型的循环边信息。
153.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行,所述处理器执行以下步骤:
154.在一个可行的实施方案中,所述处理器在执行模型拓扑检测方法时,用于:
155.获取第一模型的拓扑信息以及第二模型的拓扑信息;
156.根据第一模型的拓扑信息,确定第一模型的第一循环边信息,并根据第二模型的拓扑信息,确定第二模型的第二循环边信息,其中,第一循环边信息用于指示第一模型中的第一循环边以及经过第一循环边的第一点序列,第二循环边信息用于指示第二模型中的第二循环边以及经过第二循环边的第二点序列;
157.对第一模型的第一循环边信息与第二模型的第二循环边信息进行比对分析,得到第一模型和第二模型的拓扑信息检测结果。
158.在一个可行的实施方案中,所述处理器在执行模型拓扑检测方法时,具体用于:
159.根据第一循环边信息以及第二循环边信息,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边是否相同;
160.若对于第一模型的第一循环边,在第二模型中均存在相同的第二循环边,则确定第一模型和第二模型的拓扑一致,否则,确定第一模型和第二模型的拓扑信息存在差异。
161.在一个可行的实施方案中,所述处理器在执行模型拓扑检测方法时,具体用于:
162.根据第一循环边信息,确定第一点数量以及第一点序列;
163.根据第二循环边信息,确定第二点数量以及第二点序列;
164.若第一点数量与第二点数量相同,且第一点序列中各点的连接关系与第二点序列中各点的连接关系相同,确定第一循环边信息所指示的第一循环边与第二循环边信息所指示的第二循环边相同,否则,确定第一循环边信息所指示的循环边与第二循环边信息所指示的循环边不同。
165.在一个可行的实施方案中,所述处理器在执行模型拓扑检测方法时,具体用于:
166.若对于第一模型的第一目标循环边,在第二模型中不存在相同的第二目标循环边,则将第一模型中的第一目标循环边对应的循环边信息作为拓扑差异信息。
167.在一个可行的实施方案中,所述处理器在执行模型拓扑检测方法时,具体用于:
168.根据第一模型的拓扑信息确定第一模型的点信息、线信息以及面信息,并根据第二模型的拓扑信息确定第二模型的点信息、线信息以及面信息;
169.若第一模型的点信息与第二模型的点信息相同,且第一模型的线信息与第二模型的线信息相同,且第一模型的面信息与第二模型的面信息相同,则根据第一模型的拓扑信息,确定第一模型的循环边信息,并根据第二模型的拓扑信息,确定第二模型的循环边信息。
170.在一个可行的实施方案中,所述处理器在执行模型拓扑检测方法时,具体用于:
171.若第一模型的点数量与第二模型的点数量不同,或第一模型的线数量与第二模型的线数量不同,或第一模型的面数量与第二模型的面数量不同,则确定第一模型和第二模型的拓扑信息存在差异,并根据第一模型的点信息、线信息和面信息,以及第二模型的点信息、线信息和面信息,确定第一模型和第二模型的拓扑差异信息。
172.在一个可行的实施方案中,所述处理器在执行模型拓扑检测方法时,具体用于:
173.根据第一模型的线信息,对第一模型进行遍历,得到第一模型中的边;
174.根据第一模型的点信息,确定经过边的点序列;
175.将存在循环的点序列所属的边作为循环边,并将存在循环的点序列以及循环边作为第一模型的循环边信息。
176.通过上述方式对循环边信息进行比对分析,可以快速确定两个模型中具有拓扑结构差异的位置,并且相比于现有技术中对模型的面进行逐个比对以确定模型的拓扑结构差异的方案,本技术中根据循环边信息进行拓扑结构检测所检测的数据量更小,因此检测效率也更高。
177.在本技术实施例中,该计算机程序被处理器运行时还可以执行其它机器可读指令,以执行如实施例中其它所述的方法,关于具体执行的方法步骤和原理参见实施例的说明,在此不再详细赘述。
178.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连
接,可以是电性,机械或其它的形式。
179.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
180.另外,在本技术提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
181.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
182.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
183.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围。都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。

技术特征:
1.一种模型拓扑检测方法,其特征在于,包括:获取第一模型的拓扑信息以及第二模型的拓扑信息;根据所述第一模型的拓扑信息,确定所述第一模型的第一循环边信息,并根据所述第二模型的拓扑信息,确定所述第二模型的第二循环边信息,其中,所述第一循环边信息用于指示所述第一模型中的第一循环边以及经过所述第一循环边的第一点序列,所述第二循环边信息用于指示所述第二模型中的第二循环边以及经过所述第二循环边的第二点序列;对所述第一模型的第一循环边信息与所述第二模型的第二循环边信息进行比对分析,得到所述第一模型和所述第二模型的拓扑信息检测结果。2.根据权利要求1所述的方法,其特征在于,所述对所述第一模型的第一循环边信息与所述第二模型的第二循环边信息进行比对分析,得到所述第一模型和所述第二模型的拓扑信息检测结果,包括:根据第一循环边信息以及第二循环边信息,确定所述第一循环边信息所指示的第一循环边与所述第二循环边信息所指示的第二循环边是否相同;若对于所述第一模型的第一循环边,在所述第二模型中均存在相同的第二循环边,则确定所述第一模型和所述第二模型的拓扑一致,否则,确定所述第一模型和所述第二模型的拓扑信息存在差异。3.根据权利要求2所述的方法,其特征在于,所述根据第一循环边信息以及第二循环边信息,确定所述第一循环边信息所指示的第一循环边与所述第二循环边信息所指示的第二循环边是否相同,包括:根据所述第一循环边信息,确定第一点数量以及第一点序列;根据所述第二循环边信息,确定第二点数量以及第二点序列;若所述第一点数量与所述第二点数量相同,且所述第一点序列中各点的连接关系与所述第二点序列中各点的连接关系相同,确定所述第一循环边信息所指示的第一循环边与所述第二循环边信息所指示的第二循环边相同,否则,确定所述第一循环边信息所指示的循环边与所述第二循环边信息所指示的循环边不同。4.根据权利要求2所述的方法,其特征在于,所述确定所述第一模型和所述第二模型的拓扑信息存在差异之后,还包括:若对于所述第一模型的第一目标循环边,在所述第二模型中不存在相同的第二目标循环边,则将所述第一模型中的第一目标循环边对应的循环边信息作为拓扑差异信息。5.根据权利要求1所述的方法,其特征在于,所述拓扑信息包括点信息、线信息及面信息,所述根据所述第一模型的拓扑信息,确定所述第一模型的多个循环边信息,并根据所述第二模型的拓扑信息,确定所述第二模型的多个循环边信息,包括:根据所述第一模型的拓扑信息确定所述第一模型的点信息、线信息以及面信息,并根据所述第二模型的拓扑信息确定所述第二模型的点信息、线信息以及面信息;若所述第一模型的点信息与所述第二模型的点信息相同,且所述第一模型的线信息与所述第二模型的线信息相同,且所述第一模型的面信息与所述第二模型的面信息相同,则根据所述第一模型的拓扑信息,确定所述第一模型的循环边信息,并根据所述第二模型的拓扑信息,确定所述第二模型的循环边信息。6.根据权利要求5所述的方法,其特征在于,所述根据所述第一模型的拓扑信息确定所
述第一模型的点数量,并根据所述第二模型的拓扑信息确定所述第二模型的点数量之后,还包括:若所述第一模型的点数量与所述第二模型的点数量不同,或所述第一模型的线数量与所述第二模型的线数量不同,或所述第一模型的面数量与所述第二模型的面数量不同,则确定所述第一模型和所述第二模型的拓扑信息存在差异,并根据所述第一模型的点信息、线信息和面信息,以及所述第二模型的点信息、线信息和面信息,确定所述第一模型和所述第二模型的拓扑差异信息。7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述第一模型的拓扑信息,确定所述第一模型的循环边信息,包括:根据所述第一模型的线信息,对所述第一模型进行遍历,得到所述第一模型中的边;根据所述第一模型的点信息,确定经过所述边的点序列;将存在循环的点序列所属的边作为循环边,并将所述存在循环的点序列以及所述循环边作为所述第一模型的循环边信息。8.一种模型拓扑检测装置,其特征在于,包括:获取模块,用于获取第一模型的拓扑信息以及第二模型的拓扑信息;确定模块,用于根据所述第一模型的拓扑信息,确定所述第一模型的第一循环边信息,并根据所述第二模型的拓扑信息,确定所述第二模型的第二循环边信息,其中,所述第一循环边信息用于指示所述第一模型中的第一循环边以及经过所述第一循环边的第一点序列,所述第二循环边信息用于指示所述第二模型中的第二循环边以及经过所述第二循环边的第二点序列;比对模块,用于对所述第一模型的第一循环边信息与所述第二模型的第二循环边信息进行比对分析,得到所述第一模型和所述第二模型的拓扑信息检测结果。9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行时执行如权利要求1至7任一项所述的模型拓扑检测方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一项所述的模型拓扑检测方法。

技术总结
本申请提供了一种模型拓扑检测方法、装置、电子设备及存储介质,其中,该方法包括:根据第一模型的拓扑信息和第二模型的拓扑信息确定第一模型的多个循环边信息以及第二模型的多个循环边信息,并对第一模型和第二模型的循环边信息进行比对分析,最终确定第一模型和第二模型的拓扑检测结果。通过对循环边信息进行比对分析,可以快速确定两个模型中具有拓扑结构差异的位置,本申请中根据循环边信息进行拓扑结构检测所检测的数据量小,因此检测效率高。高。高。


技术研发人员:张东朴 蒲乾
受保护的技术使用者:网易(杭州)网络有限公司
技术研发日:2023.06.28
技术公布日:2023/9/25
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐