IP Library Granted Patent US 7,791,606
Granted Patent B2
US 7,791,606 · App. 11/408,811 · Granted Sep 7, 2010

Goal-directed cloth simulation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,791,606
App. No.
11/408,811
Granted
Sep 7, 2010
Kind
B2
Abstract

A method of simulating a cloth includes: determining a first shape for the cloth at a first time; determining a first goal shape for the cloth at the first time; determining a first goal-directed force for the cloth at the first time from the first shape and the first goal shape, wherein the first goal directed force includes a component that measures a difference between the first shape and the first goal shape; and determining a second shape for the cloth at a second time from the first shape and the first goal-directed force by dynamically advancing the cloth from the first time to the second time.

Claims (77)

1. A computer-implemented method of animating a cloth, implemented by a computer, wherein the computer comprises a processor, the method comprising:

obtaining, using a processor, a first shape for the cloth at a first time;

obtaining, using the processor, a first goal shape for the cloth at the first time, wherein the first goal shape is specified by a user using a plurality of goal shape control points, and wherein the first shape and the first goal shapes have different shapes;

determining, using the processor, a first goal-directed force for the cloth at the first time from the first shape and the first goal shape, wherein the first goal-directed force includes a component that measures a difference between the first shape and the first goal shape; and

determining, using the processor, a second shape for the cloth at a second time from the first shape and the first goal-directed force by dynamically advancing the cloth from the first time to the second time.

2. The computer-implemented method of claim 1 , wherein obtaining the first shape includes specifying values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the specified values at the control points.

3. The computer-implemented method of claim 1 , wherein obtaining the first goal shape for the cloth at the first time includes:

defining a lattice for controlling values for the plurality of goal shape control points of the cloth, wherein an interpolation of the values for the goal shape control points defines a corresponding goal shape for the cloth; and

prescribing first lattice values of the lattice for specifying the first goal shape.

4. The computer-implemented method of claim 1 , wherein obtaining the first goal-directed force for the cloth includes multiplying at least one component of the difference between the first shape and the first goal shape by at least one stiffness value.

5. The computer-implemented method of claim 4 , wherein

obtaining the first shape for the cloth includes determining a first velocity for the cloth;

obtaining the first goal shape for the cloth includes determining a first goal velocity for the cloth; and

determining the first goal-directed force for the cloth includes multiplying at least one component of a difference between the first velocity for the cloth and the first goal velocity for the cloth by at least one damping value.

6. The computer-implemented method of claim 1 , wherein dynamically advancing the cloth from the first time to the second time includes calculating dynamic trajectories from the first time to the second time for a plurality control points for the cloth.

7. The computer-implemented method of claim 1 , wherein

obtaining the first shape for the cloth includes calculating a plurality of values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the values for the first shape at the control points;

obtaining the first goal shape for the cloth includes calculating a plurality of values for the first goal shape at the control points, wherein the first goal shape includes an interpolation of the values for the first goal shape at the control points; and

determining a second shape for the cloth includes calculating a plurality of values for the second shape at the control points, wherein the second shape includes an interpolation of the values for the second shape at the control points.

8. The computer-implemented method of claim 1 , further comprising:

obtaining a second goal shape for the cloth at the second time;

determining a second goal-directed force for the cloth at the second time from the second shape and the second goal shape, wherein the second goal-directed force includes a component that measures a difference between the second shape and the second goal shape; and

determining a third shape for the cloth at a third time from the second shape and the second goal-directed force by animating the cloth from the second time to the third time.

9. The computer-implemented method of claim 1 , further comprising:

determining a sequence of animation frames, including a first animation frame that includes values from the first shape for the cloth and a second animation frame that includes values from the second shape for the cloth.

10. An apparatus for animating a cloth, the apparatus comprising:

a computer processor for executing computer instructions; and

a computer-readable storage medium having stored thereon instructions for:

obtaining a first shape for the cloth at a first time;

obtaining a first goal shape for the cloth at the first time, wherein the first goal shape is specified by a user using a plurality of goal shape control points, and wherein the first shape and the first goal shapes have different shapes;

determining a first goal-directed force for the cloth at the first time from the first shape and the first goal shape, wherein the first goal-directed force includes a component that measures a difference between the first shape and the first goal shape; and

determining a second shape for the cloth at a second time from the first shape and the first goal-directed force by dynamically advancing the cloth from the first time to the second time.

11. The apparatus of claim 10 , wherein instructions for obtaining the first shape includes specifying values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the specified values at the control points.

12. The apparatus of claim 10 , wherein instructions for obtaining a first goal shape for the cloth at the first time includes:

defining a lattice for controlling values for the plurality of goal shape control points of the cloth, wherein an interpolation of the values for the goal shape control points defines a corresponding goal shape for the cloth; and

prescribing first lattice values of the lattice for specifying the first goal shape.

13. The apparatus of claim 10 , wherein instructions for obtaining the first goal-directed force for the cloth includes multiplying at least one component of the difference between the first shape and the first goal shape by at least one stiffness value.

14. The apparatus of claim 13 , wherein

instructions for obtaining the first shape for the cloth includes determining a first velocity for the cloth;

instructions for obtaining the first goal shape for the cloth includes determining a first goal velocity for the cloth; and

instructions for determining the first goal-directed force for the cloth includes multiplying at least one component of a difference between the first velocity for the cloth and the first goal velocity for the cloth by at least one damping value.

15. The apparatus of claim 10 , wherein dynamically advancing the cloth from the first time to the second time includes calculating dynamic trajectories from the first time to the second time for a plurality control points for the cloth.

