http://gamma.cs.unc.edu/pd fast penetration depth computation for physically-based animation y....
Post on 19-Dec-2015
218 views
TRANSCRIPT
![Page 1: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/1.jpg)
http://gamma.cs.unc.edu/PD
Fast Penetration Depth Fast Penetration Depth Computation for Computation for
Physically-based AnimationPhysically-based Animation
http://gamma.cs.unc.edu/PDhttp://gamma.cs.unc.edu/PD
Y. Kim, M. Otaduy, M. Lin and D. Manocha
Computer Science UNC – Chapel Hill
Y. Kim, M. Otaduy, M. Lin and D. Manocha
Computer Science UNC – Chapel Hill
![Page 2: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/2.jpg)
http://gamma.cs.unc.edu/PD
Proximity Queries and PDProximity Queries and PD
Collision Detection
Separation Distance
Penetration Depth
d
d
![Page 3: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/3.jpg)
http://gamma.cs.unc.edu/PD
DefinitionDefinition
Penetration Depth (PD)
Minimum translational distance to separate two intersecting objects
Penetration Depth (PD)
Minimum translational distance to separate two intersecting objects
PD
![Page 4: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/4.jpg)
http://gamma.cs.unc.edu/PD
MotivationMotivation
Contact Handling in Rigid Body Simulation
Time stepping method
»Check the contact at fixed intervals
Penalty-based method
Contact Handling in Rigid Body Simulation
Time stepping method
»Check the contact at fixed intervals
Penalty-based method
![Page 5: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/5.jpg)
http://gamma.cs.unc.edu/PD
Motivation Motivation
Time stepping method
Estimate the time of collision (TOC)
Time stepping method
Estimate the time of collision (TOC)
T = t0
T = t1
T = t2
T = t ?
![Page 6: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/6.jpg)
http://gamma.cs.unc.edu/PD
Motivation Motivation
Time stepping method using PD
1. Compute the penetration depth
2. Estimate the TOC by interpolation in time domain
Time stepping method using PD
1. Compute the penetration depth
2. Estimate the TOC by interpolation in time domain
T = tk
T = t1
T = t2
![Page 7: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/7.jpg)
http://gamma.cs.unc.edu/PD
Motivation Motivation
Penalty-based Method Penalty-based Method
T = t0
T = t1
T = t2
![Page 8: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/8.jpg)
http://gamma.cs.unc.edu/PD
PD ApplicationPD Application
Rigid body dynamic simulation
Robot motion planning for autonomous agents and animated characters
Haptic rendering
Tolerance verification for CAD models
Rigid body dynamic simulation
Robot motion planning for autonomous agents and animated characters
Haptic rendering
Tolerance verification for CAD models
![Page 9: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/9.jpg)
http://gamma.cs.unc.edu/PD
Previous WorkPrevious Work
Convex polytopes
[Cameron ’86 ’97], [Dobkin et al. ’93], [Agarwal et al. ’00], [Bergen ’01], [Kim et al. ’02]
Local solutions for deformable models
[Susan and Lin ’01], [Hoff et al. ’01]
No solutions existed for non-convex models
Convex polytopes
[Cameron ’86 ’97], [Dobkin et al. ’93], [Agarwal et al. ’00], [Bergen ’01], [Kim et al. ’02]
Local solutions for deformable models
[Susan and Lin ’01], [Hoff et al. ’01]
No solutions existed for non-convex models
![Page 10: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/10.jpg)
http://gamma.cs.unc.edu/PD
OverviewOverview
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
![Page 11: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/11.jpg)
http://gamma.cs.unc.edu/PD
OverviewOverview
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
![Page 12: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/12.jpg)
http://gamma.cs.unc.edu/PD
PreliminariesPreliminaries
Local solutions might not have any relevance to a global solution
Local solutions might not have any relevance to a global solution
Local PD solutions
PD Global PD solution
![Page 13: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/13.jpg)
http://gamma.cs.unc.edu/PD
PreliminariesPreliminaries
Minkowski sum and PD
P -Q = { p-q | pP, qQ }
PD := minimum distance between OQ-P and the surface of P -Q
Minkowski sum and PD
P -Q = { p-q | pP, qQ }
PD := minimum distance between OQ-P and the surface of P -Q
P -Q
P
OQ-POP
OQ
Q
![Page 14: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/14.jpg)
http://gamma.cs.unc.edu/PD
PreliminariesPreliminaries
Minkowski sum and PD
P -Q = { p-q | pP, qQ }
PD := minimum distance between OQ-P and the surface of P -Q
Minkowski sum and PD
P -Q = { p-q | pP, qQ }
PD := minimum distance between OQ-P and the surface of P -Q
P -Q
P
OQ-POP
OQ
Q
![Page 15: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/15.jpg)
http://gamma.cs.unc.edu/PD
PreliminariesPreliminaries
Decomposition property of Minkowski sum If P = P1 P2 , then P Q = (P1 Q) (P2 Q)
Computing Minkowski sum Convex: O(n log(n))
» where n is the number of features
Non-Convex: O(n6) computational complexity
» In theory, use the convolution or the decomposition property
» In practice, very hard to implement.
Decomposition property of Minkowski sum If P = P1 P2 , then P Q = (P1 Q) (P2 Q)
Computing Minkowski sum Convex: O(n log(n))
» where n is the number of features
Non-Convex: O(n6) computational complexity
» In theory, use the convolution or the decomposition property
» In practice, very hard to implement.
![Page 16: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/16.jpg)
http://gamma.cs.unc.edu/PD
OverviewOverview
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
![Page 17: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/17.jpg)
http://gamma.cs.unc.edu/PD
PD Algorithm : A Hybrid Approach PD Algorithm : A Hybrid Approach
P Q = (P1 Q) (P2 Q)
where P = P1 P2
P Q = (P1 Q) (P2 Q)
where P = P1 P2
![Page 18: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/18.jpg)
http://gamma.cs.unc.edu/PD
PD Algorithm : A Hybrid Approach PD Algorithm : A Hybrid Approach
PP QQ = (P1 Q) (P2 Q)
where P = P1 P2
PP QQ = (P1 Q) (P2 Q)
where P = P1 P2
![Page 19: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/19.jpg)
http://gamma.cs.unc.edu/PD
PD Algorithm : A Hybrid Approach PD Algorithm : A Hybrid Approach
P Q = (P1 Q) (P2 Q)
where PP = = PP11 PP22
Precomputation: DecompositionPrecomputation: Decomposition
P Q = (P1 Q) (P2 Q)
where PP = = PP11 PP22
Precomputation: DecompositionPrecomputation: Decomposition
![Page 20: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/20.jpg)
http://gamma.cs.unc.edu/PD
PD Algorithm : A Hybrid Approach PD Algorithm : A Hybrid Approach
P Q = (PP11 QQ) (PP22 Q Q)
where P = P1 P2
Precomputation: Decomposition
Runtime:
Object Space: Pairwise Minkowski sum Object Space: Pairwise Minkowski sum computationcomputation
P Q = (PP11 QQ) (PP22 Q Q)
where P = P1 P2
Precomputation: Decomposition
Runtime:
Object Space: Pairwise Minkowski sum Object Space: Pairwise Minkowski sum computationcomputation
![Page 21: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/21.jpg)
http://gamma.cs.unc.edu/PD
PD Algorithm : A Hybrid Approach PD Algorithm : A Hybrid Approach
P Q = (P1 Q) (P2 Q)
where P = P1 P2
Precomputation: Decomposition
Runtime:
Object Space: Pairwise Minkowski sum computation
Image Space: Union by graphics hardwareImage Space: Union by graphics hardware
P Q = (P1 Q) (P2 Q)
where P = P1 P2
Precomputation: Decomposition
Runtime:
Object Space: Pairwise Minkowski sum computation
Image Space: Union by graphics hardwareImage Space: Union by graphics hardware
![Page 22: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/22.jpg)
http://gamma.cs.unc.edu/PD
PD Computation PipelinePD Computation Pipeline
Pairwise Minkowski Sum (Object Space)
Precomputation
Run-time PD Query
ClosestPoint Query
(Image Space)
Convex Decomposition
![Page 23: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/23.jpg)
http://gamma.cs.unc.edu/PD
Convex Surface DecompositionConvex Surface Decomposition
[Ehmann and Lin ’01]
Decompose an object into a collection of convex surface patches
Compute the convex hull of each surface patch
[Ehmann and Lin ’01]
Decompose an object into a collection of convex surface patches
Compute the convex hull of each surface patch
![Page 24: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/24.jpg)
http://gamma.cs.unc.edu/PD
Pairwise Minkowski SumPairwise Minkowski Sum
Algorithms
Convex hull property of convex Minkowski sum
» PQ = ConvHull{vi+vj| vi VP, vj VQ}, where P and Q are convex polytopes.
Topological sweep on Gauss map [Guibas ’87]
Incremental surface expansion [Rossignac ’92]
Algorithms
Convex hull property of convex Minkowski sum
» PQ = ConvHull{vi+vj| vi VP, vj VQ}, where P and Q are convex polytopes.
Topological sweep on Gauss map [Guibas ’87]
Incremental surface expansion [Rossignac ’92]
![Page 25: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/25.jpg)
http://gamma.cs.unc.edu/PD
Closest Point QueryClosest Point Query
Goal
Given a collection of convex Minkowski sums, compute the shortest distance from the origin to the surface of their union
An exact solution is computationally expensive Approximation using graphics hardware
Goal
Given a collection of convex Minkowski sums, compute the shortest distance from the origin to the surface of their union
An exact solution is computationally expensive Approximation using graphics hardware
![Page 26: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/26.jpg)
http://gamma.cs.unc.edu/PD
Main Idea Incrementally expand the current front of the
boundary
Main Idea Incrementally expand the current front of the
boundary
Closet Point QueryCloset Point Query
![Page 27: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/27.jpg)
http://gamma.cs.unc.edu/PD
Closest Point QueryClosest Point Query
1. Render front faces, and open up a window where z-value is less than the current front
2. Render back faces w/ z-greater-than test
3. Repeat the above m times, where m := # of obj’s
1. Render front faces, and open up a window where z-value is less than the current front
2. Render back faces w/ z-greater-than test
3. Repeat the above m times, where m := # of obj’s
![Page 28: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/28.jpg)
http://gamma.cs.unc.edu/PD
Closest Point QueryClosest Point Query
1. Render front faces, and open up a window where z-value is less than the current front
2. Render back faces w/ z-greater-than test
3. Repeat the above m times, where m := # of obj’s
1. Render front faces, and open up a window where z-value is less than the current front
2. Render back faces w/ z-greater-than test
3. Repeat the above m times, where m := # of obj’s
![Page 29: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/29.jpg)
http://gamma.cs.unc.edu/PD
OverviewOverview
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
![Page 30: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/30.jpg)
http://gamma.cs.unc.edu/PD
MotivationMotivation
PD is shallow in practice.
Convex decomposition has O(n) convex pieces in practice.
Culling strategy is suitable and very effective.
PD is shallow in practice.
Convex decomposition has O(n) convex pieces in practice.
Culling strategy is suitable and very effective.
![Page 31: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/31.jpg)
http://gamma.cs.unc.edu/PD
Object Space CullingObject Space Culling
Basic Idea
If we know the upper bound on PD, uPD , we do not need to compute the Mink. sum of pairs whose Euclidean dist is more than uPD
Basic Idea
If we know the upper bound on PD, uPD , we do not need to compute the Mink. sum of pairs whose Euclidean dist is more than uPD
uPD
![Page 32: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/32.jpg)
http://gamma.cs.unc.edu/PD
Object Space CullingObject Space Culling
Basic Idea
If we know the upper bound on PD, uPD , we do not need to compute the Mink. sum of pairs whose Euclidean dist is more than uPD
Basic Idea
If we know the upper bound on PD, uPD , we do not need to compute the Mink. sum of pairs whose Euclidean dist is more than uPD
uPD
PD
![Page 33: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/33.jpg)
http://gamma.cs.unc.edu/PD
Object Space CullingObject Space Culling
Basic Idea
If we know the upper bound on PD, uPD , we do not need to compute the Mink. sum of pairs whose Euclidean dist is more than uPD
Basic Idea
If we know the upper bound on PD, uPD , we do not need to compute the Mink. sum of pairs whose Euclidean dist is more than uPD
![Page 34: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/34.jpg)
http://gamma.cs.unc.edu/PD
Image Space CullingImage Space Culling
Rendering only once for the Minkowski sums containing the origin
Refine the upper bound for every view frustum
View frustum culling
Rendering only once for the Minkowski sums containing the origin
Refine the upper bound for every view frustum
View frustum culling
![Page 35: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/35.jpg)
http://gamma.cs.unc.edu/PD
BVH Construction (Ehmann and Lin ’01) BVH Construction (Ehmann and Lin ’01)
Hierarchical CullingHierarchical Culling
Hierarchical Culling Hierarchical Culling
![Page 36: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/36.jpg)
http://gamma.cs.unc.edu/PD
BVH Construction (Ehmann and Lin ’01) BVH Construction (Ehmann and Lin ’01)
Hierarchical CullingHierarchical Culling
Hierarchical Culling Hierarchical Culling
![Page 37: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/37.jpg)
http://gamma.cs.unc.edu/PD
Hierarchical RefinementHierarchical Refinement
Culling Pairwise Minkowski Sum
BVH Construction
Precomputation
Run-time PD Query
Refine the current PD estimate, and go to the next level of BVH
Closest Point Query
Convex Decomposition
![Page 38: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/38.jpg)
http://gamma.cs.unc.edu/PD
PD BenchmarksPD Benchmarks
0.3 sec0.3 sec (4 hr) (4 hr) 3.7 sec3.7 sec (4 hr) (4 hr) 1.9 sec1.9 sec (177 hr) (177 hr) 0.4 sec0.4 sec (7 min) (7 min)
• With Accel.With Accel. (Without Accel.) (Without Accel.)
Touching Tori Interlocked Tori Interlocked Grates Touching Alphabets
![Page 39: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/39.jpg)
http://gamma.cs.unc.edu/PD
PD BenchmarksPD Benchmarks
Models Tri Convex Pieces
PD w/o Accel.
PD w/ Accel
Touching Tori 2000 67 4 hr 0.3 sec
Interlocked Tori 2000 67 4 hr 3.7 sec
Interlocked Grates 444, 1134 169, 409 177 hr 1.9 sec
Touching Alphabets 144,152 42, 43 7 min 0.4 sec
![Page 40: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/40.jpg)
http://gamma.cs.unc.edu/PD
Hierarchical Culling ExampleHierarchical Culling Example
Level Cull Ratio Mink Sum HW Query PDest
3 31.2% 0.219 sec 0.220 sec 0.995 96.7% 0.165 sec 0.146 sec 0.537 98.3 % 1.014 sec 1.992 sec 0.50
![Page 41: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/41.jpg)
http://gamma.cs.unc.edu/PD
ImplementationImplementation
SWIFT++ [Ehmann and Lin ’01]
QHULL
OpenGL for closest point query
SWIFT++ [Ehmann and Lin ’01]
QHULL
OpenGL for closest point query
![Page 42: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/42.jpg)
http://gamma.cs.unc.edu/PD
ImplementationImplementation
void DrawUnionOfConvex(ConvexObj *ConvexObjs, int NumConvexObjs){ glClearDepth(0); glClearStencil(0); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
glEnable(GL_DEPTH_TEST); glEnable(GL_STENCIL_TEST); for (int i=0; i<NumConvexObjs; i++) for (int j=0; j<NumConvexObjs; j++) { glDepthMask(0); glColorMask(0,0,0,0); glDepthFunc(GL_LESS); glStencilFunc(GL_ALWAYS,1,1); glStencilOp(GL_KEEP,GL_REPLACE,GL_KEEP); ConvexObjs[j].DrawFrontFaces();
glDepthMask(1); glColorMask(1,1,1,1); glDepthFunc(GL_GREATER); glStencilFunc(GL_EQUAL,0,1); glStencilOp(GL_ZERO,GL_KEEP,GL_KEEP); ConvexObjs[j].DrawBackFaces(); }}
![Page 43: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/43.jpg)
http://gamma.cs.unc.edu/PD
Accuracy of PD computationAccuracy of PD computation
Our algorithm computes an upper bound to PD
Image space computation determines the tightness of the upper bound
Pixel resolution
Z-buffer precision
In practice, with 256256 pixel resolution, the algorithm rapidly converges to the PD
Our algorithm computes an upper bound to PD
Image space computation determines the tightness of the upper bound
Pixel resolution
Z-buffer precision
In practice, with 256256 pixel resolution, the algorithm rapidly converges to the PD
![Page 44: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/44.jpg)
http://gamma.cs.unc.edu/PD
OverviewOverview
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
Preliminaries
Minkowski sum-based Framework
Basic PD Algorithm: A Hybrid Approach
Acceleration Techniques
Object Space Culling
Hierarchical Refinement
Image Space Culling
Application to Rigid Body Dynamic Simulation
![Page 45: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/45.jpg)
http://gamma.cs.unc.edu/PD
Interpenetration is often unavoidable in numerical simulations
Need for a consistent and accurate measure of PD
Penalty-based Method F = (k • d)n
»d: PD, n: PD direction, k:stiffness constant
Interpenetration is often unavoidable in numerical simulations
Need for a consistent and accurate measure of PD
Penalty-based Method F = (k • d)n
»d: PD, n: PD direction, k:stiffness constant
Application to Rigid Body Application to Rigid Body SimulationSimulation
![Page 46: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/46.jpg)
http://gamma.cs.unc.edu/PD
Application to Rigid Body Application to Rigid Body SimulationSimulation
Time Stepping Method
Estimate the time of collision (TOC)
» s: separation dist before interpenetration
» d: PD, n: PD dir after interpenetration
» vs: relative velocity of closest features
» vd: relative velocity of PD features
Time Stepping Method
Estimate the time of collision (TOC)
» s: separation dist before interpenetration
» d: PD, n: PD dir after interpenetration
» vs: relative velocity of closest features
» vd: relative velocity of PD features
![Page 47: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/47.jpg)
http://gamma.cs.unc.edu/PD
Application to Rigid Body Application to Rigid Body SimulationSimulation
x(t) : 1D distance function between closest features and PD features projected to PD direction
x(0) = s, x(T) = d
dx/dt(0) = vs•n, dx/dt(T) = vd•n
Compute the roots of x(t) = 0
x(t) : 1D distance function between closest features and PD features projected to PD direction
x(0) = s, x(T) = d
dx/dt(0) = vs•n, dx/dt(T) = vd•n
Compute the roots of x(t) = 0
![Page 48: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/48.jpg)
http://gamma.cs.unc.edu/PD
Rigid Body Simulation DemoRigid Body Simulation Demo
Example 1Average complexity: 250 triangles
60 Convex Pieces / Object
Example 2Average complexity: 250 triangles
200 letters and alphabets
![Page 49: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/49.jpg)
http://gamma.cs.unc.edu/PD
Rigid Body Simulation DemoRigid Body Simulation Demo
![Page 50: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/50.jpg)
http://gamma.cs.unc.edu/PD
ContributionsContributions
First practical PD algorithm using a hybrid approach
Acceleration techniques:
Object space culling
Image space culling
Hierarchical refinement
Application to rigid body simulation
First practical PD algorithm using a hybrid approach
Acceleration techniques:
Object space culling
Image space culling
Hierarchical refinement
Application to rigid body simulation
![Page 51: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/51.jpg)
http://gamma.cs.unc.edu/PD
Future WorkFuture Work
More optimizations on
Closest point query
Pairwise Minkowski sum
More performance comparisons
Accuracy and running time of PD algorithm
Other RBD simulation approaches
Extension to rotational PD
More optimizations on
Closest point query
Pairwise Minkowski sum
More performance comparisons
Accuracy and running time of PD algorithm
Other RBD simulation approaches
Extension to rotational PD
![Page 52: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/52.jpg)
http://gamma.cs.unc.edu/PD
AcknowledgementAcknowledgement
Kenneth Hoff
Stephen Ehmann
ARO
DOE
NSF
ONR
Intel
Kenneth Hoff
Stephen Ehmann
ARO
DOE
NSF
ONR
Intel
![Page 53: Http://gamma.cs.unc.edu/PD Fast Penetration Depth Computation for Physically-based Animation Y. Kim, M. Otaduy, M. Lin and D](https://reader034.vdocuments.us/reader034/viewer/2022051415/56649d395503460f94a12ddb/html5/thumbnails/53.jpg)
http://gamma.cs.unc.edu/PD
Thank youThank you
http://gamma.cs.unc.edu/PDhttp://gamma.cs.unc.edu/PD