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

fast contact determination for intersecting deformable
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Fast Contact Determination for Intersecting Deformable Solids

  • O. Civit-Flores1,2
  • A. Sus´

ın1

1UPC-BarcelonaTech 2Digital Legends Entertainment

Motion in Games 2015

  • O. Civit-Flores, A. Susin

MIG 2015 1 / 31

slide-2
SLIDE 2

Outline

1

Introduction

2

Geometry Representation

3

Contact Determination

4

Results

  • O. Civit-Flores, A. Susin

MIG 2015 2 / 31

slide-3
SLIDE 3

Contact Determination

Problem description

Compute the geometric information required for contact treatment

  • O. Civit-Flores, A. Susin

MIG 2015 3 / 31

slide-4
SLIDE 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

slide-5
SLIDE 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

slide-6
SLIDE 6

Outline

1

Introduction

2

Geometry Representation

3

Contact Determination

4

Results

  • O. Civit-Flores, A. Susin

MIG 2015 6 / 31

slide-7
SLIDE 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

slide-8
SLIDE 8

Simulation Geometry

Generate a strictly bounding coarse tetrahedralization of VIZ [1]:

1

Build regular tetrahedralization of AABB(VIZ).

2

Remove completely external tetrahedrons.

3

Split internal faces that do not pierce VIZ.

4

Shrink external nodes/faces to fit VIZ.

  • O. Civit-Flores, A. Susin

MIG 2015 8 / 31

slide-9
SLIDE 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. C0 continuity.

  • O. Civit-Flores, A. Susin

MIG 2015 9 / 31

slide-10
SLIDE 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

slide-11
SLIDE 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

slide-12
SLIDE 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 [ai, bi] ⊆ [0, 1]. Tight cartesian bounds from [ai, bi] and sorted SIM nodes [2].

  • O. Civit-Flores, A. Susin

MIG 2015 12 / 31

slide-13
SLIDE 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 [ai, bi] ⊆ [0, 1]. Tight cartesian bounds from [ai, bi] and sorted SIM nodes [2]. Queries Raycast in barycentric coords. Intersection using tight cartesian bounds.

  • O. Civit-Flores, A. Susin

MIG 2015 12 / 31

slide-14
SLIDE 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

slide-15
SLIDE 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

slide-16
SLIDE 16

Outline

1

Introduction

2

Geometry Representation

3

Contact Determination

4

Results

  • O. Civit-Flores, A. Susin

MIG 2015 14 / 31

slide-17
SLIDE 17

Contact Determination

Given the solids ΩA, ΩB bound by ΓA, ΓB, generate contact constraints: g = (pA − pB)T ˆ nAB ≥ 0

  • O. Civit-Flores, A. Susin

MIG 2015 15 / 31

slide-18
SLIDE 18

Contact Determination

Issues

Detailed embedded geometry ⇒ redundant contacts.

  • O. Civit-Flores, A. Susin

MIG 2015 16 / 31

slide-19
SLIDE 19

Contact Determination

Issues

Detailed embedded geometry ⇒ redundant contacts. Intersecting geometry ⇒ inconsistent correspondences.

  • O. Civit-Flores, A. Susin

MIG 2015 16 / 31

slide-20
SLIDE 20

Contact Determination

Our solution

1 contact for each disjoint patch region Pj

A inside ΩB.

Contact point pj

A at region centroid.

  • O. Civit-Flores, A. Susin

MIG 2015 17 / 31

slide-21
SLIDE 21

Contact Determination

Our solution

1 contact for each disjoint patch region Pj

A inside ΩB.

Contact point pj

A at region centroid.

Contact normal ˆ nAB from vector area. Correspondence pj

A → pj B by raycasting along ˆ

nAB.

  • O. Civit-Flores, A. Susin

MIG 2015 17 / 31

slide-22
SLIDE 22

Contact Determination

Algorithm

1

FindITP → intersecting triangle pairs (Nested BVH).

2

MergeIC → intersection curves ∂Γi

AB (Spatial hash + MF-set).

3

FindCP → interior patch regions (Flood).

4

RaycastCP → contact point correspondences (Nested BVH).

  • O. Civit-Flores, A. Susin

MIG 2015 18 / 31

slide-23
SLIDE 23

Contact Determination

Algorithm

1

FindITP → intersecting triangle pairs (Nested BVH).

2

MergeIC → intersection curves ∂Γi

AB (Spatial hash + MF-set).

3

FindCP → interior patch regions (Flood).

4

RaycastCP → contact point correspondences (Nested BVH).

  • O. Civit-Flores, A. Susin

MIG 2015 18 / 31

slide-24
SLIDE 24

Contact Determination

Algorithm

1

FindITP → intersecting triangle pairs (Nested BVH).

2

MergeIC → intersection curves ∂Γi

AB (Spatial hash + MF-set).

3

FindCP → interior patch regions (Flood).

4

RaycastCP → contact point correspondences (Nested BVH).

  • O. Civit-Flores, A. Susin

MIG 2015 18 / 31

slide-25
SLIDE 25

Contact Determination

