Artistic simulation of curly hair
US-9449417-B1 · Sep 20, 2016 · US
US11449649B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11449649-B2 |
| Application number | US-201916252595-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 19, 2019 |
| Priority date | Dec 3, 2013 |
| Publication date | Sep 20, 2022 |
| Grant date | Sep 20, 2022 |
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.
In one embodiment of the present invention, a position-based dynamics (PBD) framework provides realistic modeling and simulation for elastic rods. In particular, the twisting and bending physics of elastic rods is incorporated into the PBD framework. In operation, an elastic rod model generator represents the center line of an elastic rod as a polyline of points connected via edges. For each edge, the elastic rod model generator adds a ghost point to define the orientation of a material frame that encodes the twist of the edge. Subsequently, a PBD simulator solves for positions of both points and ghost points that, together, represent the evolving position and torsion of the elastic rod. Advantageously, the ghost points enable more realistic animation of deformable objects (e.g., curly hair) than conventional PBD frameworks. Further, unlike force based methods, elastic rod simulation in the PBD framework performs acceptably in environments where speed is critical.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for simulating an elastic rod in a graphics application, the method comprising: generating a polyline that represents a center line associated with the elastic rod as a series of edges and points; for each edge of the polyline, associating a ghost point with the edge, wherein the ghost point has coordinates that define an orientation of a material frame that encodes a torsion associated with the edge; and computing new positions of the points and the ghost points after a time interval. 2. The computer-implemented method of claim 1 , wherein, for a first edge of the polyline, associating the ghost point comprises: defining a first perpendicular bisector of the first edge, wherein the first perpendicular bisector represents the first edge in a rest state; computing a second perpendicular bisector of the first edge at an angle to the first perpendicular bisector, wherein the angle corresponds to the torsion of the first edge; and setting the coordinates of the ghost point to specify the angle. 3. The computer-implemented method of claim 2 , wherein, for the first edge of the polyline, associating the ghost point further comprises setting a distance of the ghost point from the first edge based on a strength of a bending resistance associated with a portion of the elastic rod corresponding to the first edge. 4. The computer-implemented method of claim 2 , wherein computing the second perpendicular bisector comprises computing a cross-product to determine a bisector. 5. The computer-implemented method of claim 1 , wherein computing the new positions comprises: determining a first material frame based on a first ghost point and a second material frame based on a second ghost point, wherein both the first material frame and the second material frame track the motion of the center line over time; and determining a bending and twisting energy from a rate-of-change of the position of the center line between the first material frame and the second material frame. 6. The computer-implemented method of claim 5 , wherein determining the bending and twisting energy comprises: calculating a Darboux vector by performing an interpolation between the first material frame and the second material frame; and applying the Darboux vector to determine the bending and twisting energy without computing any trigonometric functions. 7. The computer-implemented method of claim 1 , wherein computing the new positions comprises applying one or more constraints in a bi-directional interleaving order. 8. The computer-implemented method of claim 7 , wherein the one or more constraints include a coupling between a first point and one of a frame, a triangle, and a rigid body. 9. The computer-implemented method of claim 8 , further comprising generating a three-dimensional model for three-dimensional printing based on the new positions of the points of the polyline. 10. One or more non-transitory computer-readable storage media including instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of: generating a polyline that represents an elastic rod as a series of edges and points; for each edge of the polyline, associating a ghost point with the edge, wherein the ghost point has coordinates that define an orientation of a material frame that encodes a torsion associated with the edge; and computing new positions of the ghost points and at least one point of the polyline after a time interval. 11. The one or more non-transitory computer-readable storage media of claim 10 , wherein, for a first edge of the polyline, associating the ghost point comprises: defining a first perpendicular bisector of the first edge, wherein the first perpendicular bisector represents the first edge in a rest state; computing a second perpendicular bisector of the first edge at an angle to the first perpendicular bisector, wherein the angle corresponds to the torsion of the first edge; and setting the coordinates of the ghost point to specify the angle. 12. The one or more non-transitory computer-readable storage media of claim 11 , wherein, for the first edge of the polyline, associating the ghost point further comprises setting a distance of the ghost point from the first edge based on a strength of a bending resistance associated with a portion of the elastic rod corresponding to the first edge. 13. The one or more non-transitory computer-readable storage media of claim 11 , wherein computing the second perpendicular bisector comprises computing a cross-product to determine a bisector. 14. The one or more non-transitory computer-readable storage media of claim 10 , wherein the polyline represents a center line of the elastic rod, wherein computing the new positions comprises: determining a first material frame based on a first ghost point and a second material frame based on a second ghost point, wherein both the first material frame and the second material frame track the motion of the center line over time; and determining a bending and twisting energy from a rate-of-change of the position of the center line between the first material frame and the second material frame. 15. The one or more non-transitory computer-readable storage media of claim 14 , wherein determining the bending and twisting energy comprises: calculating a Darboux vector by performing an interpolation between the first material frame and the second material frame; and applying the Darboux vector to determine the bending and twisting energy without computing any trigonometric functions. 16. The one or more non-transitory computer-readable storage media of claim 10 , wherein computing the new positions comprises applying one or more constraints in a bi-directional interleaving order. 17. The one or more non-transitory computer-readable storage media of claim 16 , wherein the one or more constraints include a coupling between a first point and one of a frame, a triangle, and a rigid body. 18. The one or more non-transitory computer-readable storage media of claim 17 , further comprising generating a three-dimensional model for three-dimensional printing based on the new position of the at least one point of the polyline. 19. A system, comprising: one or more memories storing instructions; one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to: generate a polyline that represents an elastic rod as a series of edges; for each edge of the polyline, associate a ghost point with the edge, wherein the ghost point has coordinates that define an orientation of a material frame; and compute new positions of the ghost points after a time interval; and a display device coupled to the one or more processors and configured to display the elastic rod. 20. The system of claim 19 , wherein: the polyline represents a center line of the elastic rod; and the ghost point has coordinates that define the orientation of the material frame that encodes a torsion associated with the edge.
Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game (A63F13/56 takes precedence) · CPC title
Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30) · CPC title
Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.