fast contact determination for intersecting deformable
play

Fast Contact Determination for Intersecting Deformable Solids O. - PowerPoint PPT Presentation

Fast Contact Determination for Intersecting Deformable Solids O. Civit-Flores 1 , 2 n 1 A. Sus 1 UPC-BarcelonaTech 2 Digital Legends Entertainment Motion in Games 2015 O. Civit-Flores, A. Susin MIG 2015 1 / 31 Outline Introduction 1


  1. Fast Contact Determination for Intersecting Deformable Solids O. Civit-Flores 1 , 2 ın 1 A. Sus´ 1 UPC-BarcelonaTech 2 Digital Legends Entertainment Motion in Games 2015 O. Civit-Flores, A. Susin MIG 2015 1 / 31

  2. Outline Introduction 1 Geometry Representation 2 Contact Determination 3 Results 4 O. Civit-Flores, A. Susin MIG 2015 2 / 31

  3. Contact Determination Problem description Compute the geometric information required for contact treatment O. Civit-Flores, A. Susin MIG 2015 3 / 31

  4. Contact Determination Deformable solids Standard approach for deformable solids: Simplified CD geometry. Proximity-based CD. Refitted BVH. No CCD. Challenges: Intersecting geometry. Deformable HD surfaces. O. Civit-Flores, A. Susin MIG 2015 4 / 31

  5. Contact Determination Objectives and approach Practical CD for intersecting deformable solids with HD surfaces. Robust Fast Historyless Our approach: Specialized geometry representation. Intersecting contact determination algorithm. O. Civit-Flores, A. Susin MIG 2015 5 / 31

  6. Outline Introduction 1 Geometry Representation 2 Contact Determination 3 Results 4 O. Civit-Flores, A. Susin MIG 2015 6 / 31

  7. Geometry Representation: VIZ + SIM + CDG Decoupled representations for: Visualization geometry (VIZ). Simulation geometry (SIM). Contact determination geometry (CDG). O. Civit-Flores, A. Susin MIG 2015 7 / 31

  8. Simulation Geometry Generate a strictly bounding coarse tetrahedralization of VIZ [1]: Build regular tetrahedralization of AABB(VIZ). 1 Remove completely external tetrahedrons. 2 Split internal faces that do not pierce VIZ. 3 Shrink external nodes/faces to fit VIZ. 4 O. Civit-Flores, A. Susin MIG 2015 8 / 31

  9. Surface Embedding VIZ and CDG are barycentrically embedded into SIM: Affine, preserves linear features. Fast VIZ transform on GPU, like skinning. Fast on-demand transform and inversion for CD. Preserves bounding property. C 0 continuity. O. Civit-Flores, A. Susin MIG 2015 9 / 31

  10. Contact Determination Geometry Partitioned surface Same detail as VIZ, but optimized for CD: Connected triangle patches clipped to tetrahedron faces. Global arrays of Element, Patch, Triangle and Vertex. Sub-arrays of P ∈ E and T/V ∈ P . Triangle and patch neighbours. O. Civit-Flores, A. Susin MIG 2015 10 / 31

  11. Contact Determination Geometry Nested BVH Elements ∈ SIM: refitted 18-DOP Tree. Patches ∈ Element: constant b -DOP . Triangles ∈ Patch: constant b -DOP Tree. O. Civit-Flores, A. Susin MIG 2015 11 / 31

  12. b -DOP Bounding volume for embedded geometry Cartesian: A 8-DOP , 4 slabs along tetrahedron face normals. Barycentric: An AABP defined by 4 intervals [ a i , b i ] ⊆ [ 0 , 1 ] . Tight cartesian bounds from [ a i , b i ] and sorted SIM nodes [2]. O. Civit-Flores, A. Susin MIG 2015 12 / 31

  13. b -DOP Bounding volume for embedded geometry Cartesian: A 8-DOP , 4 slabs along tetrahedron face normals. Barycentric: An AABP defined by 4 intervals [ a i , b i ] ⊆ [ 0 , 1 ] . Tight cartesian bounds from [ a i , b i ] and sorted SIM nodes [2]. Queries Raycast in barycentric coords. Intersection using tight cartesian bounds. O. Civit-Flores, A. Susin MIG 2015 12 / 31

  14. b -DOP Tree Per-patch BVH in barycentric coords: BVH nodes store subtree b -DOP . Constant under tetrahedron deformation. Implicit topology + quantization + packing ⇒ 0 memory. O. Civit-Flores, A. Susin MIG 2015 13 / 31

  15. b -DOP Tree Per-patch BVH in barycentric coords: BVH nodes store subtree b -DOP . Constant under tetrahedron deformation. Implicit topology + quantization + packing ⇒ 0 memory. Queries Raycast in barycentric coords (transform once) Intersection using tight cartesian bounds (sort once) O. Civit-Flores, A. Susin MIG 2015 13 / 31

  16. Outline Introduction 1 Geometry Representation 2 Contact Determination 3 Results 4 O. Civit-Flores, A. Susin MIG 2015 14 / 31

  17. Contact Determination Given the solids Ω A , Ω B bound by Γ A , Γ B , generate contact constraints: g = ( p A − p B ) T ˆ n AB ≥ 0 O. Civit-Flores, A. Susin MIG 2015 15 / 31

  18. Contact Determination Issues Detailed embedded geometry ⇒ redundant contacts. O. Civit-Flores, A. Susin MIG 2015 16 / 31

  19. Contact Determination Issues Detailed embedded geometry ⇒ redundant contacts. Intersecting geometry ⇒ inconsistent correspondences. O. Civit-Flores, A. Susin MIG 2015 16 / 31

  20. Contact Determination Our solution 1 contact for each disjoint patch region P j A inside Ω B . Contact point p j A at region centroid. O. Civit-Flores, A. Susin MIG 2015 17 / 31

  21. Contact Determination Our solution 1 contact for each disjoint patch region P j A inside Ω B . Contact point p j A at region centroid. Contact normal ˆ n AB from vector area. Correspondence p j A → p j B by raycasting along ˆ n AB . O. Civit-Flores, A. Susin MIG 2015 17 / 31

  22. Contact Determination Algorithm FindITP → intersecting triangle pairs (Nested BVH). 1 MergeIC → intersection curves ∂ Γ i AB (Spatial hash + MF-set). 2 FindCP → interior patch regions (Flood). 3 RaycastCP → contact point correspondences (Nested BVH). 4 O. Civit-Flores, A. Susin MIG 2015 18 / 31

  23. Contact Determination Algorithm FindITP → intersecting triangle pairs (Nested BVH). 1 MergeIC → intersection curves ∂ Γ i AB (Spatial hash + MF-set). 2 FindCP → interior patch regions (Flood). 3 RaycastCP → contact point correspondences (Nested BVH). 4 O. Civit-Flores, A. Susin MIG 2015 18 / 31

  24. Contact Determination Algorithm FindITP → intersecting triangle pairs (Nested BVH). 1 MergeIC → intersection curves ∂ Γ i AB (Spatial hash + MF-set). 2 FindCP → interior patch regions (Flood). 3 RaycastCP → contact point correspondences (Nested BVH). 4 O. Civit-Flores, A. Susin MIG 2015 18 / 31

  25. Contact Determination Algorithm FindITP → intersecting triangle pairs (Nested BVH). 1 MergeIC → intersection curves ∂ Γ i AB (Spatial hash + MF-set). 2 FindCP → interior patch regions (Flood). 3 RaycastCP → contact point correspondences (Nested BVH). 4 O. Civit-Flores, A. Susin MIG 2015 18 / 31

  26. FindCP For each contact region Ω i AB : Flood inwards from ∂ Γ i AB independently on Γ i A , Γ i B . For each interior patch region P j A , compute p j n j A , ˆ A from: Interior triangles → 1 interior region. Clipped triangles → N interior regions. O. Civit-Flores, A. Susin MIG 2015 19 / 31

  27. FindCP Vector area normal Continuous surface patch Γ : � ˆ N V = n dA . Γ Discrete patch with triangles ( v k 1 , v k 2 , v k 3 ) or boundary edges ( v k 1 , v k 2 ) n be n tri N V = 1 1 ) = 1 � ( v k 2 − v k 1 ) × ( v k 3 − v k � v k 1 × v k 2 2 2 k k O. Civit-Flores, A. Susin MIG 2015 20 / 31

  28. FindCP Area and Centroid Discrete patch with triangles ( v k 1 , v k 2 , v k 3 ) : n tri n tri s k = 1 � ( v k 2 − v k 1 ) × ( v k 3 − v k � � S = 1 ) � 2 k k n tri p = 1 � s k ( v k 1 + v k 2 + v k 3 ) 3 S k Clipped triangle planar polygon with edges ( v k 1 , v k 2 ) : s = � N V � n be c = 1 � v k 1 × v k 2 � ( v k 1 + v k � 2 ) 6 s k O. Civit-Flores, A. Susin MIG 2015 21 / 31

  29. FindCP Triangle flood Discover surface region Γ i A interior to ∂ Γ i AB : Stack-based flood using triangle adjacency. Accumulate (clipped) triangle contributions to their P j A : Arbitrary addition order for vector area and centroid. Counter-clockwise orientation convention. Detect cross-patch flood and change target P j A . Final “normalization” pass on all P j A : p j A = � (area-weighted centroids of interior/clipped triangles) / S j n j ˆ A = N V / � N V � O. Civit-Flores, A. Susin MIG 2015 22 / 31

  30. FindCP Patch flood Flood optimization for large interpenetration: Detect cross-patch triangle flood into fully internal patch. Transform precomputed vector area and centroid in O ( 1 ) . Flood to fully internal adjacent patches. O. Civit-Flores, A. Susin MIG 2015 23 / 31

  31. RaycastCP For each contact region Ω i AB : n i AB from ∂ Γ i Compute global contact normal ˆ AB vector area. Raycast from all p j n i AB to find p B ( p j A along ˆ A ) . n i AB ) T ˆ n j n i AB ) T ˆ Check ( ˆ A < 0 and ( ˆ n B > 0. Discard if closer self-hit on Γ A . O. Civit-Flores, A. Susin MIG 2015 24 / 31

  32. RaycastCP vector area contact normals Benefits: Constraint on the whole contact surface. Filters high frequency detail and noisy surface normals. Self-correcting as ∂ Γ i AB shrinks. Exact if either Γ i A or Γ i B is flat. Exact for vertex-face and edge-edge contacts. O. Civit-Flores, A. Susin MIG 2015 25 / 31

  33. Outline Introduction 1 Geometry Representation 2 Contact Determination 3 Results 4 O. Civit-Flores, A. Susin MIG 2015 26 / 31

  34. Results O. Civit-Flores, A. Susin MIG 2015 27 / 31

  35. Results Video1 Video2 O. Civit-Flores, A. Susin MIG 2015 27 / 31

  36. Results O. Civit-Flores, A. Susin MIG 2015 27 / 31

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend