http://gamma.cs.unc.edu/pd fast penetration depth computation for physically-based animation y....

53
http://gamma.cs.unc.edu/P Fast Penetration Depth Fast Penetration Depth Computation for Computation for Physically-based Animation Physically-based Animation http://gamma.cs.unc.edu/PD http://gamma.cs.unc.edu/PD Y. Kim, M. Otaduy, M. Lin and D. Manocha Computer Science UNC – Chapel Hill

Post on 19-Dec-2015

222 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

http://gamma.cs.unc.edu/PD

Thank youThank you

http://gamma.cs.unc.edu/PDhttp://gamma.cs.unc.edu/PD