Material recognition for object identification
US-9691161-B1 · Jun 27, 2017 · US
US9953460B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9953460-B2 |
| Application number | US-201615182267-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 14, 2016 |
| Priority date | Nov 14, 2013 |
| Publication date | Apr 24, 2018 |
| Grant date | Apr 24, 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.
Techniques for three-dimensional garment simulation using parallel computing are presented herein. An access module can be configured to access a three-dimensional garment model of a garment. The garment model can include garment points that represent a surface of the garment. A processor, having a plurality of cores, can be configured by a garment simulation module to calculate one or more exerted forces on a subset of garment points. Additionally, the garment simulation module can generate cross pairs and apportion the generated cross pairs among the plurality of cores. Moreover, the garment simulation module can determine, using the plurality of vector execution units in parallel based on an organized data layout, whether boundaries of the first subgroup of cross pairs are overlapping based on the one or more exerted forces. Subsequently, the garment simulation module can calculate one or more simulated forces acting on the garment points based on the determination.
Opening claim text (preview).
What is claimed is: 1. A system comprising: a processor comprising a plurality of cores and a plurality of vector execution units; and a machine-readable storage medium, coupled with the processor, the machine-readable storage medium comprising instructions that, when executed by the processor, cause the system to perform operations comprising: accessing, from a database, a three-dimensional garment model of a garment, the three-dimensional garment model including garment points that represent a surface of the garment; organizing a data layout associated with the garment points for parallel computing, based on the plurality of vector execution units, to map the data layout for vector execution; determining, using the plurality of vector execution units in parallel, an exerted force on a subset of garment points based on the organized data layout; calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force wherein calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force further comprises detecting and resolving a collision using the plurality of cores and the plurality of vector execution units in parallel by: generating a first hierarchical acceleration data structure having a first set of nodes associated with the subset of garment points; generating a second hierarchical acceleration data structure having a second set of nodes associated with the subset of garment points; generating cross pairs by intersecting the first set of nodes with the second set of nodes; distributing the cross pairs across the plurality of cores; performing, using the plurality of vector execution units in parallel, an overlap test for the generated cross pairs; detecting a collision based on the overlap test for the generated cross pairs; and resolving the detected collision; and generating an image of the three-dimensional garment model draped on a three-dimensional body model based on the calculated one or more simulated forces. 2. The system of claim 1 , wherein the data layout is organized based on a number of vector execution units in the plurality of vector execution units. 3. The system of claim 2 , the operations further comprising: arranging the exerted force associated with the subset of garment points into a structure-of-array format. 4. The system of claim 2 , the operations further comprising: consecutively numbering left indices of edges corresponding to the subset of the garment points based on the number of vector execution units; and consecutively numbering right indices of the edges corresponding to the subset of the garment points based on the number of vector execution units. 5. The system of claim 1 , wherein the one or more simulated forces is calculated using the plurality of cores in parallel. 6. The system of claim 1 , wherein each core in the plurality of cores includes a plurality of vector execution units. 7. The system of claim 1 , the operations further comprising: causing a presentation, on a display of a device, of the generated image of the three-dimensional garment draped on the three-dimensional body model. 8. A method comprising: accessing, from a database, a three-dimensional garment model of a garment, the three-dimensional garment model including garment points that represent a surface of the garment; organizing a data layout associated with the garment points for parallel computing, based on a plurality of vector execution units, to map the data layout for vector execution; determining, using the plurality of vector execution units in parallel, an exerted force on a subset of garment points based on the organized data layout; calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force wherein calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force further comprises detecting and resolving a collision using the plurality of cores and the plurality of vector execution units in parallel by: generating a first hierarchical acceleration data structure having a first set of nodes associated with the subset of garment points; generating a second hierarchical acceleration data structure having a second set of nodes associated with the subset of garment points; generating cross pairs by intersecting the first set of nodes with the second set of nodes; distributing the cross pairs across the plurality of cores; performing, using the plurality of vector execution units in parallel, an overlap test for the generated cross pairs; detecting a collision based on the overlap test for the generated cross pairs; and resolving the detected collision; and generating an image of the three-dimensional garment model draped on a three-dimensional body model based on the calculated one or more simulated forces. 9. The method of claim 8 , wherein the data layout is organized based on a number of vector execution units in the plurality of vector execution units. 10. The method of claim 9 , further comprising: arranging the exerted force associated with the subset of garment points into a structure-of-array format. 11. The method of claim 9 , further comprising: consecutively number left indices of edges corresponding to the subset of the garment points based on the number of vector execution units; and consecutively number right indices of the edges corresponding to the subset of the garment points based on the number of vector execution units. 12. The method of claim 8 , wherein the one or more simulated forces is calculated using the plurality of cores in parallel. 13. The method of claim 8 , wherein each core in the plurality of cores includes a plurality of vector execution units. 14. The method of claim 8 , wherein the plurality of vector execution units is a single instruction multiple data (SIMD). 15. A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more processors of a machine, cause the machine to perform operations comprising: accessing, from a database, a three-dimensional garment model of a garment, the three-dimensional garment model including garment points that represent a surface of the garment; and organizing a data layout associated with the garment points for parallel computing, based on the plurality of vector execution units, to map the data layout for vector execution; determining, using a plurality of vector execution units in parallel, an exerted force on a subset of garment points based on the organized data layout; calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force wherein calculating one or more simulated forces acting on the subset of garment points based on the determined exerted force further comprises detecting and resolving a collision using the plurality of cores and the plurality of vector execution units in parallel by: generating a first hierarchical acceleration data structure having a first set of nodes associated with the subset of garment points; generating a second hierarchical acceleration data structure having a second set of nodes associated with the subset of garment points; generating cross pairs by intersecting the first set of nodes with the second set of nodes; distributing the cross pairs across the plurality of cores; performing, using the plurality of vector execution units in parallel, an overlap test for the generated cross pairs; detecting a collision based on
Validation; Performance evaluation; Active pattern learning techniques · CPC title
CAD in a network environment, e.g. collaborative CAD or distributed simulation · CPC title
Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title
Cloth · CPC title
General purpose rendering architectures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.