stefan gumhold,* pavel borodin, # reinhard klein # *university of tuebingen, germany # university of...

50
Stefan Gumhold Stefan Gumhold , , * * Pavel Pavel Borodin Borodin , , # # Reinhard Klein Reinhard Klein # # *University of T *University of T uebingen uebingen , , Germany Germany # # University of Bonn, University of Bonn, Germany Germany Intersection Intersection Free Free Simplification Simplification

Post on 15-Jan-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan GumholdStefan Gumhold,,** Pavel Pavel BorodinBorodin,,## Reinhard KleinReinhard Klein##

*University of T*University of Tuebingenuebingen, , GermanyGermany

##University of Bonn, GermanyUniversity of Bonn, Germany

Intersection Free Intersection Free SimplificationSimplification

Page 2: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn22

OutlineOutline Introduction and Problem Introduction and Problem

DescriptionDescription Related WorkRelated Work Spatial Spatial Data StructureData Structure Detection and Avoidance of Detection and Avoidance of

CollisionsCollisions ResultsResults ConclusionConclusion

Page 3: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn33

IntroductionIntroduction Mesh simplificationMesh simplification

Original modelOriginal model(34834 vertices)(34834 vertices)Simplified modelSimplified model

(3483 vertices)(3483 vertices)More simplificationMore simplification(1000 vertices)(1000 vertices)

Page 4: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn44

Original modelOriginal model(34834 vertices)(34834 vertices)Simplified modelSimplified model

(3483 vertices)(3483 vertices)More simplificationMore simplification(1000 vertices)(1000 vertices)

IntroductionIntroduction Mesh simplificationMesh simplification

Page 5: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn55

Original modelOriginal model(34834 vertices)(34834 vertices)Simplified modelSimplified model

(3483 vertices)(3483 vertices)More simplificationMore simplification(1000 vertices)(1000 vertices)

IntroductionIntroduction Mesh simplificationMesh simplification

Page 6: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn66

Problem DescriptionProblem Description Original modelsOriginal models

Man with trousers and Man with trousers and shirt (17060 vertices)shirt (17060 vertices)

Two nested spheres Two nested spheres (1028 vertices)(1028 vertices)

Page 7: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn77

Problem DescriptionProblem Description Simplified models with self-Simplified models with self-

intersectionsintersections

Simplified to 600 verticesSimplified to 600 vertices

Simplified to 70 verticesSimplified to 70 vertices

Page 8: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn88

Problem DescriptionProblem Description Self-intersections detected Self-intersections detected

and avoidedand avoided

Simplified to 600 vertices Simplified to 600 vertices intersection freeintersection free

Simplified to 70 vertices Simplified to 70 vertices intersection freeintersection free

Page 9: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn99

Related WorkRelated Work Edge contraction Edge contraction

simplificationsimplificationHoppe 1996Hoppe 1996

contracts twocontracts two adjacent adjacent verticesvertices performs no topology alterationperforms no topology alteration

vvccvv22

vv11

Page 10: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1010

Related WorkRelated Work Vertex pair contraction Vertex pair contraction

simplificationsimplificationPopovic & HoppePopovic & Hoppe / / Garland & Garland & HeckbertHeckbert 1997 1997

generalizes the edge contractiongeneralizes the edge contraction the contracted vertices do not the contracted vertices do not

necessarily lie on a common edgenecessarily lie on a common edge

vvcc

vv11

vv22

Page 11: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1111

Related WorkRelated Work Vertex pair contraction Vertex pair contraction

simplificationsimplificationPopovic & HoppePopovic & Hoppe / / Garland & Garland & HeckbertHeckbert 1997 1997

allows to sew together allows to sew together unconnected components and to unconnected components and to close small gapsclose small gaps

allows topology modificationsallows topology modifications

vvcc

vv11

vv22

Page 12: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1212

Related WorkRelated Work Quadric error metrics (QEM)Quadric error metrics (QEM)

Garland & HeckbertGarland & Heckbert 1997 1997 Fundamental error quadric Fundamental error quadric QQff(p)(p)

measures the squared distance measures the squared distance dd of a point of a point pp to the plane of a to the plane of a face face ff..

