Presentation is loading. Please wait.

Presentation is loading. Please wait.

CSCE 552 Fall 2012 Math, Physics and Collision Detection By Jijun Tang.

Similar presentations


Presentation on theme: "CSCE 552 Fall 2012 Math, Physics and Collision Detection By Jijun Tang."— Presentation transcript:

1 CSCE 552 Fall 2012 Math, Physics and Collision Detection By Jijun Tang

2 Homework #2 Major use cases of your system Due on Wednesday Oct 17 th, before class.

3 Use Cases Use Case Name: Place Order Actors:  Registered Shopper (Has an existing account, possibly with billing and shipping information)  Fulfillment System (processes orders for delivery to customers)  Billing System (bills customers for orders that have been placed) Triggers:  The user indicates that she wants to purchase items that she has selected. Preconditions:  User has selected the items to be purchased. Post-conditions:  The order will be placed in the system.  The user will have a tracking ID for the order.  The user will know the estimated delivery date for the order. Flow:  The user will indicate that she wants to order the items that have already been selected.  The system will present the billing and shipping information that the user previously stored.  The user will confirm that the existing billing and shipping information should be used for this order.  The system will present the amount that the order will cost, including applicable taxes and shipping charges.  The user will confirm that the order information is accurate.  The system will provide the user with a tracking ID for the order.  The system will submit the order to the fulfillment system for evaluation.  The fulfillment system will provide the system with an estimated delivery date.  The system will present the estimated delivery date to the user.  The user will indicate that the order should be placed.  The system will request that the billing system should charge the user for the order.  The billing system will confirm that the charge has been placed for the order.  The system will submit the order to the fulfillment system for processing.  The fulfillment system will confirm that the order is being processed.  The system will indicate to the user that the user has been charged for the order.  The system will indicate to the user that the order has been placed.  The user will exit the system.

4 Real-time Physics in Game at Runtime: Enables the emergent behavior that provides player a richer game experience Potential to provide full cost savings to developer/publisher Difficult  May require significant upgrade of game engine  May require significant update of asset creation pipelines  May require special training for modelers, animators, and level designers Licensing an existing engine may significantly increase third party middleware costs

5 Location of Particle in World Space  SI Units: meters (m)  Changes over time when object moves Particle Position

6 Particle Velocity and Acceleration Velocity (SI units: m/s)  First time derivative of position: Acceleration (SI units: m/s 2 )  First time derivative of velocity  Second time derivative of position

7 Newton ’ s 2 nd Law of Motion Paraphrased – “ An object ’ s change in velocity is proportional to an applied force ” The Classic Equation:  m = mass (SI units: kilograms, kg)  F(t) = force (SI units: Newtons)

8 Concrete Example: Target Practice Target Projectile Launch Position, p init

9 Finite Difference Methods-I The Explicit Euler Integrator: Properties of object are stored in a state vector, S Use the above integrator equation to incrementally update S over time as game progresses Must keep track of prior value of S in order to compute the new For Explicit Euler, one choice of state and state derivative for particle:

10 Finite Difference Methods-II The Verlet Integrator: Must store state at two prior time steps, S(t) and S(t-  t) Uses second derivative of state instead of the first Valid for constant time step only (as shown above) For Verlet, choice of state and state derivative for a particle:

11 Errors Exact Euler

12 Linear Springs

13 Viscous Damping

14 Aerodynamic Drag S: projected front area C D : drag coefficient

15 Friction

16 Collision Detection and Resolution

17 What is Collision Detection A fundamental problem in computer games, computer animation, physically-based modeling, geometric modeling, and robotics. Including algorithms:  To check for collision, i.e. intersection, of two given objects  To calculate trajectories, impact times and impact points in a physical simulation.

18 Collision Detection Complicated for two reasons  Geometry is typically very complex, potentially requiring expensive testing  Naïve solution is O(n 2 ) time complexity, since every object can potentially collide with every other object Two basic techniques  Overlap testing: Detects whether a collision has already occurred  Intersection testing: Predicts whether a collision will occur in the future

19 Overlap Testing (a posteriori) Overlap testing: Detects whether a collision has already occurred, sometime is referred as a posteriori Facts  Most common technique used in games  Exhibits more error than intersection testing Concept  For every (small) simulation step, test every pair of objects to see if they overlap  Easy for simple volumes like spheres, harder for polygonal models

20 Overlap Testing Results Useful results of detected collision  Pairs of objects will have collision  Time of collision to take place  Collision normal vector Collision time calculated by moving object back in time  until right before collision  Bisection is an effective technique

21 Bisect Testing: collision detected

22 Bisect Testing: Iteration I

23 Bisect Testing: Iteration II

24 Bisect Testing: Iteration III

25 Bisect Testing: Iteration IV

26 Bisect Testing: Iteration V Time right before the collision

27 Overlap Testing: Limitations Fails with objects that move too fast  Thin glass vs. bulltes  Unlikely to catch time slice during overlap

28 Solution for This Limitation Speed of the fastest object multiplies the time step should be smaller than the smallest objects in the scene Possible solutions  Design constraint on speed of objects: hard to apply without affecting the play  Reduce simulation step size: too expensive

29 Intersection Testing (a priori) Predict future collisions When predicted:  Move simulation to time of collision  Resolve collision  Simulate remaining time step

30 Intersection Testing: Swept Geometry Extrude geometry in direction of movement Swept sphere turns into a “ capsule ” shape

31 Intersection Testing: Sphere-Sphere Collision d

32 Special Cases No collision: B 2 = 0: both objects are stationary, or they are traveling at parallel When will collision occur?

33 Intersection Testing: When to Collide Smallest distance ever separating two spheres: If there is a collision

34 Intersection Testing: Limitations Issue with networked games  Future predictions rely on exact state of world at present time  Due to packet latency, current state not always coherent Assumes constant velocity and zero acceleration over simulation step  Has implications for physics model and choice of integrator

35 Dealing with Complexity Two issues 1. Complex geometry must be simplified 2. Reduce number of object pair tests

36 Simplified Geometry Approximate complex objects with simpler geometry, like this ellipsoid or bounding boxes

37 Minkowski Sum By taking the Minkowski Sum of two complex volumes and creating a new volume, overlap can be found by testing if a single point is within the new volume

38 Minkowski Sum

39 Using Minkowski Sum

40 Bounding Volumes Bounding volume is a simple geometric shape  Completely encapsulates object  If no collision with bounding volume, no more testing is required Common bounding volumes  Sphere  Box

41 Box Bounding Volumes

42 More Examples

43 Using Bounding Box in Game Complex objects can have multiple bounding boxes  Human object can have one big bounding box for the whole body  Human object can have one bounding box per limb, head, etc Bounding box can be hierarchical:  Test the big first  if possible collision, test the smaller ones

44 Reduce Number of Detections O(n) Time Complexity can be achieved. One solution is to partition space

45 Achieving O(n) Time Complexity Another solution is the plane sweep algorithm Requires (re-)sorting in x (y) coordinate

46 Quadtree

47 Octree

48 R-tree

49 K-d tree


Download ppt "CSCE 552 Fall 2012 Math, Physics and Collision Detection By Jijun Tang."

Similar presentations


Ads by Google