Mesh boundary smoothing

US10424112B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10424112-B2
Application numberUS-201313893196-A
CountryUS
Kind codeB2
Filing dateMay 13, 2013
Priority dateMay 14, 2012
Publication dateSep 24, 2019
Grant dateSep 24, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 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. The method of claim 1 , wherein determining the fourth location is further based on a smoothing strength factor. 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. The method of claim 1 , wherein the mesh boundary comprises a closed loop of triangle edges. 5. The method of claim 1 , wherein the second vertex and third vertex are associated with the mesh boundary. 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. 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. 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. The non-transitory computer-readable storage medium of claim 8 , wherein determining the fourth location is further based on a smoothing strength factor. 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. The non-transitory computer-readable storage medium of claim 8 , wherein the mesh boundary comprises a closed loop of triangle edges. 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. 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. 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. 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. 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. A non-transitory computer-readable storage medium includin

Assignees

Inventors

Classifications

  • G06T17/20Primary

    Finite element generation, e.g. wire-frame surface description, {tesselation} · CPC title

  • Editing of three-dimensional [3D] images, e.g. changing shapes or colours, aligning objects or positioning parts · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10424112B2 cover?
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 ha…
Who is the assignee on this patent?
Autodesk Inc
What technology area does this patent fall under?
Primary CPC classification G06T17/20. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 24 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).