1 / 81

Kinetic Data Structures and their Application in Collision Detection

Kinetic Data Structures and their Application in Collision Detection. Sean Curtis COMP 768 Oct. 16, 2007. Kinetic Data Structures. Motivation. Convex hull Points move with time Recalculate hull at each point O(n lg n) work at each time step

pascha
Download Presentation

Kinetic Data Structures and their Application in Collision Detection

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. Kinetic Data Structuresand their Application in Collision Detection Sean Curtis COMP 768 Oct. 16, 2007

  2. Kinetic Data Structures Motivation • Convex hull • Points move with time • Recalculate hull at each point • O(n lg n) work at each time step • Instead, define convex hull based on the points used • Only update hull when necessary Kinetic Data Structures -- COMP 768

  3. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  4. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  5. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  6. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  7. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  8. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  9. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  10. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  11. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  12. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  13. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  14. Kinetic Data Structures Motivation What happens to the CH when they start moving? Kinetic Data Structures -- COMP 768

  15. Kinetic Data Structures Motivation • Simple solution • Take small time steps and recalculate the CH for each configuration of points. Kinetic Data Structures -- COMP 768

  16. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  17. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  18. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  19. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  20. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  21. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  22. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  23. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  24. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  25. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  26. Kinetic Data Structures Motivation • Simple solution • Take small time steps and recalculate the CH for each configuration of points. • Takes O(n log n) work at each time step. • An alternative – observe the nodes that form the CH. Kinetic Data Structures -- COMP 768

  27. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  28. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  29. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  30. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  31. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  32. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  33. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  34. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  35. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  36. Kinetic Data Structures Motivation Kinetic Data Structures -- COMP 768

  37. Kinetic Data Structures Motivation • Create a data structure that associated the convex hull directly with the vertices that form it. • Use the trajectories of the nodes to determine when they enter or leave the CH list. • This is a Kinetic Data Structure. Kinetic Data Structures -- COMP 768

  38. Kinetic Data Structures Concepts • Moving objects • Continuous motion. • Could maintain some property about the set by sampling over time and modifying the data structure supporting the property. • Danger of over- or under-sampling. Kinetic Data Structures -- COMP 768

  39. Kinetic Data Structures Concepts • Configuration Function • A collection of continuous or discrete attributes for “mobile” data. • Ex. 1 For a convex hull, it is the ordered list of points on the hull. • Ex. 2 For the closest pair, it is,simply, the pair of nodes. Kinetic Data Structures -- COMP 768

  40. Kinetic Data Structures Concepts • Kinetization • The process of transforming an algorithm on static data into a data structure appropriate for continuously changing data. Kinetic Data Structures -- COMP 768

  41. Kinetic Data Structures Concepts • Flight plan • Information about a moving objects current motion. • The information need not be complete – no complete a priori knowledge necessary. • Flight plans can update based on interactions within the environment or with a user. Kinetic Data Structures -- COMP 768

  42. Kinetic Data Structures Concepts • Global Event Queue • Means through which the object’s motion is connected to the data structure. • Narrow interface. Kinetic Data Structures -- COMP 768

  43. Kinetic Data Structures Concepts • Certificates • A set of conditions which prove the configuration function. • The configuration function can only be invalidated when certificates change. • The change of the state of certificates are the events in the queue – certificate failure. Kinetic Data Structures -- COMP 768

  44. Kinetic Data Structures Concepts • Quality • Ultimately, a KDS is “good” if the cost of processing a certificate failure is low. • How do we quantify this? Kinetic Data Structures -- COMP 768

  45. Kinetic Data Structures Concepts • Responsive • A low worst-case cost for processing a certificate failure. • This could include updating the proof, the configuration function, de-scheduling events and scheduling new events. Kinetic Data Structures -- COMP 768

  46. Kinetic Data Structures Concepts • Efficient • The ratio between total events to external events is “small”. • “External” events affect the configuration function. • “Internal” events are events required to fix KDS internal structures. • External events represent a lower-bound on the amount of work. Kinetic Data Structures -- COMP 768

  47. Kinetic Data Structures Concepts • Compact • The maximum number of events in the queue at any one time is roughly linear in the number of moving objects. Kinetic Data Structures -- COMP 768

  48. Kinetic Data Structures Concepts • Localized • The maximum number of events in the queue dependent on a single object is “small”. • Being “local” implies being “compact”. Kinetic Data Structures -- COMP 768

  49. Kinetic Data Structures 0 1 2 3 4 5 6 7 8 Simple ExamplePoints on a line What is the right-most point? x Kinetic Data Structures -- COMP 768

  50. Kinetic Data Structures 0 1 2 3 4 5 6 7 8 Simple ExamplePoints on a line What is the right-most point? x Kinetic Data Structures -- COMP 768

More Related