Image processing apparatus, image processing method, and storage medium
US-2024428519-A1 · Dec 26, 2024 · US
US9984501B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9984501-B2 |
| Application number | US-201313893198-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 13, 2013 |
| Priority date | May 14, 2012 |
| Publication date | May 29, 2018 |
| Grant date | May 29, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
One embodiment of the present invention sets forth a technique for merging intersecting meshes of primitives. The technique involves determining an intersection boundary that is defined by an intersection between a first mesh of primitives and a second mesh of primitives. The technique further involves determining that a first plurality of primitives included in the first mesh of primitives and a second plurality of primitives included in the second mesh of primitives are proximate to the intersection boundary. The technique further involves removing the first plurality of primitives to form a first mesh boundary associated with the first mesh and removing the second plurality of primitives to form a second mesh boundary associated with the second mesh. Finally, the technique involves connecting a first plurality of vertices associated with the first mesh boundary to a second plurality of vertices associated with the second mesh boundary to form a joined boundary.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for merging intersecting meshes of primitives, the method comprising: determining an intersection boundary that is defined by an intersection between a first mesh of primitives and a second mesh of primitives; determining that a first plurality of primitives included in the first mesh of primitives are proximate to the intersection boundary; determining that a second plurality of primitives included in the second mesh of primitives are proximate to the intersection boundary; performing a first density refinement operation to reduce a first vertex density associated with the first plurality of primitives; performing a second density refinement operation to increase a second vertex density associated with the second plurality of primitives, wherein, after the first density refinement operation and the second density refinement operation are performed, the first vertex density and the second vertex density are substantially equal; removing the first plurality of primitives to form a first mesh boundary associated with the first mesh of primitives; removing the second plurality of primitives to form a second mesh boundary associated with the second mesh of primitives; and connecting a first plurality of vertices associated with the first mesh boundary to a second plurality of vertices associated with the second mesh boundary to form a joined boundary. 2. The method of claim 1 , further comprising: performing a first mesh refinement pass on the first plurality of primitives to produce the first vertex density; and performing a second mesh refinement pass on the second plurality of primitives to produce the second vertex density. 3. The method of claim 1 , wherein connecting the first plurality of vertices to the second plurality of vertices comprises: identifying a first vertex included in the first plurality of vertices and having a first position; identifying a second vertex that is proximate to the first vertex and included in the second plurality of vertices, wherein the second vertex has a second position; multiplying a distance between the first position and the second position by a zippering strength factor to determine a third position, wherein the third position is located in a region between the first position and the second position; and moving the first vertex to the third position. 4. The method of claim 3 , further comprising: projecting the third position onto at least one of a first initial surface of the first mesh of primitives and a second initial surface of the second mesh of primitives to determine a fourth position; and moving the first vertex to the fourth position. 5. The method of claim 3 , wherein determining the third position comprises multiplying a distance between the first position and the second position by the zippering strength factor. 6. The method of claim 1 , further comprising combining a first vertex included in the first plurality of vertices and a second vertex included in the second plurality of vertices to generate a welded vertex. 7. The method of claim 1 , wherein determining the intersection boundary comprises: determining a first portion of the first mesh of primitives that is disposed within an interior volume of the second mesh of primitives; and determining a second portion of the second mesh of primitives that is disposed within an interior volume of the first mesh of primitives. 8. The method of claim 1 , further comprising: removing a third plurality of primitives included in the first mesh, wherein the third plurality of primitives is disposed within an interior volume of the second mesh of primitives; and removing a fourth plurality of primitives included in the second mesh, wherein the fourth plurality of primitives is disposed within an interior volume of the first mesh of primitives. 9. The method of claim 1 , wherein a first graphic object comprises the first mesh of primitives and a second graphic object comprises the second mesh of primitives. 10. A non-transitory computer-readable storage medium including instructions that, when executed by a processing unit, cause the processing unit to merge intersecting meshes of primitives by performing the steps of: determining an intersection boundary that is defined by an intersection between a first mesh of primitives and a second mesh of primitives; determining that a first plurality of primitives included in the first mesh of primitives are proximate to the intersection boundary; determining that a second plurality of primitives included in the second mesh of primitives are proximate to the intersection boundary; performing a first density refinement operation to reduce a first vertex density associated with the first plurality of primitives; performing a second density refinement operation to increase a second vertex density associated with the second plurality of primitives, wherein, after the first density refinement operation and the second density refinement operation are performed, the first vertex density and the second vertex density are substantially equal; removing the first plurality of primitives to form a first mesh boundary associated with the first mesh of primitives; removing the second plurality of primitives to form a second mesh boundary associated with the second mesh of primitives; and connecting a first plurality of vertices associated with the first mesh boundary to a second plurality of vertices associated with the second mesh boundary to form a joined boundary. 11. The non-transitory computer-readable storage medium of claim 10 , further comprising: performing a first mesh refinement pass on the first plurality of primitives to produce the first vertex density; and performing a second mesh refinement pass on the second plurality of primitives to produce the second vertex density. 12. The non-transitory computer-readable storage medium of claim 10 , wherein connecting the first plurality of vertices to the second plurality of vertices comprises: identifying a first vertex included in the first plurality of vertices and having a first position; identifying a second vertex that is proximate to the first vertex and included in the second plurality of vertices, wherein the second vertex has a second position; multiplying a distance between the first position and the second position by a zippering strength factor to determine a third position, wherein the third position is located in a region between the first position and the second position; and moving the first vertex to the third position. 13. The non-transitory computer-readable storage medium of claim 12 , further comprising: projecting the third position onto at least one of a first initial surface of the first mesh of primitives and a second initial surface of the second mesh of primitives to determine a fourth position; and moving the first vertex to the fourth position. 14. The non-transitory computer-readable storage medium of claim 12 , wherein determining the third position comprises multiplying a distance between the first position and the second position by the zippering strength factor. 15. The non-transitory computer-readable storage medium of claim 10 , further comprising combining a first vertex included in the first plurality of vertices and a second vertex included in the second plurality of vertices to generate a welded vertex. 16. The non-transitory computer-readable storage medium of claim 10 , wherein determining the intersection boundary comprises: determining a first portion of the first mesh of pri
Related publications grouped by family.
Answers are generated from the same data shown on this page.