一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

倒角面的识别方法、装置、电子设备及存储介质与流程

2022-02-25 23:27:16 来源:中国专利 TAG:


1.本技术涉及图形识别技术领域,尤其涉及一种倒角面的识别方法、装置、电子设备及存储介质。


背景技术:

2.本部分旨在为权利要求书中陈述的本技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
3.物体表面特别是工业产品表面通常会存在零部件拼接的分缝线。在三维模型制作中通常需要模拟这种分缝线,分缝线两侧的零件在分缝处的表面必定存在或宽或窄的倒角,在三维模型中,倒角区域通常会以两条以上平行的连续边之间的面模拟从外表面过渡到缝隙表面之间的狭小区域。在三维模型制作中,通常需要把法线的变化集中在倒角面的区域上,因此,需要将倒角面单独识别出来以便后续的操作。


技术实现要素:

4.针对上述技术问题,亟需一种改进的方法,能够高效地识别三维模型的倒角面。
5.本技术示例性实施例提供了一种倒角面的识别方法,包括:
6.确定待处理的三维模型中,至少有一组对边的长度均不大于预设阈值的目标四边形;
7.在所述三维模型中沿所述目标四边形的目标组对边的延伸方向搜索相邻的多边形,与所述目标四边形一起形成多边形集合;
8.响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面。
9.在一些示例性实施例中,在所述三维模型中沿所述目标组对边的延伸方向搜索相邻的多边形;具体包括:
10.在所述三维模型中,对于所述目标组对边中的每条边,沿该条边延伸方向搜索,得到由该条边起依次相连的至少一条拓展边;其中,与该条边相连的所述拓展边与该条边的夹角不大于预设拐角,且任意两条相连的所述拓展边的夹角均不大于预设拐角;
11.基于所述目标组对边的所有所述拓展边以及所述拓展边之间的交点,得到所述相邻的多边形。
12.在一些示例性实施例中,响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面;具体包括:
13.获取所述多边形集合中的所有多边形的所有边,并确定所述所有多边形的所有边中,除所述目标组对边以及所述所有所述拓展边之外的其他所有边;
14.将所述其他所有边的平均长度作为所述平均宽度;
15.响应于确定所述平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面。
16.在一些示例性实施例中,响应于确定所述多边形集合中的所有多边形沿垂直所述
延伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面,具体包括:
17.响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,且所有以所述目标组对边和所有所述拓展边为棱的两个相邻面的夹角均不小于预设夹角,将所述所有多边形均识别为倒角面。
18.在一些示例性实施例中,确定所述目标四边形的目标组对边的过程,具体包括:
19.响应于确定所述目标四边形的一组对边的两条边之间的距离不大于预设阈值,将该组对边确定为所述目标组对边。
20.在一些示例性实施例中,确定所述目标四边形的目标组对边的过程,具体包括:
21.响应于确定所述目标四边形的一组对边的长度均不大于预设阈值,将所述目标四边形的另一组对边确定为所述目标组对边。
22.在一些示例性实施例中,在将所述所有多边形均识别为倒角面之后,所述方法还包括:
23.响应于确定所述待处理的三维模型中,存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,重新确定所述目标四边形;以及,
24.响应于确定所述待处理的三维模型中,不存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,结束所述倒角面识别。
25.基于同一发明构思,本技术示例性实施例还提供了一种倒角面的识别装置,包括:
26.确定模块,确定待处理的三维模型中,至少有一组对边的长度均不大于预设阈值的目标四边形;
27.延伸模块,在所述三维模型中沿所述目标四边形的目标组对边的延伸方向搜索相邻的多边形,与所述目标四边形一起形成多边形集合;
28.识别模块,响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面。
29.基于同一发明构思,本技术示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述倒角面的识别方法。
30.基于同一发明构思,本技术示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上任一所述倒角面的识别方法。
31.从上面所述可以看出,本技术实施例提供的倒角面的识别方法,先从待处理的三维模型中,确定出至少有一组对边的长度均不大于预设阈值的目标四边形;然后在所述三维模型中沿所述目标四边形的目标组对边的延伸方向搜索相邻的多边形,根据该相邻的多边形与所述目标四边形一起形成多边形集合;当确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值时,将所述所有多边形均识别为倒角面。从而将待处理的三维模型中的倒角面自动识别出来,提高了三维模型的倒角模面识别的效率,进一步为三维模型制作优化中需要选择不同表面的操作带来了极大的效率提升。
附图说明
32.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术
描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1为本技术示例性实施例中的一种应用场景中的倒角面识别结果的示意图;
34.图2为本技术示例性实施例中的一种倒角面的识别方法的流程示意图;
35.图3为本技术示例性实施例中的一种三维模型的拓扑结构示意图;
36.图4为本技术示例性实施例中的一种三维模型中所有小于预设阈值的边的拓扑结构示意图;
37.图5为本技术示例性实施例中的所有至少有一组对边的长度均不大于预设阈值的四边形的拓扑结构示意图;
38.图6为本技术示例性实施例中的一种目标四边形的拓扑结构示意图;
39.图7为本技术示例性实施例中的一种目标四边形的一组对边的拓扑结构示意图;
40.图8为本技术示例性实施例中的沿一组对边的延伸方向搜索得到的拓展边的拓扑结构示意图;
41.图9为本技术示例性实施例中的沿一组对边的延伸方向搜索得到的多边形集合的拓扑结构示意图;
42.图10为本技术示例性实施例中的所有未被识别过的至少有一组对边的长度均不大于预设阈值的四边形的拓扑结构示意图;
43.图11为本技术示例性实施例中的一种三维模型中识别出的所有倒角面的拓扑结构示意图;
44.图12为本技术示例性实施例中的一种未设置预设夹角的倒角面识别结果的示意图;
45.图13为本技术示例性实施例中的一种设置预设夹角后的倒角面识别结果的示意图;
46.图14为本技术示例性实施例中的一种倒角面的识别装置的结构示意图;
47.图15为本技术示例性实施例中的一种具体电子设备的结构示意图。
具体实施方式
48.下面将参考若干示例性实施方式来描述本技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本技术,而并非以任何方式限制本技术的范围。相反,提供这些实施方式是为了使本技术更加透彻和完整,并且能够将本技术的范围完整地传达给本领域的技术人员。
49.根据本技术的实施方式,提出了一种倒角面的识别方法、装置、电子设备及存储介质。
50.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
51.下面参考本技术的若干代表性实施方式,详细阐释本技术的原理和精神。
52.发明概述
53.现有技术中,对于在三维模型上识别倒角面,一般需要用户逐个判断识别,即便以
三维软件内建的功能选择连续的四边形,当遇到包含三角形、分叉的倒角面等结构则仍需要手动点选每个需要的多边形。
54.本技术的发明人发现,造成上述识别倒角面效率较低的原因是:在三维建模过程中,一般三维模型都是通过模拟实物来进行建模,模拟的实物中不可避免的存在一些不常见的复杂结构,这些复杂结构中就包括一些不规则的倒角面。三维模型想要展示这些不规则的倒角就需要按照对应的实物进行建模,同时,由于三维模型主要用于展示产品的效果,所以一般效果图的尺寸并不完全与模拟的实物对应,所以只通过具体的参数范围来进行倒角面筛选,很容易将一些不规则且与实物尺寸不完全相符的倒角面遗漏。此外,现有技术中,三维软件内建的选择功能通常只能选择连续的四边形,对其他各种拓扑结构无法做到快速选择。即使在理想状态下,某一零件的所有倒角均由四边形构成,软件内建的选择功能也只能选取一个方向上的连续四边形,遇到拐角后仍需在另一方向上再次选择连续的四边形。因此,现有技术,无法实现三维模型的倒角面的高效识别。
55.为了解决上述问题,本技术提供了一种自动进行倒角面识别的处理方案,具体包括:先从待处理的三维模型中,确定出至少有一组对边的长度均不大于预设阈值的目标四边形,然后在所述三维模型中沿所述目标四边形的目标组对边的延伸方向搜索相邻的多边形,根据该相邻的多边形与所述目标四边形一起形成多边形集合;该多边形集合中,包括了除目标四边形之外,其他的可能是倒角面的多边形,然后将多边形集合中所有的多边形作为一个整体,进行倒角面识别。从而可以将一些不规则的倒角面识别出来。同时,若要将三维模型的部分或整体上所有的倒角面识别出来,可以在该三维模型中,从所有未被识别过的四边形中,确定出多个至少有一组对边的长度均不大于预设阈值的目标四边形,然后所有的目标四边形均按照本技术的方法进行倒角面识别,最终输出所有的识别结果,就可以将该三维模型的部分或整体上所有的倒角面自动识别出来。
56.在介绍了本技术的基本原理之后,下面具体介绍本技术的各种非限制性实施方式。
57.应用场景总览
58.参考图1,本技术示例性实施例的一种应用场景的倒角面识别结果的示意图。该图表示的是一个球体的三维模型的一部分,其中,该部分的中心位置有一个方框,表示该球体被向内切了一个长方体,可以看到在球体与长方体相接的地方,以及长方体内部两个面相交的地方都存在一些倒角面,浅灰色部分为通过本技术的方法识别出的倒角面。若通过用户手动勾选出所有的倒角面,无疑会增加工作时间,整体效率不高,并且可能会由于疏忽漏掉一些倒角面。
59.在一些具体的应用场景中,本技术的倒角面识别方法可以直接应用在一些三维软件中,用户使用时,只需选中待处理的三维模型,可选的,选中的待处理的三维模型可以是一个整体,也可以是三维模型的一部分。在选中待处理的三维模型之后,可以通过倒角面识别按钮或开关一键完成倒角面识别。
60.在一些具体的应用场景中,本技术的倒角面的识别方法还可以应用在单独的应用软件中,用户使用时,只需将待处理的三维模型,添加到该单独的应用软件中,或在该应用软件打开待处理的三维模型,然后通过倒角面识别按钮或开关一键完成倒角面识别。
61.在一些具体的应用场景中,本技术的倒角面的识别方法可以直接应用在本地运
行,也可以在云端服务器中运行。当在云端服务器运行时,将获取的待处理数据通过网络发送到云端服务器,由服务器将待处理数据通过本技术的倒角面识别方法进行识别,并将该识别结果通过网络发送到本地。
62.下面结合具体的应用场景,来描述根据本技术示例性实施方式的倒角面的识别的处理方法。需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。相反,本技术的实施方式可以应用于适用的任何场景。
63.示例性方法
64.参考图2,本技术实施例提供了一种识别三维模型的倒角面的方法,包括以下步骤:
65.步骤s11,确定待处理的三维模型中,至少有一组对边的长度均不大于预设阈值的目标四边形。
66.具体实施时,待处理三维模型可以是完整的一个模型,也可以是完整模型的一部分,在此不做限定。具体的获取结果可以根据用户的选择来确定。即当用户选中整个三维模型时,该步骤获取的就是整个三维模型,当用户选中完整三维模型的一部分时,该步骤获取的就是三维模型的一部分。可选的,三维模型中包括多个多边形,每一个多边形代表一个面。在确定待处理的三维模型后,从该待处理的三维模型中,确定出至少有一组对边的长度均不大于预设阈值的目标四边形,该预设阈值可以根据需要进行设置,在此不做限定。
67.具体实施时,在获取待处理三维模型后,可以先筛选出三维模型中的所有的四边形,参考图3,为本技术示例性实施例中的一种三维模型的拓扑结构示意图,其中,包含了各种多边形,从中筛选出所有的四边形。然后进一步筛选出所有四边形中至少有两条不相邻的边的长度均不大于预设阈值的目标四边形,即目标四边形至少包括一组对边的长度均小于等于预设阈值。可选的,目标四边形可以是多个或一个,在此不做限定。
68.一些示例性实施例中,参考图4,可以先找到当前待处理的三维模型的所有小于等于预设阈值的边,并记为集合es,即图4中深黑色的线段。然后从所有的四边形中筛选出至少有一组对边属于集合es的候选四边形。参考图5,其中,深灰色的四边形,即为筛选出的所有至少有一组对边的长度均不大于预设阈值的四边形,这些四边形都可以作为目标四边形。确定的目标四边形参考图6,其中,深灰色的四边形表示一个目标四边形。需要说明的是,图5中至少有一组对边的长度均不大于预设阈值的四边形的所有小于等于预设阈值的对边并不与图4中筛选出的所有小于等于预设阈值的边完全重合,例如,图5虚线圈中的三角形,该三角形的三条边虽然都属于集合es,但是由于不属于四边形,所以该三角形不属于目标四边形。
69.步骤s12,在所述三维模型中沿所述目标四边形的目标组对边的延伸方向搜索相邻的多边形,与所述目标四边形一起形成多边形集合。
70.具体实施时,由于直接对所有的目标四边形进行倒角面识别,容易将一些不规则的倒角面遗漏,例如,图5中虚线圈中的三角形实际为模型中的倒角面,此时,只对所有目标四边形进行倒角面识别必然会将该三角形遗漏。因此,本技术中,目标四边形只是作为后续判断的初始样本,然后在所述三维模型中沿所述目标四边形的目标组对边的延伸方向搜索相邻的多边形,并将搜索得到的相邻的多边形与该目标四边形一起形成多边形集合。然后
将该多边形集合作为一个整体进行倒角面识别,由于该多边形集合中包括了一些不规则的倒角面,例如,三角形等其他倒角面,因此,通过该步骤可以避免将一些特殊倒角面被遗漏,同时,将多个倒角面作为整体一起识别出来,可以提高倒角面的识别效率。
71.一些示例性实施例中,在将所述所有多边形均识别为倒角面之后,所述方法还包括:
72.响应于确定所述待处理的三维模型中,存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,重新确定所述目标四边形;以及,
73.响应于确定所述待处理的三维模型中,不存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,结束所述倒角面识别。
74.具体实施时,若要对某一个三维模型的全部倒角面进行识别,可以循环进行多次倒角面的识别,在进行完一次倒角面识别之后,进一步判断当前待处理的三维模型中,是否存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,若存在,重新确定目标四边形,并执行后续的识别过程,直到当前待处理的三维模型中,不存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,结束倒角面识别。参考图11,其中,深灰色的多边形表示一个三维模型中识别出来的所有倒角面,该图11中识别出的倒角面中除了四边形外,还包括多个三角形,进一步说明本技术的方法可以将三维模型中各种复杂的倒角面识别出来。
75.一些示例性实施例中,当要对某一个三维模型的全部倒角面进行识别时,为了避免重复识别,可以先确定一个目标四边形,然后通过该目标四边形进行后续的识别步骤。可选的,确定一个目标四边形的过程可以随机确定,也可以通过其他方式进行确定在此不做限定。为了方便计算机程序运算,可以将所有的目标四边形按照默认顺序进行排序,并对每个目标四边形依次标注序号,然后按照序号大小依次对目标四边形进行倒角面识别。
76.一些示例性实施例中,在判断当前待处理的三维模型中,是否存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,具体包括:
77.基于所述多边形集合确定是否存在未被识别过至少有一组对边的长度均不大于预设阈值的四边形。
78.具体实施时,由于在通过一组目标四边形搜索得到多边形集合后,将该多边形集合中的所有多边形作为整体进行倒角面识别,所以此时进行倒角面识别的多边形集合中,包含了除当前目标四边形之外的其他至少有一组对边的长度均不大于预设阈值的四边形。为了避免重复识别,可以通过该多边形集合排除一部分至少有一组对边的长度均不大于预设阈值的四边形。
79.参考图9,为本技术示例性实施例的沿一组对边的延伸方向搜索得到的多边形集合的拓扑结构示意图,其中,深灰色部分为沿一组对边的延伸方向搜索得到的多边形集合,可以看到该多边形集合中包括了多个至少有一组对边的长度均不大于预设阈值的四边形,若该多边形集合已经完成倒角面识别,则需要将这些四边形从所有未被识别过的四边形中除去。得到的结果参考图10,图10与图5相比,明显少了图9中的深灰色部分。
80.一些示例性实施例中,在所述三维模型中沿所述目标组对边的延伸方向搜索相邻的多边形;具体包括:
81.在所述三维模型中,对于所述目标组对边中的每条边,沿该条边延伸方向搜索,得
到由该条边起依次相连的至少一条拓展边;其中,与该条边相连的所述拓展边与该条边的夹角不大于预设拐角,且任意两条相连的所述拓展边的夹角均不大于预设拐角;
82.基于所述目标组对边的所有所述拓展边以及所述拓展边之间的交点,确定所述相邻的多边形。
83.具体实施时,参考图7,其中,深黑色的两条线为目标组对边,然后对于所述目标组对边中的每条边,沿该条边延伸方向搜索,得到由该条边起依次相连的至少一条拓展边。参考图8,其中,图8中的深黑色的边包括了所有沿图7中的目标组对边的延伸方向搜索,得到的拓展边。
84.在得到至少一条拓展边之后,先获取所有拓展边之间的交点,并基于所述目标组对边的所有所述拓展边以及所述拓展边之间的交点,从待处理的三维模型中确定所述相邻的多边形。可选的,将完全由所有拓展边之间以及拓展边与目标组对边之间的交点作为顶点的多边形确定为所述多边形集合中的多边形。参考图9,图9中的深灰色的多边形中的所有顶点都为拓展边之间或者拓展边与目标组对边之间的交点,而那些只有部分顶点为拓展边之间或者拓展边与目标组对边之间的交点的多边形被排除。
85.具体实施时,对于所述目标组对边中的每条边,沿该条边延伸方向搜索,是一个不断重复的过程,在沿目标组对边中的一条边的延伸方向搜索,得到一条拓展边后,将继续沿该拓展边的延伸方向搜索,直到无法再找到新的边为止。其中,每次沿一条边的延伸方向搜索,具体包括:确定该条边的目标端点,在以所述目标端点为公共端点的所有边中,确定与该条边的夹角最小的边;响应于确定所述夹角小于预设拐角,则将所述与该条边的夹角最小的边确定为拓展边。可选的,预设拐角可以根据需要进行设置,在此不做限定。
86.需要说明的是,由于每条边有两个端点,因此,在首次搜索时,需要沿着两个端点分别进行搜索,即此时的目标端点为两个,而对得到的拓展边继续进行搜索时,已经不需要再往回延伸搜索,所以此时只需要沿着拓展边的新端点进行搜索,即此时的目标端点为一个。本技术文件中提及的两条边的夹角指的是其中一条边的延长线与另一条边形成的夹角。
87.一些示例性实施例中,确定所述目标四边形的目标组对边的过程,具体包括:
88.响应于确定所述目标四边形的一组对边的两条边之间的距离不大于预设阈值,将该组对边确定为所述目标组对边。
89.具体实施时,由于每个四边形都有两组对边,如果沿每一组对边的延伸方向都搜索相邻的多边形,对得到的两个多边形集合分别进行倒角面识别,若得到的多边形集合中的四边形本身不属于倒角面,无疑会增加工作量。所以可以对目标四边形进行初步判断,只沿筛选出的目标组对边的延伸方向搜索相邻的多边形。由于,每组对边之间的距离决定了延伸搜索后得到的相邻多边形在垂直所述延伸方向的宽度,所以,当确定所述目标四边形的一组对边的两条边之间的距离不大于预设阈值时,将该组对边确定为所述目标组对边。当确定所述目标四边形的一组对边的两条边之间的距离大于预设阈值时,不将该组对边确定为所述目标组对边。
90.为了进一步提高确定目标组对边的速度,一些示例性实施例中,确定所述目标四边形的目标组对边的过程,具体包括:
91.响应于确定所述目标四边形的一组对边的长度均不大于预设阈值,将所述目标四
边形的另一组对边确定为所述目标组对边。
92.具体实施时,可以将目标四边形的一组对边的长度作为该目标四边形的另一组对边的两条边之间的距离。从而节省了测量两条边之间距离的过程,进一步提高了确定目标组对边的效率。可选的,可以先获取目标四边形的四条边,从中任意选取一条边,记入集合pa,获取该条边的两个端点,确定目标四边形的四条边中以这两个端点为公共端点的所有边,将该确定出的所有边从该目标四边形的四条边中去除,把剩余的一条边加入集合pa中,该集合pa中的两条边即为一组对边,从该目标四边形的四条边中剔除掉集合pa中的两条边,则可以获得另外一组对边,并记入集合pb中。在确定所述目标组对边时,判断集合pa中的两条边是否均小于预设阈值,若小于,则将集合pb中的两条边确定为目标组对边,若不小于,则不再将集合pb中的两条边确定为目标组对边。同理,判断集合pb中的两条边是否均小于预设阈值,若小于,则将集合pa中的两条边确定为目标组对边,若不小于,则不再将集合pa中的两条边确定为目标组对边。
93.步骤s13,响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面。
94.具体实施时,当确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面。
95.需要说明的是,由于三维模型的主要用途一般是展示产品或实物的效果,所以无法保证三维模型的尺寸一定严格与实物或产品等比例对应,所以,如果单一的用固定参数进行筛选来识别倒角面,可能会有大部分倒角面无法被识别,所以本步骤中采用多边形集合中所有多边形的平均宽度来进行倒角面识别,如果盲目的对所有的多边形用一个宽泛的参数来进行识别,无疑会降价低识别准确度。本技术的发明人发现,相邻的倒角面之间一般存在着一些紧密关联,例如,很多倒角面都是由一个倒角面延伸而来。所以本技术实施例中先通过目标四边形进行延伸搜索,得到的多边形集合与所述目标四边形有着紧密的联系,然后再通过所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度来进行倒角面识别,在保证准确度的同时,提高了识别的效率。
96.一些示例性实施例中,响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面;具体包括:
97.获取所述多边形集合中的所有多边形的所有边,并确定所述所有多边形的所有边中,除所述目标组对边以及所述所有所述拓展边之外的其他所有边;
98.将所述其他所有边的平均长度作为所述平均宽度;
99.响应于确定所述平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面。
100.具体实施时,先将所有沿延伸方向的边从多边形集合中的所有多边形的所有边中排除,然后将剩余的所有边的平均长度作为所有多边形沿垂直所述延伸方向的平均宽度。
101.一些示例性实施例中,可以也可以先测得每个多边形沿垂直所述延伸方向的宽度,然后将所有的多边形的该宽度求和后求平均数,即可得到所述平均宽度。可选的,当所述多边形为四边形时,可以测量沿所述延伸方向的两条边之间的距离,作为该四边形的沿垂直所述延伸方向的宽度。当所述多边形为三角形时,可以测量以沿所述延伸方向的边为地边的高作为该三角形沿垂直所述延伸方向的宽度。
102.一些示例性实施例中,响应于确定所述多边形集合中的所有多边形沿垂直所述延
伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面,具体包括:
103.响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,且所有以所述目标组对边和所有所述拓展边为棱的两个相邻面的夹角均不小于预设夹角,将所述所有多边形均识别为倒角面。
104.具体实施时,本技术的发明人发现若只通过多边形集合中所有四边形的所述平均宽度来进行倒角面识别,在三维模型上,一些平滑面的平均宽度也可能满足倒角面识别的要求,进而导致一些平滑面被识别为倒角面。因此,在确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值之后,进一步通过每条边两侧的相邻的两个面的夹角来进行倒角面的识别,当该夹角大于等于预设夹角时,将所述目标组对边对应的拓展多边形集合识别为倒角面。需要说明的是,本技术文件中提及的两个面的夹角指的是在同一条棱的两侧的两个面之间的夹角的补角,即这两个面在垂直于该棱线的虚拟平面上的投影所形成夹角的补角。
105.参考图12和图13,其中,arng代表预设夹角的范围,当arng∈[0,180]时,表示预设夹角设置为0度,即没有通过预设夹角来识别倒角面,当arng∈[5,180]时,表示当前设置的预设夹角设置为5度。其中,图12与图13中的虚线框中的浅灰色部分为识别出的倒角面,从图中可以看出此时,图12识别的倒角面明显多于图13中识别出来的倒角面。即图12中将平滑的曲面识别为倒角面。
[0106]
本技术实施例提供的识别三维模型的倒角面的方法,先从待处理的三维模型中,确定出至少有一组对边的长度均不大于预设阈值的目标四边形;然后在所述三维模型中沿所述目标四边形的目标组对边的延伸方向搜索相邻的多边形,根据该相邻的多边形与所述目标四边形一起形成多边形集合;当确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值时,将所述所有多边形均识别为倒角面。从而将待处理的三维模型中的倒角面自动识别出来,提高了三维模型的倒角模面识别的效率,进一步为三维模型制作优化中需要选择不同表面的操作带来了极大的效率提升。
[0107]
需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0108]
示例性设备
[0109]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种倒角面的识别装置。
[0110]
参考图14,该倒角面的识别装置,包括:
[0111]
获取模块21,确定模块,确定待处理的三维模型中,至少有一组对边的长度均不大于预设阈值的目标四边形;
[0112]
延伸模块22,在所述三维模型中沿所述目标四边形的目标组对边的延伸方向搜索相邻的多边形,与所述目标四边形一起形成多边形集合;
[0113]
识别模块23,响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面。
[0114]
在一些示例性实施例中,延伸模块22,具体被配置为:
[0115]
在所述三维模型中,对于所述目标组对边中的每条边,沿该条边延伸方向搜索,得到由该条边起依次相连的至少一条拓展边;其中,与该条边相连的所述拓展边与该条边的夹角不大于预设拐角,且任意两条相连的所述拓展边的夹角均不大于预设拐角;
[0116]
基于所述目标组对边的所有所述拓展边以及所述拓展边之间的交点,确定所述相邻的多边形。
[0117]
在一些示例性实施例中,延伸模块22,具体被配置为:
[0118]
获取所述多边形集合中的所有多边形的所有边,并确定所述所有多边形的所有边中,除所述目标组对边以及所述所有所述拓展边之外的其他所有边;
[0119]
将所述其他所有边的平均长度作为所述平均宽度;
[0120]
响应于确定所述平均宽度不大于预设阈值,将所述所有多边形均识别为倒角面。
[0121]
在一些示例性实施例中,识别模块23,具体被配置为:
[0122]
响应于确定所述多边形集合中的所有多边形沿垂直所述延伸方向的平均宽度不大于预设阈值,且所有以所述目标组对边和所有所述拓展边为棱的两个相邻面的夹角均不小于预设夹角,将所述所有多边形均识别为倒角面。
[0123]
在一些示例性实施例中,所述识别三维模型的倒角面的装置,还包括:
[0124]
响应于确定所述目标四边形的一组对边的两条边之间的距离不大于预设阈值,将该组对边确定为所述目标组对边。
[0125]
在一些示例性实施例中,所述识别三维模型的倒角面的装置,还包括:
[0126]
响应于确定所述目标四边形的一组对边的长度均不大于预设阈值,将所述目标四边形的另一组对边确定为所述目标组对边。
[0127]
在一些示例性实施例中,所述识别三维模型的倒角面的装置,还包括:
[0128]
响应于确定所述待处理的三维模型中,存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,重新确定所述目标四边形;以及,
[0129]
响应于确定所述待处理的三维模型中,不存在未被识别过的至少有一组对边的长度均不大于预设阈值的四边形,结束所述倒角面识别。
[0130]
上述实施例的装置用于实现前述示例性方法部分中任一实施例中相应的倒角面的识别方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0131]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的三倒角面的识别方法。
[0132]
图15示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
[0133]
处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0134]
存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0135]
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0136]
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0137]
总线1050包括多个通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0138]
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0139]
上述实施例的电子设备用于实现前述示例性方法部分中任一实施例中相应的倒角面的识别方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0140]
示例性程序产品
[0141]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述倒角面的识别方法。
[0142]
上述非暂态计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
[0143]
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上示例性方法部分中任一实施例所述倒角面的识别方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0144]
本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本技术可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,一些示例性实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0145]
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便
携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0146]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0147]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0148]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0149]
应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
[0150]
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
[0151]
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
[0152]
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0153]
申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
[0154]
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本
发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献