including self-collision detection

NCS 2009: Workshop on Image Processing, Computer Graphics,
and Multimedia Technologies(ICM)
Adaptive Continuous Collision
Detection for Cloth Models using a
Skipping Frame Session
黃 世強 ( Sai-Keung Wong )
Department of Computer Science
National Chiao Tung University
Email: [email protected]
Paper ID: 16
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
Frame 1
- Compute contact time of primitives,
such as triangles
- Triangular meshes: linear interpolation
- solving cubic equations
Frame 2
- computing shortest distances
- six point-triangle and nine edge-edge pairs
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 same
4
Introduction:
Local coherence
5
Introduction
• BVH traversal contributes a significant amount
of time
Elementary test processing
BVH traversal
BVH update
6
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 simulation
 D.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 highresolution 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
eA0
A
(a)
q0
eB0
eB1
(b)
B
Vertex assignment
Edge assignment
12
Runtime stage: BVH update
Purpose: refitting each node with inflation
Estimated
movement
distance
d(p) = ( a v (p) + b v ) D t+ g l
Larger bounding volume
13
Runtime stage: BVH traversal
Purpose: Collect potentially colliding pairs
– Bounding volumes overlap
Problems:
– A large number of such pairs
– Too far away to collide within
the current interval
– Further treatment
A potentially colliding pair
14
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) + dei+1(T1) + d
dei+1(T0)
Back-end:
– Perform continuous collision detection
• Solve coplanar times for each primitive pair
• Compute shortest distances for verification
15
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
• Two solutions:
1. Traversal individually
2. Partial traversal scheme
Large movement
17
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 B
Free movement distance: d = d(b, B)
Time step = D t
Relative speed = v
Number of skipping frames
=d/(vDt)
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 representativetriangles”, 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 )
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%)
Ani. One
Spinning ball
22
Experiment Set Two:
> 300k triangles
23
Experiment Set Two
Labels:
axfa
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
7k
500 k
Ani. Three
1k
502 k
Ani. Four
40 k
500 k
25
Comparison:
Traditional approach
vs our approach
Traditonal Our
Bounding volume size
smaller
larger
BVH update
yes
sometimes
BVH traversal
yes
sometimes
Number of potentially colliding fewer
pairs
larger
Memory storage
less
higher
Robustness
ok
better
Speed
ok
faster
26
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
Thank you.
Q & A.
28