1 / 107

Fast Collision Detection for Deformable Models using Representative-Triangles

Fast Collision Detection for Deformable Models using Representative-Triangles. Sean Curtis 1 , Rasmus Tamstorf 2 , & Dinesh Manocha 1 I3D 2008 February 15, 2008.

krista
Télécharger la présentation

Fast Collision Detection for Deformable Models using Representative-Triangles

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. Fast Collision Detection for Deformable Models using Representative-Triangles Sean Curtis1, Rasmus Tamstorf 2, & Dinesh Manocha1 I3D 2008 February 15, 2008 1 University of North Carolina at Chapel Hill 2 Walt Disney Animation Studios

  2. Faster Collision Detection • Seven layers of cloth and body with 50K triangles. • 3.3X collision detection speed-up with Representative Triangles.

  3. Previous Work • General surveys • Ericson 2004; Lin and Manocha 2003; Teschner et al. 2005.

  4. Previous Work • Triangle-pair Culling • BVH - BV types • Sphere, Swept-sphere, AABB, OBB, k-DOP, hybrid, etc. • Bradshaw and O’Sullivan. 2004; Gottschalk et al. 1996; Hubbard 1993; Klosowski et al. 1998; van den Bergen 1997; etc.

  5. Previous Work • Triangle-pair Culling • BVH Management • Restructuring, rebuilding, lazy construction, etc. • Larsson and Akenine-Möller 2006; Otaduy et al. 2007, Yoon et al. 2007; Zachmann and Weller 2006.

  6. Previous Work • Triangle-pair Culling • BVH Management • Restructuring, rebuilding, lazy construction, etc. • Larsson and Akenine-Möller 2006; Otaduy et al. 2007, Yoon et al. 2007; Zachmann and Weller 2006. • Specialized culling techniques • Normal cones, GPU-based culling, etc. • Govindaraju et al. 2005; Provot 1997; Sud et al. 2006.

  7. Previous Work • Feature-based Collision Detection • Voronoi regions (convex and non-convex) • Ehmann and Lin 2001; Lin and Canny 1991; Mirtich 1998.

  8. Previous Work • Feature-based Collision Detection • Voronoi regions (convex and non-convex) • Ehmann and Lin 2001; Lin and Canny 1991; Mirtich 1998. • Feature BVs • Hutter and Fuhrmann 2007.

  9. Previous Work • Continuous Collision Detection • Reduction of elementary tests • Govindaraju et al. 2005; Hutter and Fuhrmann 2007; Tang et al. 2007; Wong 2005, etc.

  10. Continuous Collision Detection (CCD) • Time of collision. t = i t = i+1

  11. Continuous Collision Detection (CCD) • Time of collision. t = i t = i+Δt t = i+1

  12. Continuous Collision Detection (CCD) • Time of collision. • Test between features (vertices, edges and faces.) Vertex-Face Edge-Edge

  13. Triangles vs. Features • Triangles used for culling.

  14. Triangles vs. Features • Triangles used for culling. • CD operates on features.

  15. Triangles vs. Features • Triangles used for culling. • CD operates on features. • This leads to: • Less efficient culling • Elementary test duplication

  16. Culling Efficiency • Features usually occupy significantly less space than their corresponding triangles.

  17. Culling Efficiency • Features usually occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests

  18. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 1 EE test

  19. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 1 EE test

  20. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests

  21. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests

  22. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests

  23. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests

  24. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests

  25. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests

  26. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests

  27. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests • 0 VF tests

  28. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests • 0 VF tests

  29. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests • 0 VF tests

  30. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests • 1 VF test

  31. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests • 1 VF test

  32. Culling Efficiency • Features can occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests • Based on feature BVs: • 2 EE tests • 1 VF test

  33. Elementary Test Duplication • The intersecting vertex is shared by six triangles.

  34. Elementary Test Duplication • The intersecting vertex is shared by six triangles. • The VF test could be spawned by six different triangle pairs.

  35. Representative Triangles (R-Tris) • R-Tris definition • R-Tris usage • R-Tris properties • Computing R-Tris (assignment)

  36. R-Tri Definition • An augmented triangle that “represents” some subset of its features and their corresponding feature BVs.

  37. R-Tri DefinitionFeature Assignment • The pattern in which each feature is assigned to an R-Tri is an assignment scheme.

  38. R-Tri DefinitionFeature Assignment • The pattern in which each feature is assigned to an R-Tri is an assignment scheme. • Assignment scheme • Not unique. • Every feature is assigned to one and only one triangle, incident to the feature.

  39. R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs.

  40. R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs.

  41. R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs.

  42. R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs.

  43. R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs.

  44. R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs. • Spawn elementary tests.

  45. R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs. • Spawn elementary tests. • Improves culling and eliminates duplicates.

  46. R-Tris Properties • General • Compatible with any triangle-pair culling algorithm (including grids, BVHs, sweep & prune, GPU occlusion queries, etc.)

  47. R-Tris Properties • Complete • R-Tris will find all collisions, guaranteed.

  48. R-Tris Properties • Compact • R-Tris need no additional memory. (However, O(|E|) data can be cached to potentially boost performance.)

  49. R-Tris Properties • Connectivity-based • Representation is a function of topology. For meshes which only undergo deformation, assignment is a pre-processing step.

  50. Computing R-Tris Assignment Schema • How are features assigned to R-Tris? • Does it matter? • How many elementary tests are performed per contact?

More Related