Adaptive Continuous Collision Detection for Cloth Models using a Skipping Frame Session 黃 世強 (...

Post on 02-Apr-2015

213 views 0 download

Transcript of Adaptive Continuous Collision Detection for Cloth Models using a Skipping Frame Session 黃 世強 (...

Adaptive Continuous Collision Detection for Cloth Models using a

Skipping Frame Session

黃 世強 ( Sai-Keung Wong )Department of Computer Science

National Chiao Tung University

Email: cswingo@cs.nctu.edu.tw

Paper ID: 16

NCS 2009: Workshop on Image Processing, Computer Graphics, and Multimedia Technologies(ICM)

1

Contents

• Introduction• Background• The pipeline of continuous collision detection• Self-collision detection• Analysis and discussion• Experiments and results• Conclusions

2

Introduction• Continuous collision detection?

- Perform linear (or higher order)

interpolation for two discrete frames

- Compute contact time of primitives,

such as triangles

- Triangular meshes: linear interpolation

- solving cubic equations

- computing shortest distances

- six point-triangle and nine edge-edge pairs

Frame 1

Frame 2

3

Introduction• Applications:

– Deformable objects– Cloth simulation

• A problem: A large set of potentially colliding pairs– Slow performance

• An observation: Local coherence – A large portion of colliding pairs remains

the same4

Introduction:Local coherence

5

Introduction• BVH traversal contributes a significant

amount of time

6

Elementary test processing

BVH traversal

BVH update

Contributions

• A novel adaptive pipeline for continuous collision detection:– BVH update– BVH traversal– A skipping frame session– Elementary tests

• A partial traversal scheme– Handling triangles with large movement

• Robustness: keep track of colliding pairs

7

Background: Cloth simulationD.E. Baraff and A. Witkin, “Large steps in cloth simulation”,

SIGGRAPH, 1998.

R. Bridson, R. Fedkiw, and J. Anderson, “Robust treatment of collisions, contact and friction for cloth simulation”, ACM ToG 2002.

K.J. Choi and H.S. Ko, “Stable but responsive cloth”, SIGGRAPH, 2004

A. Selle, J. Su, G. Irving, and R. Fedkiw, “Robust high-resolution cloth using parallelism history-based collisions and accurate friction”, TVCG 2008.

P. Volino and N. Magnenat-Thalmann, “Efficient self-collision detection on smoothly discretised surface and animation using geometrical shape regularity”, Computer graphics forum, 1994.

8

Background: Continuous collision detection• M. Hutter and Fuhrmann, “Optimized continuous collision detection

for deformable triangle meshes”, WSCG, 2007.

• T. Larsson and T. Akenine-Moller, “Efficient collision detection deformed by morphing”, Visual computer, 2003.

• M.Tang, S.E. Yoon and D. Manocha, “Adjacency-based culling for continuous collision detection ”, Visual Computer, 2008.

• M.Tang, S. Curtis, S.E. Yoon and D. Manocha, “ICCD: Interactive continuous collision detection between deformable models using connectivity-based culling”, TVCG, 2009.

• S.K. Wong and G. Baciu, “Dynamic interaction between deformable surfaces and nonsmooth objects”, TVCG, 2005.

• S.K. Wong and G. Baciu, “A randomized marking scheme for continuous collision detection in simulation of deformable surfaces”, ACM International Conference on Virtual Reality Continuum and Its Applications, 2006. 9

The Pipeline of CCD

• Preprocessing stage– Construction of bounding volume hierarchies (BVHs)– The primitive assignment

• Runtime stage– BVH update with inflation, refitting each node – BVH traversal, collecting potentially colliding pairs– Adaptively apply a skipping frame session– Front-end and back-end filtering stages

10

Preprocessing stage• Construction of bounding volume hierarchies

(BVHs)

• Build a hierarchy structure to bound each object

11

Preprocessing stage

• Primitive assignment– Assign each triangle to itself– Assign each edge and each vertex to one of its

incident triangles

A B

eA0 eB

0

eB1

q0

(a) (b)

Edge assignmentVertex assignment

12

Runtime stage: BVH update Purpose: refitting each node with inflation

Larger bounding volume

13

d(p) = ( v (p) + v ) t+ l Estimated movementdistance

Runtime stage: BVH traversal

Purpose: Collect potentially colliding pairs

– Bounding volumes overlap

A potentially colliding pair14

Problems:

– A large number of such pairs

– Too far away to collide within

the current interval

– Further treatment

Runtime stage: Front-end and back-end filtering stages

Front-end: eliminate redundant triangle pairs

– Check estimated shortest distance

– de i (T0, T1) <= dei+1(T0) + de

i+1(T1) + de

i+1(T0)

15

Back-end:

– Perform continuous collision detection• Solve coplanar times for each primitive pair

• Compute shortest distances for verification

Runtime stage: Skipping frame session

Purpose: Adaptively apply a skipping frame session

Advantages:

– Local movement of a triangle– Lying inside its inflated bounding volume

– > no need BVH update

– > no need traversal

16

Handling dangling triangles

• Triangles with large movement – Passing through their bounding volumes

Large movement

17

• Two solutions:1. Traversal individually2. Partial traversal scheme

Self-collision detection

• Low curvatured surface partitioning– Compute continuous normal cone for each

triangle– Perform bottom-up merging to obtain low

curvature surfaces

• Collision detection between low curvatured surfaces

18

Analysis

Consider a small box b lying inside another box BFree movement distance: d = d(b, B)Time step = t Relative speed = v

Number of skipping frames= d / ( v t )

19

Experiments and Results• Intel (R) Core (TM2) Quadcore CPU machine with

2.4GHz of 2GB memory• One thread for computation• Comparison with two methods and others:

– NoDup : – S.K. Wong and G. Baciu, “A randomized marking scheme for

continuous collision detection in simulation of deformable surfaces”, ACM International Conference on Virtual Reality Continuum and Its Applications, 2006.

– R-RTI : S. Curtis, R. Tamstorf, and D. Manocha, “Fast collision detection for deformable models using representative-triangles”, Proceedings of the 2008 symposium on Interactive 3D graphics and games, 2008 20

Experiment Set One:< 100k triangles

21

Experiment Set One:

Average Collision Detection Time Per Time Step ( sec )

(including self-collision detection)

NoDup R-TRI nSwD SwD

( % R-TRI )

Ani. OneSpinning ball

0.23 0.18 0.15 0.13

( 72%)

Ani. Two

Ball-cloth

0.12 0.10 0.082 0.074

( 74%)

Ani. Three

Four cones

0.31 0.27 0.23 0.16

( 59%)

Ani. Four

Garment

0.092 0.076 0.062 0.052

(68%)

22

Experiment Set Two:> 300k triangles

23

Experiment Set TwoLabels:a x f x : length of skipping frame session

24

Experiments and Results

Experiment Set One: Model Complexities

Rigid Objects ( #Tri ) Cloth Models ( #Tri )

Ani. One 5.2 k 97 k

Ani. Two 10 k 45 k

Ani. Three 0.5 k 97 k

Ani. Four 34 k 20 k

Experiment Set Two: Model Complexities

Ani. One 11 k 320 k

Ani. Two 7 k 500 k

Ani. Three 1 k 502 k

Ani. Four 40 k 500 k

25

Comparison:Traditional approach

vs our approach

26

Traditonal Our

Bounding volume size smaller larger

BVH update yes sometimes

BVH traversal yes sometimes

Number of potentially colliding pairs

fewer larger

Memory storage less higher

Robustness ok better

Speed ok faster

Conclusions & future work

• Propose a novel adaptive framework for continuous collision detection using a skipping frame session

• Fast performance• High memory requirement but increased

robustness

• Apply to multilayered garments• Reduce storage size

27

28

Thank you.

Q & A.