Each vertex Each vertex vv is assigned an is assigned an initial quadric initial quadric QQ constructed as constructed as the sum of the fundamental the sum of the fundamental quadrics of its incident faces quadrics of its incident faces weighted by their areas.weighted by their areas.

Page 13: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1313

Related WorkRelated Work Quadric error metrics (QEM)Quadric error metrics (QEM)

Garland & HeckbertGarland & Heckbert 1997 1997 After contracting two vertices After contracting two vertices vv11 and and

vv22 the quadric of the new vertex the quadric of the new vertex vvcc is is defined asdefined asQQcc = Q = Q11 + Q + Q22..

The location of new vertex The location of new vertex vvcc is set in is set in a way to minimize the error a way to minimize the error e = ve = vTTQQccvv..

This minimum error This minimum error ee is used to is used to measure the error caused by the measure the error caused by the performed contraction operation.performed contraction operation.

Page 14: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1414

Classical Simplification Classical Simplification algorithmalgorithm

InitializationInitialization build spatial grid, insert verticesbuild spatial grid, insert vertices find close vertex pairsfind close vertex pairs build queue, sorted by QEMbuild queue, sorted by QEM

Simplification loopSimplification loop extract operation with minimum extract operation with minimum

error error ee if isValid (normal test)if isValid (normal test)

remove invalidated operations from remove invalidated operations from queuequeue

perform operationperform operation insert new operations into queueinsert new operations into queue

Page 15: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1515

Related WorkRelated Work Avoidance of self-collisions Avoidance of self-collisions

during simplificationduring simplification Ronfard &Ronfard & RossignacRossignac 1996: 1996:

normal checknormal check only prevention ofonly prevention of local self- local self-intersectionsintersections

Staadt Staadt & Gross 1998:& Gross 1998: progressive tetrahedralizationsprogressive tetrahedralizations prevention ofprevention of self-intersections self-intersections of the boundary surface ofof the boundary surface of the the tetrahedral meshtetrahedral mesh

Page 16: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1616

Modified simplification Modified simplification algorithmalgorithm

InitializationInitialization remove initial self-remove initial self-

intersectionsintersections build spatial grid, build spatial grid, insert insert

simplicessimplices find close vertex pairsfind close vertex pairs build queue, sorted by QEMbuild queue, sorted by QEM

Simplification loopSimplification loop

Page 17: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1717

Modified simplification Modified simplification algorithmalgorithm

InitializationInitialization Simplification loopSimplification loop

extract operationextract operation with minimumwith minimum error error ee

if isValid (normal test,if isValid (normal test,collision detection / avoidancecollision detection / avoidance)) remove invalidated operations from remove invalidated operations from queuequeue

remove affected simplices from remove affected simplices from gridgrid

perform operationperform operation insert remaining simplices into gridinsert remaining simplices into grid insert new operations to queueinsert new operations to queue

Page 18: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1818

Spatial Spatial Data StructureData Structure Remove initial self-intersectionsRemove initial self-intersections

Query 1:Query 1: find all intersecting find all intersecting pairs of edge and pairs of edge and triangletriangle

Find close vertex pairsFind close vertex pairsQuery 2:Query 2: for given vertex find the for given vertex find the closest not closest not adjacent vertexadjacent vertex

Collision testCollision testQuery 3:Query 3: find all simplices in find all simplices in region affected by region affected by operationoperation

Page 19: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn1919

Spatial Spatial Data StructureData Structure Search structure must Search structure must

support fast dynamic support fast dynamic updatesupdates

Regular gridRegular grid (Zachmann (Zachmann 2001)2001) average edge length as cell average edge length as cell

side length of gridside length of grid keep track of average edge keep track of average edge

length during simplificationlength during simplification rebuild grid, whenever rebuild grid, whenever

average edge length average edge length increases by factor of twoincreases by factor of two

Page 20: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2020

Detection of CollisionsDetection of Collisions Classification of simplices: Classification of simplices:

1212 :: contracted contracted simplices are simplices areincident to both contractionincident to both contractionvertices vertices vv11 and and vv22

