CN112419178A - 破洞修复方法、终端设备及计算机可读存储介质 - Google Patents
破洞修复方法、终端设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112419178A CN112419178A CN202011298053.8A CN202011298053A CN112419178A CN 112419178 A CN112419178 A CN 112419178A CN 202011298053 A CN202011298053 A CN 202011298053A CN 112419178 A CN112419178 A CN 112419178A
- Authority
- CN
- China
- Prior art keywords
- model
- sub
- vertex
- hole
- edges
- 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 49
- 230000008439 repair process Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 description 12
- 238000009877 rendering Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000011960 computer-aided design Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种破洞修复方法、终端设备及计算机可读存储介质,该方法包括:获取组成原始模型的所有子模型对象的边,所述子模型对象包括三角面;在所述所有子模型对象的边中,查找存在单个邻接三角面的破洞边;根据所述破洞边构建模型破洞,并对所述模型破洞进行修复,得到所述原始模型所对应的新建模型。通过实施本申请,能解决现有破洞修复方法中存在的破洞修复比较复杂,且无法适用于非流面的3D模型等问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种破洞修复方法、终端设备及计算机可读存储介质。
背景技术
三维(3D)打印是20世纪80年代发展起来的一项颠覆传统生产方式的革命性技术,又名快速原型、增料制造等。3D打印首先通过通用计算机辅助设计(computer aideddesign,CAD)软件建模,然后将得到的模型文件导入计算机辅助制造(computer aidedmanufacturing,CAM)软件;在CAM软件中,模型一般需经历缺陷修复、支撑生成、切片生成等过程。其中缺陷修复包括了破洞修复。
现有破洞修复方法,通常通过检索3D模型中每个三角面的邻接三角面,从而构建出面与面的拓扑关系,然后依据面与面的拓扑关系确定出破洞边。然而在实践中发现,现有破洞修复方法比较复杂,且无法适用于存在非流面(即一条边上存在三个及以上的三角面)的3D模型中。
发明内容
本申请实施例提供了一种破洞修复方法、终端设备及计算机可读存储介质,能够解决现有破洞修复方法中存在的破洞修复比较复杂,且无法适用于存在非流面的3D模型等问题。
为达到上述目的,本申请提供了一种破洞修复方法,该方法包括:
获取组成原始模型的所有子模型对象的边,所述子模型对象包括三角面;
在所有所述子模型对象的边中,查找存在单个邻接三角面的破洞边;
根据所述破洞边构建模型破洞,并对所述模型破洞进行修复,得到所述原始模型所对应的新建模型。
可选的,所述获取组成原始模型的所有子模型对象的边包括:
将所有所述子模型对象的三角面的顶点及顶点下标汇总到一起,形成顶点列表;其中每个子模型对象包括组成所述三角面的顶点及顶点下标,所述顶点下标用于标识所述顶点下标对应的顶点所在的三角面;
对所述顶点列表中的顶点进行去重操作,并更新所述顶点列表中每个顶点的顶点下标;
根据所述更新后的顶点列表中的顶点,构建组成所述所有子模型对象的边。
可选的,所述在所有所述子模型对象的边中,查找存在单个邻接三角面的破洞边包括:
将所有所述子模型对象的边合并为边列表;
去掉所述边列表中端点存储顺序相反的边,将所述边列表中剩余的边标记为边界边;
遍历所述边列表中标记为边界边的边,从而得到存在单个邻接三角面的破洞边;其中组成所有所述子模型对象的三角面的边按照顺时针方向存储。
可选的,所述根据所述破洞边构建模型破洞包括:
将组成所述破洞边的顶点按序进行首尾相连,从而构建出由所述破洞边组成的模型破洞。
可选的,所述对所述模型破洞进行修复包括:
将所述模型破洞划分为至少一个网格Mesh面,从而构建出组成所述模型破洞的至少一个Mesh面;
将每个Mesh面作为一个子模型对象,添加到所述原始模型上,从而得到所述原始模型所对应的新建模型。
可选的,所述获取组成原始模型的所有子模型对象的边之前,还包括:
获取组成所述原始模型的所有子模型对象的Mesh面,所述Mesh面包括至少一个三角面;
对所述Mesh面进行数据结构转换,以将所述Mesh面数据转换为符合预设数据结构的Mesh面。
可选的,所述构建出组成所述模型破洞的至少一个Mesh面之后,所述将每个Mesh面作为一个子模型对象,添加到所述原始模型上之前,还包括:
对所述至少一个Mesh面进行数据结构转换,以将所述Mesh面转换为支持渲染的数据结构的Mesh面。
本申请还提供了一种终端设备,所述终端设备可执行上述第一方面或第一方面的任意一种可选的实施方式中的方法。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的单元。该单元可以是软件和/或硬件。
本申请还提供了另一种终端设备,该终端设备包括:处理器以及和处理器相连的存储器;其中,该存储器包括计算机可读指令;该处理器用于执行该存储器中的计算机可读指令,从而使得该汽车执行上述第一方面或第一方面的任意一种可选的实施方式中的方案。
本申请还提供了一种计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可选的实施方式中的方法。
本申请还提供了一种芯片产品,执行上述第一方面或第一方面的任意一种可选的实施方式中的方法。
本申请还提供了供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意一种可选的实施方式中的方法。
本发明提供的破洞修复方法、终端设备及计算机可读存储介质至少具有如下有益效果:适用于以三角面的顶点坐标为数据核心的任意平台的3D模型最小细节判断,不局限适用于U3D平台。采用本申请方案,不仅能解决现有破洞修复方法中存在的模型修复比较复杂,无法适用于存在非流面的3D模型等问题,还能有效提高破洞修复的速度,即获得较快的破洞修复速度。
附图说明
图1是本申请实施例提供的一种破洞修复方法的流程示意图。
图2是本申请实施例提供的另一种破洞修复方法的流程示意图。
图3是本申请实施例提供的一种终端设备的结构示意图。
图4是本申请实施例提供的另一种终端设备的结构示意图。
具体实施方式
下面结合附图对本申请具体实施例作进一步的详细描述。
请参见图1,是本申请实施例提供的一种破洞修复方法的流程示意图。如图1所示的破洞修复方法包括如下实施步骤。
S101、终端设备获取组成原始模型的所有子模型对象的边,每个子模型对象包括三角面。
本申请中,原始模型是由一系列的子模型对象组成的,每个子模型对象均具备一个网格(Mesh)面。每个Mesh面是由一系列的三角面组成。也即是每个子模型对象包括一个或多个三角面。每个三角面是由三条边、三个顶点组成的,例如以三角面ABC为例,组成该三角面ABC的三条边分别是:AB、BC及CA,三个顶点分别是顶点A、顶点B及顶点C。
在一种可能的实施方式中,每个子模型对象包括至少一个三角面,每个三角面包括有组成该三角面的顶点及顶点下标,这里的顶点下标用于标识该顶点下标对应的顶点所在的三角面。相应地本步骤中,终端设备可将所有子模型对象的三角面的顶点及顶点下标汇总在一起,从而形成顶点列表;然后对顶点列表中的顶点进行去重操作,以避免同一顶点被反复多次记载到顶点列表中,同时更新顶点列表中每个顶点的顶点下标。具体地,终端设备可遍历顶点列表中的所有顶点,并加入新的顶点序列,同时更新顶点列表中存储的顶点下标,从而得到更新后的顶点列表。
进一步地,终端设备根据更新后的顶点列表中的顶点构建组成所有子模型对象的边。具体地,终端设备根据顶点列表中每个顶点的坐标,将每两个相邻的顶点进行相连得到一个子模型对象的边,以此原理可获得组成所有子模型对象的所有边。
本申请涉及的原始模型是指实心的三维实体模型,也可称为3D打印模型或3D模型。此外,所述原始模型可以由U3D游戏引擎(unity 3D,U3D)平台来提供。
本申请实施例提供的终端设备可以为手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personaldigital assistant,PDA)、智能手表、智能手环等终端设备,或者该终端设备还可以为其他类型的终端设备,本申请实施例不作限定。可选地,终端设备可为安卓系统的移动终端,也可为IOS系统的移动终端,本申请不做限定。
S102、终端设备在所有子模型对象的边中,查找仅存在单个邻接三角面的破洞边。
本申请中破洞边是指位于模型破洞上的边,模型是指由一系列三角面组成的空壳结构,模型破洞是指表面结构的三角面丢失、不完整或不封闭的模型。可理解的,在存在模型破洞的原始模型中,组成模型破洞的每条破洞边仅存在一个三角面。非模型破洞的三角面中任意两个紧邻的三角面都会共用一条边,简称为共用边。也即是,在查找破洞边时,终端设备可在所有子模型对象的边中查找仅存在单个邻接三角面的边,即是组成模型破洞的破洞边。
具体地,终端设备可将所有子模型对象的边合并为边列表,在边列表中每条边是按照组成该边的两个顶点(也可称为端点)存储的,例如边AB等。由于U3D中组成所有子模型对象的三角面的边是按照顺时针方向存储的,也即是同一条边在边列表中会出现两次,且端点存储顺序相反。例如以三角面ABC及三角面CBD为例,边列表中会存储有边AB、BC、CA及边CB、BD和DC。其中,边BC和边CB即为端点存储顺序相反的边。
相应地,终端设备可将边列表中端点存储顺序相反的边进行去掉/去除,将剩余的边标记为边界边,即位于模型破洞上的边。然后一次遍历边列表中被标记为边界边的边,从而得到仅存在单个邻接三角面的破洞边。其中,破洞边的数量并不做限定,其可为一个或多个。
S103、终端设备根据破洞边构建模型破洞,并对模型破洞进行修复,得到原始模型所对应的新建模型。
本申请终端设备将依据破洞边来构建出模型破洞,并对模型破洞进行修复,从而得到原始模型所对应的新建模型。具体地,终端设备可提取组成破洞边的顶点,然后根据每个顶点各自的坐标顺序将每个顶点进行首尾连接,从而构建出由破洞边组成的模型破洞。进一步地终端设备还可将模型破洞划分为一个或多个Mesh面,从而构建出组成该模型破洞的一个或多个Mesh面;然后根据组成每个Mesh面的顶点的坐标,将每个Mesh面对应添加到原始模型上,从而得到原始模型对应的新建模型。
需要说明的是,本申请上述步骤S101~S103可以通过C#语言来实现。
通过实施本申请,终端设备获取组成原始模型的所有子模型对象的边,在所有子模型对象的边中查找仅存在单个邻接三角面的破洞边,根据破洞边构建模型破洞并对模型破洞进行修复,得到原始模型所对应的新建模型。本申请适用于以三角面的顶点坐标为数据核心的任意平台的3D模型最小细节判断,不局限适用于U3D平台。采用本申请方案,不仅能解决现有破洞修复方法中存在的模型修复比较复杂,无法适用于存在非流面的3D模型等问题,还能有效提高破洞修复的速度,即本申请的破洞修复速度较快。
请参见图2,是本申请实施例提供的另一种破洞修复方法的流程示意图。如图2所示的破洞修复方法包括如下实施步骤:
S201、终端设备获取组成原始模型的所有子模型对象的Mesh面,每个Mesh面包括至少一个三角面。
本申请中,原始模型是由一系列的子模型对象组成的,每个子模型对象均具备一个网格Mesh面。每个Mesh面是由一系列的三角面组成。也即是,每个子模型对象包括至少一个三角面。相应地终端设备可获取组成原始模型的所有子模型对象的Mesh面,每个Mesh面包括至少一个三角面。
S202、终端设备对所述Mesh面进行数据结构转换,以将所述Mesh面转换为符合预设数据结构的Mesh面。
本申请终端设备可对所有子模型对象的Mesh面进行数据结构转换,以将U3D支持的数据结构转换为C#语言中自定义的数据结构(即预设数据结构),例如树状结构、图状结构等,这样有利于提升破洞修复方法的通用性,即本申请方案不局限适用于U3D平台,还能适用于其他任意平台。
S203、终端设备根据所述所有子模型对象的符合预设数据结构的Mesh面,获取组成该Mesh面的边,即获取组成原始模型的所有子模型对象的边。
本申请每个Mesh面是由一系列的三角面组成,每个三角面是由三条边组成的,则终端设备将根据所有子模型对象的相应Mesh面来获取组成原始模型的所有子模型对象的边。
S204、终端设备在所述所有子模型对象的边中,查找存在单个邻接三角面的破洞边。
S205、终端设备根据所述破洞边构建模型破洞。
S206、终端设备将所述模型破洞划分为至少一个Mesh面,从而构建出组成所述模型破洞的至少一个Mesh面。
S207、终端设备对所述模型破洞的至少一个Mesh面进行数据结构转换,以将该Mesh面数据转换为支持渲染的数据结构的Mesh面,从而对应得到支持渲染的数据结构的至少一个Mesh面。
本申请由于组成模型破洞的每个Mesh面为符合预设数据结构的Mesh面,为适应于U3D平台或者在U3D平台中支持线框渲染,则终端设备还可对组成模型破洞的每个Mesh面进行数据结构转换,以将每个Mesh面对应转换为支持渲染的数据结构的Mesh面。换句话说,这里可将C#自定义的数据结构转换为U3D支持渲染的数据结构,便于后续终端设备在U3D平台中对该Mesh面进行线框渲染。
S208、终端设备将支持渲染的数据结构的每个Mesh面作为一个子模型对象,添加到原始模型上,从而得到原始模型所对应的新建模型。
进一步终端设备可将支持渲染的数据结构的每个Mesh面视为一个子模型对象,根据Mesh面的顶点坐标将其添加到原始模型上,从而得到原始模型所对应的新建模型。
关于本申请实施例上述步骤S204-S206以及步骤S208可对应参照前述图1所述实施例中的相关介绍,这里不再赘述。
通过实施本申请,终端设备获取组成原始模型的所有子模型对象的边,在所有子模型对象的边中查找仅存在单个邻接三角面的破洞边,根据破洞边构建模型破洞并对模型破洞进行修复,得到原始模型所对应的新建模型。本申请适用于以三角面的顶点坐标为数据核心的任意平台的3D模型最小细节判断,不局限适用于U3D平台。采用本申请方案,不仅能解决现有破洞修复方法中存在的模型修复比较复杂,无法适用于存在非流面的3D模型等问题,还能有效提高破洞修复的速度,即获得较快的破洞修复速度。
请参见图3,是本申请实施例提供的一种终端设备的结构示意图。如图3所示的终端设备包括获取单元301、查找单元302及修复单元303,其中:
获取单元301,用于获取组成原始模型的所有子模型对象的边,所述子模型对象包括三角面;
查找单元302,用于在所有所述子模型对象的边中,查找存在单个邻接三角面的破洞边;
修复单元303,用于根据所述破洞边构建模型破洞,并对所述模型破洞进行修复,得到所述原始模型所对应的新建模型。
可选的,所述获取单元301具体用于:
将所有所述子模型对象的三角面的顶点及顶点下标汇总到一起,形成顶点列表;其中每个子模型对象包括组成所述三角面的顶点及顶点下标,所述顶点下标用于标识所述顶点下标对应的顶点所在的三角面;
对所述顶点列表中的顶点进行去重操作,并更新所述顶点列表中每个顶点的顶点下标;
根据所述更新后的顶点列表中的顶点,构建组成所有所述子模型对象的边。
可选的,所述查找单元302具体用于:
将所述所有子模型对象的边合并为边列表;
去掉所述边列表中端点存储顺序相反的边,将所述边列表中剩余的边标记为边界边;
遍历所述边列表中标记为边界边的边,从而得到存在单个邻接三角面的破洞边;其中组成所有所述子模型对象的三角面的边按照顺时针方向存储。
可选的,所述修复单元303具体用于:
将组成所述破洞边的顶点按序进行首尾相连,从而构建出由所述破洞边组成的模型破洞。
可选的,所述修复单元303还具体用于:
将每个Mesh面作为一个子模型对象,添加到所述原始模型上,从而得到所述原始模型对应的新建模型。
可选的,所述终端设备还包括转换单元304,其中:
所述获取单元301,还用于获取组成所述原始模型的所有子模型对象的Mesh面,所述Mesh面包括至少一个三角面;
所述转换单元304,用于对所述Mesh面进行数据结构转换,以将所述Mesh面数据转换为符合预设数据结构的Mesh面。
可选的,所述构建出组成所述模型破洞的至少一个Mesh面之后,所述将每个Mesh面作为一个子模型对象,添加到所述原始模型上之前,
所述转换单元304,还用于对所述至少一个Mesh面进行数据结构转换,以将所述Mesh面转换为支持渲染的数据结构的Mesh面。
通过实施本申请,终端设备获取组成原始模型的所有子模型对象的边,在所有子模型对象的边中查找仅存在单个邻接三角面的破洞边,根据破洞边构建模型破洞并对模型破洞进行修复,得到原始模型所对应的新建模型。本申请适用于以三角面的顶点坐标为数据核心的任意平台的3D模型最小细节判断,不局限适用于U3D平台。采用本申请方案,不仅能解决现有破洞修复方法中存在的模型修复比较复杂,无法适用于存在非流面的3D模型等问题,还能有效提高破洞修复的速度,即本申请的破洞修复速度较快。
请参见图4,是本申请实施例提供的另一种终端设备的结构示意图。如图4所示的终端设备400包括:至少一个输入设备401;至少一个输出设备402;至少一个处理器403,例如CPU;和存储器404,上述输入设备401、输出设备402、处理器403和存储器404通过总线405连接。
其中,上述输入设备401具体可为移动终端的触控面板,包括触摸屏和触控屏,用于检测终端触控面板上的操作指令。
上述输出设备402具体可为移动终端的显示屏,用于输出、显示信息。
上述存储器404可以是高速RAM存储器,也可为非不稳定的存储器(non-volatilememory),例如磁盘存储器。上述存储器404用于存储一组程序代码,上述输入设备401、输出设备402和处理器403用于调用存储器404中存储的程序代码执行相应操作,其中处理器403具体用于执行如下操作:
获取组成原始模型的所有子模型对象的边,所述子模型对象包括三角面;
在所有所述子模型对象的边中,查找存在单个邻接三角面的破洞边;
根据所述破洞边构建模型破洞,并对所述模型破洞进行修复,得到所述原始模型所对应的新建模型。
可选的,所述获取组成原始模型的所有子模型对象的边包括:
将所有所述子模型对象的三角面的顶点及顶点下标汇总到一起,形成顶点列表;其中每个子模型对象包括组成所述三角面的顶点及顶点下标,所述顶点下标用于标识所述顶点下标对应的顶点所在的三角面;
对所述顶点列表中的顶点进行去重操作,并更新所述顶点列表中每个顶点的顶点下标;
根据所述更新后的顶点列表中的顶点,构建组成所有所述子模型对象的边。
可选的,所述在所有所述子模型对象的边中,查找存在单个邻接三角面的破洞边包括:
将所述所有子模型对象的边合并为边列表;
去掉所述边列表中端点存储顺序相反的边,将所述边列表中剩余的边标记为边界边;
遍历所述边列表中标记为边界边的边,从而得到存在单个邻接三角面的破洞边;其中组成所有所述子模型对象的三角面的边按照顺时针方向存储。
可选的,所述根据所述破洞边构建模型破洞包括:
将组成所述破洞边的顶点按序进行首尾相连,从而形成由所述破洞边组成的模型破洞。
可选的,所述对所述模型破洞进行修复包括:
将所述模型破洞划分为至少一个网格Mesh面,从而构建出组成所述模型破洞的至少一个Mesh面;
将每个Mesh面作为一个子模型对象,添加到所述原始模型上,从而得到所述原始模型对应的新建模型。
可选的,所述获取组成原始模型的所有子模型对象的边之前,处理器403还用于执行如下步骤:
获取组成所述原始模型的所有子模型对象的Mesh面,所述Mesh面包括至少一个三角面;
对所述Mesh面进行数据结构转换,以将所述Mesh面数据转换为符合预设数据结构的Mesh面。
可选的,所述构建出组成所述模型破洞的至少一个Mesh面之后,所述将每个Mesh面作为一个子模型对象,添加到所述原始模型上之前,处理器403还用于执行如下步骤:
对所述至少一个Mesh面进行数据结构转换,以将所述Mesh面转换为支持渲染的数据结构的Mesh面。
基于同一发明构思,本申请实施例中提供的终端设备解决问题的原理与本申请方法实施例中控制器解决问题的原理相似,因此各设备的实施可以参见方法的实施,为简洁描述,在这里不再赘述。
需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例终端设备中的模块可以根据实际需要进行合并、划分和删减。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种破洞修复方法,其特征在于,包括:
获取组成原始模型的所有子模型对象的边,所述子模型对象包括三角面;
在所有所述子模型对象的边中,查找存在单个邻接三角面的破洞边;
根据所述破洞边构建模型破洞,并对所述模型破洞进行修复,得到所述原始模型所对应的新建模型。
2.根据权利要求1所述的破洞修复方法,其特征在于,所述获取组成原始模型的所有子模型对象的边包括:
将所有所述子模型对象的三角面的顶点及顶点下标汇总到一起,形成顶点列表;其中每个所述子模型对象包括组成所述三角面的顶点及顶点下标,所述顶点下标用于标识所述顶点下标对应的顶点所在的三角面;
对所述顶点列表中的顶点进行去重操作,并更新所述顶点列表中每个顶点的顶点下标;
根据所述更新后的顶点列表中的顶点,构建组成所有所述子模型对象的边。
3.根据权利要求1所述的破洞修复方法,其特征在于,所述在所有所述子模型对象的边中,查找存在单个邻接三角面的破洞边包括:
将所有所述子模型对象的边合并为边列表;
去掉所述边列表中端点存储顺序相反的边,将所述边列表中剩余的边标记为边界边;
遍历所述边列表中标记为边界边的边,从而得到存在单个邻接三角面的破洞边;其中组成所有所述子模型对象的三角面的边按照顺时针方向存储。
4.根据权利要求1所述的破洞修复方法,其特征在于,所述根据所述破洞边构建模型破洞包括:
将组成所述破洞边的顶点按序进行首尾相连,从而构建出由所述破洞边组成的模型破洞。
5.根据权利要求1-4中任一项所述的破洞修复方法,其特征在于,所述对所述模型破洞进行修复,得到所述原始模型所对应的新建模型包括:
将所述模型破洞划分为至少一个网格Mesh面,从而构建出组成所述模型破洞的至少一个Mesh面;
将每个Mesh面作为一个子模型对象,添加到所述原始模型上,从而得到所述原始模型所对应的新建模型。
6.一种终端设备,其特征在于,包括处理器以及和处理器相连的存储器;其中,所述存储器包括计算机可读指令;所述处理器用于执行所述存储器中的计算机可读指令,从而使得所述终端设备用于执行如下步骤:
获取组成原始模型的所有子模型对象的边,所述子模型对象包括三角面;
在所有所述子模型对象的边中,查找存在单个邻接三角面的破洞边;
根据所述破洞边构建模型破洞,并对所述模型破洞进行修复,得到所述原始模型所对应的新建模型。
7.根据权利要求6所述的终端设备,其特征在于,所述终端设备具体用于执行如下步骤:
将所有所述子模型对象的三角面的顶点及顶点下标汇总到一起,形成顶点列表;其中每个所述子模型对象包括组成所述三角面的顶点及顶点下标,所述顶点下标用于标识所述顶点下标对应的顶点所在的三角面;
对所述顶点列表中的顶点进行去重操作,并更新所述顶点列表中每个顶点的顶点下标;
根据所述更新后的顶点列表中的顶点,构建组成所有所述子模型对象的边。
8.根据权利要求6所述的终端设备,其特征在于,所述终端设备具体用于执行如下步骤:
将所有所述子模型对象的边合并为边列表;
去掉所述边列表中端点存储顺序相反的边,将所述边列表中剩余的边标记为边界边;
遍历所述边列表中标记为边界边的边,从而得到存在单个邻接三角面的破洞边;其中组成所述所有子模型对象的三角面的边按照顺时针方向存储。
9.根据权利要求6所述的终端设备,其特征在于,所述终端设备具体用于执行如下步骤:
将组成所述破洞边的顶点按序进行首尾相连,从而构建出由所述破洞边组成的模型破洞。
10.根据权利要求6-9中任一项所述的终端设备,其特征在于,所述终端设备具体用于执行如下步骤:
将所述模型破洞划分为至少一个网格Mesh面,从而构建出组成所述模型破洞的至少一个Mesh面;
将每个Mesh面作为一个子模型对象,添加到所述原始模型上,从而得到所述原始模型所对应的新建模型。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可读指令,当其在计算机上运行时,使得计算机执行如上权利要求1~5中任一项所述的破洞修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298053.8A CN112419178A (zh) | 2020-11-18 | 2020-11-18 | 破洞修复方法、终端设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011298053.8A CN112419178A (zh) | 2020-11-18 | 2020-11-18 | 破洞修复方法、终端设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112419178A true CN112419178A (zh) | 2021-02-26 |
Family
ID=74774407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011298053.8A Pending CN112419178A (zh) | 2020-11-18 | 2020-11-18 | 破洞修复方法、终端设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112419178A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116071276A (zh) * | 2023-04-07 | 2023-05-05 | 深圳开鸿数字产业发展有限公司 | 基于顶点的三维模型缺口修复方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000045237A2 (en) * | 1999-01-27 | 2000-08-03 | Enbaya Ltd. | Progressive compression of triangular meshes |
CN103617603A (zh) * | 2013-12-06 | 2014-03-05 | 南京大学 | 一种三维数字几何网格模型结构的自动修复方法 |
US20160129638A1 (en) * | 2014-11-12 | 2016-05-12 | International Business Machines Corporation | Method for Repairing with 3D Printing |
CN105788000A (zh) * | 2014-12-16 | 2016-07-20 | 富泰华工业(深圳)有限公司 | 网格补孔方法及系统 |
CN107464286A (zh) * | 2017-06-30 | 2017-12-12 | 百度在线网络技术(北京)有限公司 | 三维城市模型中的孔洞修复方法及装置、设备及可读介质 |
CN107610071A (zh) * | 2017-09-29 | 2018-01-19 | 浙江科澜信息技术有限公司 | 修复倾斜摄影数据空洞的方法、装置以及设备 |
CN109636732A (zh) * | 2018-10-24 | 2019-04-16 | 深圳先进技术研究院 | 一种深度图像的空洞修复方法以及图像处理装置 |
-
2020
- 2020-11-18 CN CN202011298053.8A patent/CN112419178A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000045237A2 (en) * | 1999-01-27 | 2000-08-03 | Enbaya Ltd. | Progressive compression of triangular meshes |
CN103617603A (zh) * | 2013-12-06 | 2014-03-05 | 南京大学 | 一种三维数字几何网格模型结构的自动修复方法 |
US20160129638A1 (en) * | 2014-11-12 | 2016-05-12 | International Business Machines Corporation | Method for Repairing with 3D Printing |
CN105788000A (zh) * | 2014-12-16 | 2016-07-20 | 富泰华工业(深圳)有限公司 | 网格补孔方法及系统 |
CN107464286A (zh) * | 2017-06-30 | 2017-12-12 | 百度在线网络技术(北京)有限公司 | 三维城市模型中的孔洞修复方法及装置、设备及可读介质 |
CN107610071A (zh) * | 2017-09-29 | 2018-01-19 | 浙江科澜信息技术有限公司 | 修复倾斜摄影数据空洞的方法、装置以及设备 |
CN109636732A (zh) * | 2018-10-24 | 2019-04-16 | 深圳先进技术研究院 | 一种深度图像的空洞修复方法以及图像处理装置 |
Non-Patent Citations (1)
Title |
---|
牛旭苗: "一种新的STL文件缺陷的修复方法", 《青岛大学学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116071276A (zh) * | 2023-04-07 | 2023-05-05 | 深圳开鸿数字产业发展有限公司 | 基于顶点的三维模型缺口修复方法、装置、设备及介质 |
CN116071276B (zh) * | 2023-04-07 | 2023-06-16 | 深圳开鸿数字产业发展有限公司 | 基于顶点的三维模型缺口修复方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104346769B (zh) | 三维建模对象的压缩 | |
CN112989482B (zh) | Bim模型数据的生成方法及装置和构建方法及装置 | |
US9177418B1 (en) | System and method for converting computer aided design data into a three dimensional model | |
CN110795835A (zh) | 一种基于自动同步建模的三维工序模型逆向生成方法 | |
CN115601523A (zh) | 建筑信息模型轻量化处理方法、系统、设备及存储介质 | |
CN112419178A (zh) | 破洞修复方法、终端设备及计算机可读存储介质 | |
CN110097581B (zh) | 基于点云配准icp算法构建k-d树的方法 | |
CN114119939A (zh) | 数据轻量化处理方法、装置、存储介质及电子设备 | |
CN111008429B (zh) | 一种基于点云的异构cad几何一致性对比方法 | |
CN112348935B (zh) | 线框渲染方法、终端设备及计算机可读存储介质 | |
CN111985014A (zh) | 一种基于标准图集的建模方法及系统 | |
JP2019106187A (ja) | 有限要素メッシュの修復のためのシステムおよび方法 | |
CN113034663A (zh) | Gim模型轻量化处理方法和装置、设备及存储介质 | |
CN107507279A (zh) | 基于快速凸壳技术的三角网生成方法 | |
CN111179420B (zh) | 一种三维城市模型优化方法及系统 | |
CN101673416B (zh) | 一种划分内燃机活塞六面体网格的方法 | |
CN110532670B (zh) | 一种适分析样条实体模型构建方法及系统 | |
CN113297308A (zh) | 表格结构化信息提取方法、装置及电子设备 | |
CN112402973B (zh) | 模型细节判断方法、终端设备及计算机可读存储介质 | |
CN100464335C (zh) | 微机电系统中三维实体到标准工艺版图的转换方法 | |
CN113808252B (zh) | 基于交互性标签和宏的三维模型逐级重建方法 | |
CN115828398B (zh) | 碎线数据处理方法、装置、设备及存储介质 | |
CN113283147B (zh) | 三维Cohesive单元全局嵌入方法 | |
CN112395658B (zh) | 模型细节判断方法、终端设备及计算机可读存储介质 | |
CN110021059B (zh) | 一种无冗余计算的高效Marching Cubes等值面提取方法与系统 |
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: 20210226 |