1.09k likes | 1.22k Vues
Fast Collision Detection for Deformable Models using Representative-Triangles. Sean Curtis 1 , Rasmus Tamstorf 2 , & Dinesh Manocha 1 I3D 2008 February 15, 2008.
E N D
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
Faster Collision Detection • Seven layers of cloth and body with 50K triangles. • 3.3X collision detection speed-up with Representative Triangles.
Previous Work • General surveys • Ericson 2004; Lin and Manocha 2003; Teschner et al. 2005.
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.
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.
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.
Previous Work • Feature-based Collision Detection • Voronoi regions (convex and non-convex) • Ehmann and Lin 2001; Lin and Canny 1991; Mirtich 1998.
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.
Previous Work • Continuous Collision Detection • Reduction of elementary tests • Govindaraju et al. 2005; Hutter and Fuhrmann 2007; Tang et al. 2007; Wong 2005, etc.
Continuous Collision Detection (CCD) • Time of collision. t = i t = i+1
Continuous Collision Detection (CCD) • Time of collision. t = i t = i+Δt t = i+1
Continuous Collision Detection (CCD) • Time of collision. • Test between features (vertices, edges and faces.) Vertex-Face Edge-Edge
Triangles vs. Features • Triangles used for culling.
Triangles vs. Features • Triangles used for culling. • CD operates on features.
Triangles vs. Features • Triangles used for culling. • CD operates on features. • This leads to: • Less efficient culling • Elementary test duplication
Culling Efficiency • Features usually occupy significantly less space than their corresponding triangles.
Culling Efficiency • Features usually occupy significantly less space than their corresponding triangles. • Based on triangle BVs: • 15 elementary tests
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Elementary Test Duplication • The intersecting vertex is shared by six triangles.
Elementary Test Duplication • The intersecting vertex is shared by six triangles. • The VF test could be spawned by six different triangle pairs.
Representative Triangles (R-Tris) • R-Tris definition • R-Tris usage • R-Tris properties • Computing R-Tris (assignment)
R-Tri Definition • An augmented triangle that “represents” some subset of its features and their corresponding feature BVs.
R-Tri DefinitionFeature Assignment • The pattern in which each feature is assigned to an R-Tri is an assignment scheme.
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.
R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs.
R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs.
R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs.
R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs.
R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs.
R-Tri Usage • Given a pair of R-Tris that are potentially colliding: • Find corresponding feature pairs. • Test feature BVs. • Spawn elementary tests.
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.
R-Tris Properties • General • Compatible with any triangle-pair culling algorithm (including grids, BVHs, sweep & prune, GPU occlusion queries, etc.)
R-Tris Properties • Complete • R-Tris will find all collisions, guaranteed.
R-Tris Properties • Compact • R-Tris need no additional memory. (However, O(|E|) data can be cached to potentially boost performance.)
R-Tris Properties • Connectivity-based • Representation is a function of topology. For meshes which only undergo deformation, assignment is a pre-processing step.
Computing R-Tris Assignment Schema • How are features assigned to R-Tris? • Does it matter? • How many elementary tests are performed per contact?