IP Library Granted Patent US 9,440,148
Granted Patent B2
US 9,440,148 · App. 12/961,358 · Granted Sep 13, 2016

Physics simulation apparatus and method

Inventors: Andrew Bond (Dublin, IE); Oliver Strunk (Munich, DE); Adrian Gasinski (Dublin, IE)
Assignee: TELEKINESYS RESEARCH LIMITED
A63F13/577A63F13/10G06F17/5009G06F17/5095G06T17/00A63F13/80A63F2300/64A63F2300/643G06F2217/16G06T2210/21
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 9,440,148
App. No.
12/961,358
Granted
Sep 13, 2016
Kind
B2
Abstract

A method and apparatus wherein complex physical interactions and collisions are modeled at a high level of detail while reducing the computational demands placed on the processing system. In one embodiment the method comprising the steps of defining a first object and a second object, each object adapted for colliding with the other object; assigning an interaction type for at least one of the first and second object in response to an object parameter; and selecting between a continuous simulation of a collision and a discrete simulation of the collision in response to the interaction type.

Claims (28)

1. On a computing device comprising a processor, a method of resolving an interpenetration event involving a plurality of objects, the method comprising the steps of:

at the processor:

generating an instance of a physics engine;

simulating a first object, a second object and a third object in a simulated environment using the physics engine using a plurality of frames;

identifying, using the physics engine, a first set of interpenetrating objects using the physics engine, the first set of interpenetrating objects comprising the first object and the second object;

identifying a second set of interpenetrating object pairs from the first set using the physics engine, the second set of interpenetrating object pairs comprising the first object and the third object;

transforming the first set of interpenetrating objects into a first Minkowski space representation using the physics engine;

transforming the second set of interpenetrating object pairs into a second Minkowski space representation using the physics engine;

generating a vector set of candidate separation vectors for each of the first and the second Minkowski space representations, each candidate separation vector having a magnitude and a direction;

selecting a separation vector from the vector sets of candidate separation vectors, wherein the separation vector selected comprises a direction and a minimum magnitude such that the first object does not penetrate the second object and such that the first object does not penetrate the third object to resolve the interpenetration of the plurality of simulated objects; and

displaying the plurality of simulated objects, wherein the interpenetration of the first object with the second and third object is resolved prior to the display of the plurality of simulated objects.

2. The method of claim 1 wherein the separation vector chosen is the vector of smallest magnitude from all sets of candidate separation vectors that can resolve the interpenetration of the first object with the second and third object.

3. The method of claim 1 wherein the step of selecting the separation vector is performed by generating subspaces within each Minkowski space representation and overlapping the subspaces to identify a separation vector direction.

4. The method of claim 3 wherein the subspaces are generated using a Gilbert-Johnson-Keerthi (GJK) collision detection based method, further comprising reducing computational intensity of resolving interpenetration events involving three or more objects by evaluating a subset of the subspaces.

5. The method of claim 1 wherein the physics engine comprises a collision agent, the collision agent maintained in an electronic memory device and further comprising processing collisions between the first object and one or more of the second object and the third object for the plurality of frames.

6. The method of claim 1 further comprising determining the vector set of candidate separation vectors by defining a plurality of neighborhoods, wherein a sum of the neighborhoods equals a union of the first and second Minkowski space representations, and determining a candidate vector for the vector set of candidate separation vectors by evaluating a subset of the plurality of neighborhoods, the subset comprising less than the sum of the neighborhoods.

7. On a computing device comprising a processor, a method of resolving a plurality of interpenetrating objects in a simulated environment, the method comprising the steps of:

at the processor:

generating an instance of a physics engine;

simulating a plurality of objects in a simulated environment using the physics engine;

transforming a set of interpenetrating objects of the plurality of objects into Minkowski space representations using the physics engine by defining a Minkowski sum for each of the objects in the set of interpenetrating objects;

defining one or more neighborhoods comprising a shape within each Minkowski sum;

computing, using the physics engine, a closest distance between a first object and a second object of the set of interpenetrating objects, wherein the first object and the second object are disjoint;

defining the shape of the one or more neighborhoods using the closest distance;

iteratively determining a candidate separation vector for each neighborhood, wherein a total number of neighborhoods evaluated to determine the candidate separation vectors is less than the union of all of the Minkowski sums defined;

resolving an interpenetration state for the plurality of objects using one or more candidate separation vectors using the physics engine; and

displaying the plurality of simulated objects after resolving the interpenetration state thereof.

8. The method of claim 7 , wherein a volume of a number of neighborhoods evaluated to determine the candidate separation vectors is less than a volume of a union of all of the Minkowski sums defined.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2020
From: TELEKINESYS RESEARCH LIMITED
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 053700/0383 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2016
From: BOND, ANDREW; STRUNK, OLIVER; GASINSKI, ADRIAN
To: TELEKINESYS RESEARCH LIMITED
Reel/Frame 037434/0173 →
Continuity (4)
Division 12848759 · Aug 2, 2010
Division 11292788 · Dec 2, 2005
Provisional Application 60633405 · Dec 3, 2004
Related Publication 20110077923A1 · Mar 31, 2011