1 / 65

CSCE 552 Fall 2012

This use case describes the process of placing an order in the system, including confirming billing and shipping information, calculating the total cost, and submitting the order for processing and fulfillment.

juanflores
Download Presentation

CSCE 552 Fall 2012

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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 17th, 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. 2D Example θ

  5. Translation • A 3  3 matrix can reorient the coordinate axes in any way, but it leaves the origin fixed • We must add a translation component D to move the origin:

  6. Homogeneous coordinates • Four-dimensional space • Combines 3  3 matrix and translation into one 4  4 matrix

  7. Translation • Translation matrix • Translates the origin by the vector T

  8. Scale • Scale matrix • Scales coordinate axes by a, b, and c • If a = b = c, the scale is uniform

  9. Rotation (Z) • Rotation matrix • Rotates points about the z-axis through the angle q

  10. Rotations (X, Y) • Similar matrices for rotations about x, y

  11. Geometry -- Lines • A line in 3D space is represented by • S is a point on the line, and V is the direction along which the line runs • Any point P on the line corresponds to a value of the parameter t • Two lines are parallel if their direction vectors are parallel

  12. Plane • A plane in 3D space can be defined by a normal direction N and a point P • Other points in the plane satisfy N Q P

  13. Distance from Point to a Line • Distance d from a point P to a lineS + t V P d S V

  14. Line and Plane Intersection • Let P(t) = S + t V be the line • Let L = (N, D) be the plane • We want to find t such that LP(t) = 0 • Careful, S has w-coordinate of 1, and V has w-coordinate of 0

  15. Formular • If LV = 0, the line is parallel to the plane and no intersection occurs • Otherwise, the point of intersection is

  16. 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

  17. Engines • Commercial • Game Dynamics SDK (Havok.com) • Renderware Physics (renderware.com) • NovodeX SDK (novodex.com) • Free • Open Dynamic Engine (ODE) (ode.org) • Tokamak Game Physics SDK (tokamakphysics.com) • Newton Game Dynamics SDK (newtondynamics.com) • Unity

  18. Particle Physics • What is a Particle? • A sphere of finite radius with a perfectly smooth, frictionless surface • Experiences no rotational motion (or assume the sphere has no size) • Particle Kinematics • Defines the basic properties of particle motion • Position, Velocity, Acceleration

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

  20. Particle Velocity and Acceleration • Velocity (SI units: m/s) • First time derivative of position: • Acceleration (SI units: m/s2) • First time derivative of velocity • Second time derivative of position

  21. Newton’s 2nd 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)

  22. What is Physics Simulation? • The Cycle of Motion: • Force, F(t), causes acceleration • Acceleration, a(t), causes a change in velocity • Velocity, V(t) causes a change in position • Physics Simulation:Solving variations of the above equations over time to emulate the cycle of motion

  23. Concrete Example: Target Practice Projectile Launch Position, pinit Target

  24. Target Practice Choose Vinit to Hit a Stationary Target • ptarget is the stationary target location • We would like to choose the initial velocity, Vinit, required to hit the target at some future time, thit. • Here is our equation of motion at time thit:

  25. Equation Problem • Solution in general is a bit tedious to derive… • Infinite number of solutions! • Hint: Specify the magnitude of Vinit, solve for its direction

  26. Example 1 Vinit = 25 m/s Value of Radicand of tanf equation: Launch angle f: 19.4 deg or 70.6 deg 969.31

  27. 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:

  28. Finite Difference Methods-II • The Verlet Integrator: • Must store state at two prior time steps, S(t) and S(t-Dt) • 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:

  29. Errors Exact Euler

  30. Generalized Rigid Bodies Key Differences from Particles • Not necessarily spherical in shape • Position, p, represents object’s center-of-mass location • Surface may not be perfectly smooth and friction forces may be present • Experience rotational motion in addition to translational (position only) motion

  31. Additional forces • Linear Spring • Viscous Damping • Aerodynamic Drag • Friction • …

  32. Linear Springs

  33. Viscous Damping

  34. Aerodynamic Drag S: projected front area CD: drag coefficient

  35. Friction

  36. Collision Detection and Resolution

  37. 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.

  38. Collision Detection • Complicated for two reasons • Geometry is typically very complex, potentially requiring expensive testing • Naïve solution is O(n2) 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

  39. 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

  40. 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

  41. Bisect Testing: collision detected

  42. Bisect Testing: Iteration I

  43. Bisect Testing: Iteration II

  44. Bisect Testing: Iteration III

  45. Bisect Testing: Iteration IV

  46. Bisect Testing: Iteration V Time right before the collision

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

  48. 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

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

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

More Related