16. The apparatus of claim 10 , wherein

instructions for obtaining the first shape for the cloth includes calculating a plurality of values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the values for the first shape at the control points;

instructions for obtaining a first goal shape for the cloth includes calculating a plurality of values for the first goal shape at the control points, wherein the first goal shape includes an interpolation of the values for the first goal shape at the control points; and

instructions for determining a second shape for the cloth includes calculating a plurality of values for the second shape at the control points, wherein the second shape includes an interpolation of the values for the second shape at the control points.

17. The apparatus of claim 10 , further comprising instructions for:

obtaining a second goal shape for the cloth at the second time;

obtaining a second goal-directed force for the cloth at the second time from the second shape and the second goal shape, wherein the second goal-directed force includes a component that measures a difference between the second shape and the second goal shape; and

determining a third shape for the cloth at a third time from the second shape and the second goal-directed force by animating the cloth from the second time to the third time.

18. The apparatus of claim 10 , further comprising instructions for:

determining a sequence of animation frames, including a first animation frame that includes values from the first shape for the cloth and a second animation frame that includes values from the second shape for the cloth.

19. A non-transitory computer-readable storage medium that stores a computer program for animating a cloth, wherein the computer program includes computer-executable instructions for:

obtaining a first shape for the cloth at a first time;

obtaining a first goal shape for the cloth at the first time, wherein the first goal shape is specified by a user using a plurality of goal shape control points, and wherein the first shape and the first goal shapes have different shapes;

determining a first goal-directed force for the cloth at the first time from the first shape and the first goal shape, wherein the first goal directed force includes a component that measures a difference between the first shape and the first goal shape; and

determining a second shape for the cloth at a second time from the first shape and the first goal-directed force by dynamically advancing the cloth from the first time to the second time.

20. The non-transitory computer-readable storage medium as claimed in claim 19 , wherein instructions for obtaining the first shape includes specifying values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the specified values at the control points.

21. The non-transitory computer-readable storage medium as claimed in claim 19 , wherein instructions for obtaining a first goal shape for the cloth at the first time includes:

defining a lattice for controlling values for the plurality of goal shape control points of the cloth, wherein an interpolation of the values for the goal shape control points defines a corresponding goal shape for the cloth; and

prescribing first lattice values of the lattice for specifying the first goal shape.

22. The non-transitory computer-readable storage medium as claimed in claim 19 , wherein instructions for determining the first goal-directed force for the cloth includes multiplying at least one component of the difference between the first shape and the first goal shape by at least one stiffness value.

23. The non-transitory computer-readable storage medium as claimed in claim 22 , wherein

instructions for obtaining the first shape for the cloth includes determining a first velocity for the cloth;

instructions for obtaining the first goal shape for the cloth includes determining a first goal velocity for the cloth; and

instructions for determining the first goal-directed force for the cloth includes multiplying at least one component of a difference between the first velocity for the cloth and the first goal velocity for the cloth by at least one damping value.

24. The non-transitory computer-readable storage medium as claimed in claim 19 , wherein dynamically advancing the cloth from the first time to the second time includes calculating dynamic trajectories from the first time to the second time for a plurality control points for the cloth.

25. The non-transitory computer-readable storage medium as claimed in claim 19 , wherein

instructions for obtaining the first shape for the cloth includes calculating a plurality of values for the first shape at a plurality of control points for the cloth, wherein the first shape includes an interpolation of the values for the first shape at the control points;

instructions for obtaining the first goal shape for the cloth includes calculating a plurality of values for the first goal shape at the control points, wherein the first goal shape includes an interpolation of the values for the first goal shape at the control points; and

instructions for determining a second shape for the cloth includes calculating a plurality of values for the second shape at the control points, wherein the second shape includes an interpolation of the values for the second shape at the control points.

26. The non-transitory computer-readable storage medium as claimed in claim 19 , wherein the computer program further includes instructions for:

obtaining a second goal shape for the cloth at the second time;

obtaining a second goal-directed force for the cloth at the second time from the second shape and the second goal shape, wherein the second goal-directed force includes a component that measures a difference between the second shape and the second goal shape; and

determining a third shape for the cloth at a third time from the second shape and the second goal-directed force by animating the cloth from the second time to the third time.

27. The non-transitory computer-readable storage medium as claimed in claim 19 , wherein the computer program further includes instructions for:

determining a sequence of animation frames, including a first animation frame that includes values from the first shape for the cloth and a second animation frame that includes values from the second shape for the cloth.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 16, 2024
From: PACIFIC DATA IMAGES L.L.C.
To: DREAMWORKS ANIMATION L.L.C.
Reel/Frame 069597/0468 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2016
From: JPMORGAN CHASE BANK, N.A.
To: PACIFIC DATA IMAGES, L.L.C.
Reel/Frame 040775/0345 →
SECURITY AGREEMENT Recorded Aug 17, 2012
From: PACIFIC DATA IMAGES L.L.C.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 028801/0958 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Aug 15, 2012
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: DREAMWORKS ANIMATION L.L.C.; PACIFIC DATA IMAGES L.L.C.
Reel/Frame 028794/0770 →
SECURITY AGREEMENT Recorded Aug 28, 2008
From: PACIFIC DATA IMAGES L.L.C.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 021450/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2006
From: HADAP, SUNIL SHARADCHANDRA
To: PACIFIC DATA IMAGES LLC
Reel/Frame 018187/0106 →