Algorithm

1

FindITP → intersecting triangle pairs (Nested BVH).

2

MergeIC → intersection curves ∂Γi

AB (Spatial hash + MF-set).

3

FindCP → interior patch regions (Flood).

4

RaycastCP → contact point correspondences (Nested BVH).

  • O. Civit-Flores, A. Susin

MIG 2015 18 / 31

slide-26
SLIDE 26

FindCP

For each contact region Ωi

AB:

Flood inwards from ∂Γi

AB independently on Γi A, Γi B.

For each interior patch region Pj

A, compute pj A, ˆ

nj

A from:

Interior triangles → 1 interior region. Clipped triangles → N interior regions.

  • O. Civit-Flores, A. Susin

MIG 2015 19 / 31

slide-27
SLIDE 27

FindCP

Vector area normal

Continuous surface patch Γ: NV =

  • Γ

ˆ ndA. Discrete patch with triangles (vk

1, vk 2, vk 3) or boundary edges (vk 1, vk 2)

NV = 1 2

ntri

  • k

(vk

2 − vk 1) × (vk 3 − vk 1) = 1

2

nbe

  • k

vk

1 × vk 2

  • O. Civit-Flores, A. Susin

MIG 2015 20 / 31

slide-28
SLIDE 28

FindCP

Area and Centroid

Discrete patch with triangles (vk

1, vk 2, vk 3):

S =

ntri

  • k

sk = 1 2

ntri

  • k

(vk

2 − vk 1) × (vk 3 − vk 1)

p = 1 3S

ntri

  • k

sk(vk

1 + vk 2 + vk 3)

Clipped triangle planar polygon with edges (vk

1, vk 2):

s = NV c = 1 6s

nbe

  • k

vk

1 × vk 2(vk 1 + vk 2)

  • O. Civit-Flores, A. Susin

MIG 2015 21 / 31

slide-29
SLIDE 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 Pj

A:

Arbitrary addition order for vector area and centroid. Counter-clockwise orientation convention.

Detect cross-patch flood and change target Pj

A.

Final “normalization” pass on all Pj

A:

pj

A = (area-weighted centroids of interior/clipped triangles) / Sj

ˆ nj

A = NV/NV

  • O. Civit-Flores, A. Susin

MIG 2015 22 / 31

slide-30
SLIDE 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

slide-31
SLIDE 31

RaycastCP

For each contact region Ωi

AB:

Compute global contact normal ˆ ni

AB from ∂Γi AB vector area.

Raycast from all pj

A along ˆ

ni

AB to find pB(pj A).

Check (ˆ ni

AB)T ˆ

nj

A < 0 and (ˆ

ni

AB)T ˆ

nB > 0. Discard if closer self-hit on ΓA.

  • O. Civit-Flores, A. Susin

MIG 2015 24 / 31

slide-32
SLIDE 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

slide-33
SLIDE 33

Outline

1

Introduction

2

Geometry Representation

3

Contact Determination

4

Results

  • O. Civit-Flores, A. Susin

MIG 2015 26 / 31

slide-34
SLIDE 34

Results

  • O. Civit-Flores, A. Susin

MIG 2015 27 / 31

slide-35
SLIDE 35

Results

Video1 Video2

  • O. Civit-Flores, A. Susin

MIG 2015 27 / 31

slide-36
SLIDE 36

Results

  • O. Civit-Flores, A. Susin

MIG 2015 27 / 31

slide-37
SLIDE 37

Conclusions

An efficient CD scheme for intersecting deformable solids: Optimized CDG representation that matches VIZ detail. b-DOP-T: 0-memory BVH for fast update/test under deformation. Flood-based generation of reduced contact points. NV normals improve consistency for intersecting HD surfaces. Conclusions: Efficient, output-sensitive algorithm. Suitable fallback strategy for proximity-based CD on intersection. Complex implementation. Optimization opportunities remain.

  • O. Civit-Flores, A. Susin

MIG 2015 28 / 31

slide-38
SLIDE 38

Q&A

?

  • O. Civit-Flores, A. Susin

MIG 2015 29 / 31

slide-39
SLIDE 39

Future Work

Cutting/Fracture Proximity+Intersection hybrid algorithm

  • O. Civit-Flores, A. Susin

MIG 2015 30 / 31

slide-40
SLIDE 40

References

David A. Stuart, Joshua A. Levine, Ben Jones and Adam W. Bargteil Automatic Construction of Coarse, High-Quality Tetrahedralizations That Enclose and Approximate Surfaces for Animation Proceedings of 2013 ACM SIGGRAPH/Eurographics Motion on Games Miguel A. Otaduy, Daniel Germann, Stephane Redon, and Markus Gross, Adaptive Deformations with Fast Tight Bounds Proceedings of 2007 ACM SIGGRAPH/Eurographics Symposium on Computer Animation

  • O. Civit-Flores, A. Sus´

ın Robust treatment of degenerate elements in interactive corotational FEM simulations Computer Graphics Forum 2014

  • O. Civit-Flores, A. Susin

MIG 2015 31 / 31