IP Library Granted Patent US 7,813,903
Granted Patent B2
US 7,813,903 · App. 11/104,607 · Granted Oct 12, 2010

Fixed time step dynamical solver for interacting particle systems

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,813,903
App. No.
11/104,607
Granted
Oct 12, 2010
Kind
B2
Abstract

The present invention is a particle position solver that allows particles to reach an end of a fixed time, time step in an invalid state and which are then pushed toward a valid state. This allows the solver to continue the simulation while the simulation results move toward a valid behavior. Particle collision calculations are simplified by adopting a non-sequential model ignoring some collisions or combining them. The speed of the simulation is also improved by performing some operations outside the solver calculation loop and by using specialized data structures.

Claims (58)

1. A particle simulation method, comprising:

simulating, in a computer, dynamic motion of particles and allowing particle states of the particles to be invalid; and

adjusting the particle states of the particles toward valid state, wherein the particles when linked together comprise primitives comprising spheres, edges, triangles and surfaces.

2. A method as recited in claim 1 , wherein the particles are connected using edges, triangles or tetrahedral or a combination thereof.

3. A method as recited in claim 1 , wherein the particles are linked together using edges, triangles or tetrahedra or a combination thereof.

4. A method as recited in claim 1 , wherein the particles are linked to represent cloth.

5. A method as recited in claim 1 , wherein the simulating simulates a single fixed time step.

6. A method as recited in claim 1 , wherein the simulating comprises:

determining particle collisions; and

applying constraints to the particles.

7. A method as recited in claim 6 , wherein the applying adds a link between non-connected particles linked to a same particle having a rest length.

8. A method as recited in claim 6 , wherein the applying computes the angle between triangles adjacent to an edge to enforce a bending constraint.

9. A method as recited in claim 6 , wherein an angle is maintained between surface normals.

10. A method as recited in claim 6 , wherein the determining comprises:

computing a signed volume at a beginning and end of a time step; and

determining a collision has occurred when the sign changes.

11. A method as recited in claim 6 , wherein the determining assumes thickness for the particles.

12. A method as recited in claim 6 , wherein the determining determines a final velocity of a particle as a collision velocity of a collision with a smallest collision time within a time step.

13. A method as recited in claim 6 , wherein the determining determines a final velocity of a particle as a time weighted average of collision velocities of a particle.

14. A method as recited in claim 6 , wherein the determining determines a final velocity of a particle using a non-sequential model.

15. A method as recited in claim 1 , wherein the adjusting comprises determining a direction and a velocity for moving a particle to a valid state.

16. A method as recited in claim 15 , wherein the direction comprises a shortest valid point direction and the velocity comprises a separation velocity that separates the particles.

17. A method as recited in claim 1 , wherein the adjusting determines whether particles overlap.

18. A method as recited in claim 1 , wherein the invalid state comprises a particle overlapping another particle.

19. A method as recited in claim 1 , further comprising determining collision pairs by determining a bounding sphere for each particle and pairing particles with bounding spheres that overlap.

20. A method as recited in claim 19 , wherein the collision pairs are computed using a hash table.

21. A method as recited in claim 19 , wherein the collision pairs are computed using a sphere tree.

22. A method as recited in claim 19 , wherein collision candidates are determined using a collision length equal to the minimum of a sum of particle radii and a distance between the particles a rest state.

23. A particle simulation method, comprising:

simulating in a computer, dynamic motion of cloth comprising particles linked by triangles and allowing particle state of the particles to be invalid, comprising:

determining particle collisions comprising:

computing a signed volume at a beginning and end of a time step;

determining a collision has occurred when the sign changes; and

determining a final velocity of a particle as a collision velocity of a collision with a smallest collision time within a time step; and

applying a bending constraint to the cloth by adding a link between non-connected particles linked to a same particle having a rest length that restrains bending; and

adjusting the particle state of the particles toward a valid state comprising determining a direction and a velocity for moving a particle to a valid state where the direction comprises a shortest valid point direction and the velocity comprises a separation velocity that separates the particles.

24. A particle simulation method, comprising:

simulating, in a computer, dynamic motion of particles and displaying a first image of the particles in a valid state;

simulating dynamic motion of the particles, allowing particle states of the particles to be invalid and displaying a second image of the particles in the invalid state; and

simulating dynamic motion of the particles, adjusting the particle state of the particles toward a valid state and displaying a third image of the particles in the valid state, wherein the particles when linked together comprise primitives comprising spheres, edges, triangles and surfaces.

25. A display, comprising:

a first image of particles in a valid state;

a second image of the particles in an invalid state; and

a third image of the particles in the valid state, wherein the particles when linked together comprise primitives comprising spheres, edges, triangles and surfaces.

26. An apparatus, comprising:

a computer simulating dynamic motion of particles and allowing particle states of the particles to be invalid and adjusting the particle states of the particles toward a valid state; and

a display displaying the simulation, wherein the particles when linked together comprise primitives comprising spheres, edges, triangles and surfaces.

27. An apparatus, comprising:

a computer simulating dynamic motion of particles and allowing particle states of the particles to be invalid and adjusting the particle states of the particles toward a valid state; and

a display displaying the simulation, and

wherein said display displays a first image of particles in a valid state, a second image of the particles in an invalid state, and a third image of the particles in the valid state, wherein the particles when linked together comprise primitives comprising spheres, edges, triangles and surfaces.

28. A computer readable storage storing a program for a particle simulation process, said program which when executed by a computer causes the computer to perform a process comprising:

simulating, in a computer, dynamic motion of particles and allowing particle states of the particles to be invalid; and

adjusting the particle states of the particles toward a valid state, wherein the particles when linked together comprise primitives comprising spheres, edges, triangles and surfaces.

29. A method, comprising:

simulating, in a computer, dynamic motion of particles in a time step;

allowing states of the particles to become invalid in the time step; and

adjusting the states of the particles toward a valid state in the time step, wherein the particles when linked together comprise primitives comprising spheres, edges, triangles and surfaces.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2006
From: ALIAS SYSTEMS CORPORATION
To: AUTODESK, INC.
Reel/Frame 018375/0466 →