11 andand 22 :: affected affected simplices simplicesare incident to one of theare incident to one of thecontraction vertices contraction vertices vv11 or or vv22

00 :: stationary stationary simplices - all simplices - all remaining simplicesremaining simplices

vv22

vv11

Page 21: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2121

Detection of CollisionsDetection of Collisions The affected simplices can The affected simplices can

cause two problems:cause two problems:

We parametrize the vertex pair We parametrize the vertex pair contraction operation over the contraction operation over the time interval time interval tt [0, 1][0, 1]::

vvjj((tt) = ) = vvjj + + tt · ( · (vvcc - - vvjj), ), jj {1, 2} {1, 2}

vv22vv11 vvccvv22vv11 vvcc

IntersectionIntersection InsideInside-outside switch-outside switch

Page 22: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2222

Detection of CollisionsDetection of Collisions Classification of collisions: Classification of collisions:

hit collisions of the 1st kindhit collisions of the 1st kindbetween a simplex frombetween a simplex from1 1 or or 22 and a simplex from and a simplex from 00

hit collisions of the 2nd kindhit collisions of the 2nd kindbetween a simplex from between a simplex from 1212

and a simplex from and a simplex from 00 fan collisionsfan collisions between two between two

simplices from simplices from 11

or two simplices from or two simplices from 22

vv22

vv11

Page 23: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2323

Detection of CollisionsDetection of Collisions Classification of collisions: Classification of collisions:

contraction collisions of thecontraction collisions of the1st kind1st kind between a simplex between a simplexfrom from 11 and a simplex from and a simplex from 22

contraction collisions of thecontraction collisions of the2nd kind2nd kind between a simplex between a simplexfrom from 1 1 or or 22 and a simplex and a simplex from from 1212 or between or betweentwo simplices from two simplices from 1212

vv22

vv11

Page 24: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2424

Detection of CollisionsDetection of CollisionsLemma:Lemma:

Any collision between an edge Any collision between an edge and a triangle or between two and a triangle or between two triangles is preceeded by or triangles is preceeded by or coincides with a collision coincides with a collision between a vertex and a simplex between a vertex and a simplex or between two edges.or between two edges.

We have to check only collisions We have to check only collisions between a vertex and a simplex between a vertex and a simplex or between two edges.or between two edges.

vvcc

TTss

TTaa

TTssvv11

vvcc

TTaa

TTssvv11

vvcc

TTaa

Page 25: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2525

Detection of CollisionsDetection of CollisionsTheorem:Theorem:

Any fan collision is preceeded by Any fan collision is preceeded by or coincides with a hit collision.or coincides with a hit collision.

Fan collisions and contraction Fan collisions and contraction collisions of the 2nd kind always collisions of the 2nd kind always coincide with another type of coincide with another type of collision and therefore do not collision and therefore do not have to be testedhave to be tested

vv11

vvcc

eeaa22

eeaa11

vvss

vv11

vvcc

eeaa22

eeaa11 vvss

vvcc

eeaa22

eeaa11vvss

Page 26: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2626

Detection of CollisionsDetection of Collisions To reduce the number of To reduce the number of

different collision tests, we different collision tests, we split the pair contraction split the pair contraction into into two phasestwo phases::

we drag vertex we drag vertex vv11 with fixed with fixed vv22 onto onto vvcc

thenthen we drag we drag vv22 onto onto vvc c

Only hit collisions of the 1st Only hit collisions of the 1st kind can arise.kind can arise.

Page 27: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2727

Detection of CollisionsDetection of Collisions Hit collision testsHit collision tests

We detect We detect hit collisions of hit collisions of the 1st kindthe 1st kind by an by an intersection test between intersection test between the time sweep of the the time sweep of the affected simplex with the affected simplex with the stationary simplex.stationary simplex.

ttii

t = t = 00

TTss

vv11 vvcc

t = t = 11

ttiieess

vv11

vvss

vvcc

t = t = 00 t = t = 11vv11 vvcc

ttii

vvss11

t = t = 00 t = t = 11

vvss22

vvii

Time sweep Time sweep of theof the

edge (edge (vvss vv11))

