Artistic simulation of curly hair
US-9449417-B1 · Sep 20, 2016 · US
US10185789B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10185789-B2 |
| Application number | US-201414544157-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 2, 2014 |
| Priority date | Dec 3, 2013 |
| Publication date | Jan 22, 2019 |
| Grant date | Jan 22, 2019 |
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 connecting at least two of the points 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 a first edge of the polyline, adding the ghost point further comprises setting the distance of the ghost point from the first edge based on the 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 establishing the second perpendicular bisector comprises computing a cross-product to determine a bisector. 5. The computer-implemented method of claim 1 , wherein computing 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 frames 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 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. A computer-readable storage medium including instructions that, when executed by a processing unit, cause the processing unit to simulate an elastic rod in a graphics application by performing the steps of: 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 connecting at least two of the points 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. 11. The computer-readable storage medium 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 computer-readable storage medium of claim 11 , wherein, for a first edge of the polyline, adding the ghost point further comprises setting the distance of the ghost point from the first edge based on the strength of a bending resistance associated with a portion of the elastic rod corresponding to the first edge. 13. The computer-readable storage medium of claim 11 , wherein establishing the second perpendicular bisector comprises computing a cross-product to determine a bisector. 14. The computer-readable storage medium of claim 10 , wherein computing 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 frames 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 computer-readable storage medium 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 computer-readable storage medium of claim 10 , wherein computing comprises applying one or more constraints in a bi-directional interleaving order. 17. The computer-readable storage medium 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 computer-readable storage medium of claim 17 , further comprising generating a three-dimensional model for three-dimensional printing based on the new positions of the points of the polyline. 19. A system configured to simulate an elastic rod in a graphics application, the system comprising: a processing unit configured to: generate 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 connecting at least two of the points of the polyline, associate 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 compute new positions of the points and the ghost points after a time interval; and a display device coupled to the processing unit and configured to display the elastic rod. 20. The system of claim 19 , 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.
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
Physics · mapped topic
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.