Method and system for repairing triangulated surface meshes
First Claim
1. A method of using one or more computer processors running on one or more computer system to repair a surface mesh model including a plurality of triangular facets, the method comprising:
- obtaining a surface mesh model for a three dimensional object comprising a plurality of triangular facets, each of the facets being defined by three edges that connect three vertices;
identifying a hole in the surface mesh model, the hole being defined by a plurality of hole edges;
determining a plurality of hole vertices that define the plurality of hole edges that define the hole;
filling the hole using a plurality of triangular facets, comprising;
selecting a pair of the hole vertices, wherein the selected pair of the hole vertices is not connected by a hole edge;
defining a fabricated edge connecting the selected pair of the hole vertices; and
checking to see if one or more triangles are formed using the newly defined fabricated edge, and if so, defining the newly formed one or more triangles as one or more new triangular facets, and adding the one or more new triangular facets to the plurality of triangular facets of the surface mesh model.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of repairing a three dimensional surface mesh model to be watertight and manifold generally includes identifying a plurality of hole edges in the surface mesh model, selecting one of the hole edges, creating a cycle of hole edges that defines a hole in the surface mesh model, converting the cycle of hole edges into two or more cycles of exactly three edges each, and adding a triangular facet to the surface mesh model for each of the cycles of exactly three edges. The process may be repeated until the model is substantially watertight. Non-manifold vertices may be repaired by selecting a vertex of the model, identifying a number of independent cycles of triangular facets sharing the selected vertex, and redefining the selected vertex for at least all but one of the number of independent cycles. This process may be repeated until the model is manifold.
-
Citations
46 Claims
-
1. A method of using one or more computer processors running on one or more computer system to repair a surface mesh model including a plurality of triangular facets, the method comprising:
-
obtaining a surface mesh model for a three dimensional object comprising a plurality of triangular facets, each of the facets being defined by three edges that connect three vertices; identifying a hole in the surface mesh model, the hole being defined by a plurality of hole edges; determining a plurality of hole vertices that define the plurality of hole edges that define the hole; filling the hole using a plurality of triangular facets, comprising; selecting a pair of the hole vertices, wherein the selected pair of the hole vertices is not connected by a hole edge; defining a fabricated edge connecting the selected pair of the hole vertices; and checking to see if one or more triangles are formed using the newly defined fabricated edge, and if so, defining the newly formed one or more triangles as one or more new triangular facets, and adding the one or more new triangular facets to the plurality of triangular facets of the surface mesh model. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of using one or more computer processors running on one or more computer system to repair a surface mesh model including a plurality of triangular facets, the method comprising:
-
obtaining a three dimensional surface mesh model for a three dimensional object comprising a plurality of triangular facets, each of the triangular facets being defined by three edges that connect three vertices; identifying a plurality of hole edges in the surface mesh model; selecting one of the plurality of hole edges; creating a cycle of hole edges that define a hole in the surface mesh model, wherein the cycle of hole edges includes the selected one of the plurality of hole edges; converting the cycle of hole edges into two or more cycles of exactly three edges, each of the two or more cycles of exactly three edges including at least one of the plurality of hole edges, thereby defining a plurality of hole-filling triangles; and
adding a triangular facet to the surface mesh model for each of the plurality of hole-filling triangles. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method of using one or more computer processors running on one or more computer system to repair a surface mesh model of a three dimensional object including a plurality of triangular facets to be substantially both watertight and manifold, the method comprising:
-
a) identifying a plurality of hole edges in the surface mesh model; b) arranging the plurality of hole edges in an edge queue from a highest priority hole edge to a lowest priority hole edge, wherein a hole edge having a triangle count less than two has a higher priority than a hole edge having a triangle count greater than two; c) selecting the highest priority hole edge within the edge queue; d) determining a cycle of hole edges including the selected hole edge; e) converting the cycle of hole edges to one or more fabricated triangular facets; and f) adding the one or more fabricated triangular facets to the surface mesh model. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A method of using one or more computer processors running on one or more computer system to repair a surface mesh model of a three dimensional object including a plurality of triangular facets, the method comprising:
-
creating a cycle of hole edges having s edges, wherein s is greater than or equal to three, the cycle of hole edges defining a hole in the surface mesh model; defining n fabricated edges connecting non-neighboring vertices of the cycle of hole edges, wherein n=s−
3, such that the hole in the surface mesh model is defined by (n+1) cycles of exactly three edges each; andadding a triangular facet to the surface mesh model for each of the (n+1) cycles of exactly three hole edges defining the hole in the surface mesh model. - View Dependent Claims (36)
-
-
37. A method of using one or more computer processors running on one or more computer system to repair a surface mesh model including a plurality of triangular facets, the method comprising:
-
obtaining a three dimensional surface mesh model of a three dimensional object comprising a plurality of triangular facets, each of the triangular facets being defined by three edges that connect three vertices; selecting a vertex of one of the plurality of triangular facets; identifying a subset of the plurality of triangular facets including the selected vertex; creating a cycle of triangular facets from the subset of the plurality of triangular facets; and redefining the selected vertex for all triangular facets in the cycle of triangular facets if every triangular facet within the subset of the plurality of triangular facets is not included in the cycle of triangular facets. - View Dependent Claims (38, 39, 40)
-
-
41. A system for repairing a surface mesh model for a three dimensional object, the surface mesh model including a plurality of triangular facets, the system comprising:
-
a hole identification processor configured to identify a cycle of hole edges that defines a hole in the surface mesh model, the cycle of hole edges being defined by three or more vertices; and a facet fabrication processor configured to fabricate one or more triangular facets that fill the hole in the surface mesh model by interconnecting the three or more vertices of the cycle of hole edges. - View Dependent Claims (42, 43, 44, 45, 46)
-
Specification