Time sweep Time sweep of the of the

vertex vertex vv11

Time sweep Time sweep of the of the

triangle (triangle (vvss11 vvss22 vv11))

Page 28: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2828

Detection of CollisionsDetection of Collisions Skipping invalid operations Skipping invalid operations

does not allow the does not allow the generation of coarse generation of coarse meshes with low error.meshes with low error.

OriginalOriginal(17060 (17060

vertices)vertices)Without Without

collision testcollision test(600 vertices)(600 vertices)

Prevention of Prevention of collisionscollisions

(600 vertices)(600 vertices)

Page 29: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn2929

Detection of CollisionsDetection of Collisions Skipping invalid operations does Skipping invalid operations does

not allow the generation of not allow the generation of coarse meshes with low error.coarse meshes with low error.

Most operations of vertices close Most operations of vertices close to the clothes won't be valid in a to the clothes won't be valid in a late stage.late stage.

Only some parts (head) can be Only some parts (head) can be reduced further.reduced further.

OriginalOriginalWithout Without collision testcollision test

Prevention of Prevention of collisionscollisions

Page 30: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3030

Avoidance of CollisionsAvoidance of Collisions Strategies to avoid the large Strategies to avoid the large

number of invalid operations: number of invalid operations: Move the part of the mesh, Move the part of the mesh,

into which the contracted part into which the contracted part bumped.bumped.

Look for a different target Look for a different target position, that does not cause position, that does not cause an intersection.an intersection.In this case the progressive In this case the progressive representation of the model representation of the model can be stored in the same way.can be stored in the same way.

Both.Both.

Page 31: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3131

Avoidance of CollisionsAvoidance of Collisions Avoidance algorithmAvoidance algorithm

Look for a Look for a valid target valid target locationlocation that does not cause that does not cause a self-intersection.a self-intersection.

If a valid target location is If a valid target location is foundfound evaluate quadric error metric evaluate quadric error metric at new target positionat new target position

re-insert operation into priority re-insert operation into priority queue.queue.

Page 32: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3232

Avoidance of CollisionsAvoidance of Collisions Find a valid target location that Find a valid target location that

does not cause a self-does not cause a self-intersection. intersection. Not possible in some situations.Not possible in some situations. In most situations there is aIn most situations there is a

valid regionvalid region of valid target of valid target positions.positions.

Find location in the valid region Find location in the valid region that minimizes the quadric error that minimizes the quadric error metric.metric.

Explicit computation is very Explicit computation is very expensive.expensive.

We use approximate solutionsWe use approximate solutions

TTss

vv11 vv22

Page 33: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3333

Avoidance of CollisionsAvoidance of Collisions 1st approximate solution: First Hit1st approximate solution: First Hit

Among all collision times Among all collision times ttii we we determine the time determine the time ttmin min of the first of the first collision.collision.

As new target location we take the As new target location we take the position at time position at time ttminmin of the contraction of the contraction vertex causing the collision.vertex causing the collision.

If not valid, we repeat it up to If not valid, we repeat it up to nn times.times.

ttii

t = t = 00

TTss

vv11 vvcc

t = t = 11

Page 34: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3434

Avoidance of CollisionsAvoidance of Collisions 2nd approximate solution: 2nd approximate solution:

Barycentric SamplingBarycentric Sampling We sample 14 possible target We sample 14 possible target

locations on the triangle (locations on the triangle (vv11 vv22 vvcc).).

Sort the sample locations by Sort the sample locations by increasing QEM error and check increasing QEM error and check for collisions until the first valid for collisions until the first valid target location is found.target location is found.

vv11

vvcc

vv22

Page 35: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3535

Avoidance of CollisionsAvoidance of Collisions

OriginalOriginal17060 vertices17060 vertices

Without Without collision testcollision test600 vertices, 600 vertices, error=error=0.1050.105

Prevention of Prevention of collisionscollisions

600 vertices, 600 vertices, error=0.129error=0.129

Avoidance of Avoidance of collisionscollisions

600 vertices, 600 vertices, error=error=0.1180.118

Page 36: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3636

ResultsResults

