Patentable/Patents/US-10424112
US-10424112

Mesh boundary smoothing

PublishedSeptember 24, 2019
Assigneenot available in USPTO data we have
Inventorsnot available in USPTO data we have
Technical Abstract

One embodiment of the present invention sets forth a technique for smoothing boundaries associated with meshes of primitives. The technique involves receiving a mesh of primitives that has a mesh boundary and an initial surface, identifying a first vertex associated with the mesh boundary and having a first location, and identifying a second vertex having a second location and a third vertex having a third location. Both the second vertex and third vertex are proximate to the first vertex. The technique further involves determining a fourth location based on the second location and the third location, projecting the fourth location onto the initial surface to determine a fifth location, and moving the first vertex to the fifth location.

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computer-implemented method for smoothing boundaries associated with meshes of primitives, the method comprising: receiving a mesh of primitives that has a mesh boundary and a three-dimensional initial surface that represents a three-dimensional surface of the mesh of primitives prior to performing a boundary smoothing operation; performing one or more iterations of the boundary smoothing operation on the mesh boundary, wherein each iteration includes: identifying a first vertex associated with the mesh boundary and having a first location, identifying a second vertex having a second location and a third vertex having a third location, wherein both the second vertex and third vertex are proximate to the first vertex, determining a fourth location based on the second location and the third location, and moving the first vertex to the fourth location; determining an inflation direction that is substantially perpendicular to the mesh boundary at the fourth location; determining a fifth location based on the inflation direction, the fourth location, and an inflation distance that is equal to a distance between the first location and the fourth location; and moving the first vertex from the fourth location to the fifth location.

2

2. The method of claim 1 , wherein determining the fourth location is further based on a smoothing strength factor.

3

3. The method of claim 2 , wherein determining the fourth location comprises: determining an average location based on the second location and the third location; determining a first distance between the average location and the first location; multiplying the first distance by the smoothing strength factor to determine a weighted distance; and adding the weighted distance to the first location to determine the fourth location.

4

4. The method of claim 1 , wherein the mesh boundary comprises a closed loop of triangle edges.

5

5. The method of claim 1 , wherein the second vertex and third vertex are associated with the mesh boundary.

6

6. The method of claim 1 , further comprising performing a mesh refinement pass on a plurality of primitives that are proximate to the mesh boundary.

7

7. The method of claim 1 , further comprising: performing a smoothing operation on a plurality of vertices proximate to the mesh boundary to determine a first plurality of smoothed locations; performing a three-dimensional projection operation to project the first plurality of smoothed locations onto the three-dimensional initial surface of the mesh of primitives to determine a second plurality of smoothed locations; and moving the plurality of vertices to the second plurality of smoothed locations.

8

8. A non-transitory computer-readable storage medium including instructions that, when executed by a processor, cause the processor to smooth boundaries associated with meshes of primitives by performing the steps of: receiving a mesh of primitives that has a mesh boundary and a three-dimensional initial surface that represents a three-dimensional surface of the mesh of primitives prior to performing a boundary smoothing operation; performing one or more iterations of the boundary smoothing operation on the mesh boundary, wherein each iteration includes: identifying a first vertex associated with the mesh boundary and having a first location, identifying a second vertex having a second location and a third vertex having a third location, wherein both the second vertex and third vertex are proximate to the first vertex, determining a fourth location based on the second location and the third location, and moving the first vertex to the fourth location; determining an inflation direction that is substantially perpendicular to the mesh boundary at the fourth location; determining a fifth location based on the inflation direction, the fourth location, and an inflation distance that is equal to a distance between the first location and the fourth location; and moving the first vertex from the fourth location to the fifth location.

9

9. The non-transitory computer-readable storage medium of claim 8 , wherein determining the fourth location is further based on a smoothing strength factor.

10

10. The non-transitory computer-readable storage medium of claim 9 , wherein determining the fourth location comprises: determining an average location based on the second location and the third location; determining a first distance between the average location and the first location; multiplying the first distance by the smoothing strength factor to determine a weighted distance; and adding the weighted distance to the first location to determine the fourth location.

11

11. The non-transitory computer-readable storage medium of claim 8 , wherein the mesh boundary comprises a closed loop of triangle edges.

12

12. The non-transitory computer-readable storage medium of claim 8 , wherein the second vertex and third vertex are associated with the mesh boundary.

13

13. The non-transitory computer-readable storage medium of claim 8 , further comprising performing a mesh refinement pass on a plurality of primitives that are proximate to the mesh boundary.

14

14. The non-transitory computer-readable storage medium of claim 8 , further comprising: performing a smoothing operation on a plurality of vertices proximate to the mesh boundary to determine a first plurality of smoothed locations; performing a three-dimensional projection operation to project the first plurality of smoothed locations onto the three-dimensional initial surface of the mesh of primitives to determine a second plurality of smoothed locations; and moving the plurality of vertices to the second plurality of smoothed locations.

15

15. A computing device, comprising: a memory including instructions; and a processor that is coupled to the memory and, when executing the instructions, is configured to smooth boundaries associated with meshes of primitives by: receiving a mesh of primitives that has a mesh boundary and a three-dimensional initial surface that represents a three-dimensional surface of the mesh of primitives prior to performing a boundary smoothing operation; performing one or more iterations of the boundary smoothing operation on the mesh boundary, wherein each iteration includes: identifying a first vertex associated with the mesh boundary and having a first location, identifying a second vertex having a second location and a third vertex having a third location, wherein both the second vertex and third vertex are proximate to the first vertex, determining a fourth location based on the second location and the third location, and moving the first vertex to the fourth location; determining an inflation direction that is substantially perpendicular to the mesh boundary at the fourth location; determining a fifth location based on the inflation direction, the fourth location, and an inflation distance that is equal to a distance between the first location and the fourth location; and moving the first vertex from the fourth location to the fifth location.

16

16. The computing device of claim 15 , wherein determining the fourth location comprises: determining an average location based on the second location and the third location; determining a first distance between the average location and the first location; multiplying the first distance by a smoothing strength factor to determine a weighted distance; and adding the weighted distance to the first location to determine the fourth location.

17

17. A non-transitory computer-readable storage medium including instructions that, when executed by a processor, cause the processor to perform the steps of: receiving a mesh of primitives that has a mesh boundary and a three-dimensional initial surface that represents a three-dimensional surface of the mesh of primitives prior to performing a boundary smoothing operation; identifying a first vertex associated with the mesh boundary and having a first location; identifying a second vertex having a second location and a third vertex having a third location, wherein both the second vertex and third vertex are proximate to the first vertex; determining a fourth location based on the second location and the third location; moving the first vertex to the fourth location; determining an inflation direction that is substantially perpendicular to the mesh boundary at the fourth location; determining a fifth location based on the inflation direction, the fourth location, and an inflation distance that is equal to a distance between the first location and the fourth location; and moving the first vertex from the fourth location to the fifth location.

Classification Codes (CPC)

Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.

Patent Metadata

Filing Date

May 13, 2013

Publication Date

September 24, 2019

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Mesh boundary smoothing” (US-10424112). https://patentable.app/patents/US-10424112

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.