Original model: woman with dress Original model: woman with dress (19498 vertices)(19498 vertices)

Page 37: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3737

ResultsResults

The model simplified without collision The model simplified without collision test (370 vertices)test (370 vertices)

Page 38: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3838

ResultsResults

The model simplified without collision The model simplified without collision test (370 vertices)test (370 vertices)

Page 39: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn3939

ResultsResults

The model simplified with collission The model simplified with collission avoidance (370 vertices)avoidance (370 vertices)

Page 40: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4040

ResultsResults

The model simplified with collission The model simplified with collission avoidance (370 vertices)avoidance (370 vertices)

Page 41: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4141

ResultsResults

Original model: man with trousers and Original model: man with trousers and shirt (17060 vertices)shirt (17060 vertices)

Page 42: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4242

ResultsResults

Simplified model with self-itersections Simplified model with self-itersections (600 vertices)(600 vertices)

Page 43: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4343

ResultsResults

Simplified model with self-itersections Simplified model with self-itersections (600 vertices)(600 vertices)

Page 44: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4444

ResultsResults

The model simplified The model simplified with collision with collision

prevention (600 prevention (600 vertices)vertices)

The model simplified The model simplified with collision with collision

avoidance (600 avoidance (600 vertices)vertices)

Page 45: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4545

ResultsResults

The model simplified The model simplified with collision with collision

prevention (600 prevention (600 vertices)vertices)

The model simplified The model simplified with collision with collision

avoidance (600 avoidance (600 vertices)vertices)

Page 46: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4646

ResultsResults

Measurement of Hausdorff Distances Measurement of Hausdorff Distances (HD)(HD)

ModelsModels MManan WomaWomann BunnyBunny

NoNo.. of of verticeverticess: : originaloriginal 1706017060 1949819498 3483834838

NoNo.. of of verticeverticess: : reducedreduced 600600 370370 500500

HD:HD: classical classical algorithmalgorithm 0.1050.105 0.1600.160 0.1070.107

HD: collision HD: collision preventionprevention 0.1290.129 0.2030.203 0.1070.107

HD: HD: first hitfirst hit 0.1240.124 0.1850.185 0.1070.107HD: HD: barycentric barycentric

samplingsampling 0.1180.118 0.1650.165 0.1070.107

Page 47: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4747

ResultsResults

Measurement of performance (sec / 1000 Measurement of performance (sec / 1000 contractions)contractions)

ModelsModels MManan WomaWomann BunnyBunny

NoNo.. of of verticeverticess: : originaloriginal 1706017060 1949819498 3483834838

NoNo.. of of verticeverticess: : reducedreduced 600600 370370 500500

Time:Time: classical classical algorithmalgorithm 1.71.7 1.91.9 1.31.3

Time: collision Time: collision preventionprevention 9.29.2 13.413.4 3.13.1

Time: Time: first hitfirst hit 9.79.7 9.69.6 3.23.2Time: Time:

barycentric barycentric samplingsampling

19.019.0 12.412.4 3.13.1

Page 48: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4848

ConclusionConclusion First approach to globally prevent First approach to globally prevent

and avoid self-intersections during and avoid self-intersections during mesh simplification.mesh simplification.

We used vertex pair contraction, We used vertex pair contraction, other approaches could be other approaches could be supported.supported.

No new operations introduced, No new operations introduced, therefore progressive transmission therefore progressive transmission and LOD can be supported without and LOD can be supported without any modifications.any modifications.

Generation of high quality Generation of high quality approximations for models with approximations for models with close surface layers.close surface layers.

Page 49: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn4949

Future WorksFuture Works Avoidance of insertion into Avoidance of insertion into

grid in regions where no grid in regions where no collision can arise.collision can arise.

Generalization for animated Generalization for animated models.models.

Page 50: Stefan Gumhold,* Pavel Borodin, # Reinhard Klein # *University of Tuebingen, Germany # University of Bonn, Germany Intersection Free Simplification

Stefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free SimStefan Gumhold, Pavel Borodin, Reinhard Klein - Intersection Free Simplificationplification

University of Tuebingen University of Tuebingen University of Bonn University of Bonn5050

Thank youThank you