Overlay stitch meshing
This presentation is the property of its rightful owner.
Sponsored Links
1 / 123

Overlay Stitch Meshing PowerPoint PPT Presentation


  • 60 Views
  • Uploaded on
  • Presentation posted in: General

Overlay Stitch Meshing. A competitive algorithm for no-large-angle triangulation. Don Sheehy Joint work with Gary Miller and Todd Phillips To appear at ICALP 2007. The Problem. Input: A Planar Straight Line Graph. The Problem. Input: A Planar Straight Line Graph.

Download Presentation

Overlay Stitch Meshing

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Overlay stitch meshing

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing


A competitive algorithm for no large angle triangulation

A competitive algorithm for no-large-angle triangulation

Don Sheehy

Joint work with Gary Miller and Todd Phillips

To appear at ICALP 2007

Don Sheehy

Overlay Stitch Meshing


The problem

The Problem

Input: A Planar Straight Line Graph

Don Sheehy

Overlay Stitch Meshing


The problem1

The Problem

Input: A Planar Straight Line Graph

Output: A Conforming Triangulation

Don Sheehy

Overlay Stitch Meshing


The problem2

The Problem

Input: A Planar Straight Line Graph

Output: A Conforming Triangulation

Don Sheehy

Overlay Stitch Meshing


Why would you want to do that

Why would you want to do that?

Don Sheehy

Overlay Stitch Meshing


Why would you want to do that1

Why would you want to do that?

Don Sheehy

Overlay Stitch Meshing


Why would you want to do that2

Why would you want to do that?

Don Sheehy

Overlay Stitch Meshing


Why would you want to do that3

Why would you want to do that?

Don Sheehy

Overlay Stitch Meshing


Why would you want to do that4

Why would you want to do that?

Don Sheehy

Overlay Stitch Meshing


Why would you want to do that5

Why would you want to do that?

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

What went wrong?

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

?

?

What if you don’t know the function?

Don Sheehy

Overlay Stitch Meshing


2 definitions of quality

2 Definitions of Quality

1. No Large Angles [Babuska, Aziz 1976]

Don Sheehy

Overlay Stitch Meshing


2 definitions of quality1

2 Definitions of Quality

1. No Large Angles [Babuska, Aziz 1976]

2. No Small Angles

Don Sheehy

Overlay Stitch Meshing


No small angles

No Small Angles

Don Sheehy

Overlay Stitch Meshing


No small angles1

No Small Angles

You may have heard of these before.

Delaunay Refinement

Sparse Voronoi Refinement

Quadtree

Don Sheehy

Overlay Stitch Meshing


Paying for the spread

Paying for the spread

Don Sheehy

Overlay Stitch Meshing


Paying for the spread1

Paying for the spread

Spread = L/s

L

s

Don Sheehy

Overlay Stitch Meshing


Paying for the spread2

Paying for the spread

Optimal No-Large-Angle Triangulation

Don Sheehy

Overlay Stitch Meshing


Paying for the spread3

Paying for the spread

What if we don’t allow small angles?

Don Sheehy

Overlay Stitch Meshing


Paying for the spread4

Paying for the spread

What if we don’t allow small angles?

Don Sheehy

Overlay Stitch Meshing


Paying for the spread5

Paying for the spread

What if we don’t allow small angles?

O(L/s) triangles!

Don Sheehy

Overlay Stitch Meshing


Paying for the spread6

Paying for the spread

What if we don’t allow small angles?

Fact: For inputs with NO edges, no-small-angle meshing algorithms produce output with O(n log L/s) size and angles between 30o and 120o

O(L/s) triangles!

Don Sheehy

Overlay Stitch Meshing


What to do

What to do?

Don Sheehy

Overlay Stitch Meshing


What to do1

What to do?

Small input angles can force even smaller ouput angles. [Shewchuk ’02]

Don Sheehy

Overlay Stitch Meshing


No large angles

No Large Angles

Don Sheehy

Overlay Stitch Meshing


Polygons with holes

Polygons with Holes

[Bern, Mitchell, Ruppert 95] –

- All triangles are nonobtuse.

- Output has O(n) triangles.

Don Sheehy

Overlay Stitch Meshing


Polygons with holes1

Polygons with Holes

[Bern, Mitchell, Ruppert 95] –

- All triangles are nonobtuse.

- Output has O(n) triangles.

Does not work for arbitrary PSLGs

Don Sheehy

Overlay Stitch Meshing


Paterson s example

Paterson’s Example

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing


Paterson s example1

Paterson’s Example

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing


Paterson s example2

Paterson’s Example

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing


Paterson s example3

Paterson’s Example

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing


Paterson s example4

Paterson’s Example

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing


Paterson s example5

Paterson’s Example

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing


Propagating paths

Propagating Paths

Don Sheehy

Overlay Stitch Meshing


Propagating paths1

Propagating Paths

Don Sheehy

Overlay Stitch Meshing


Propagating paths2

Propagating Paths

Don Sheehy

Overlay Stitch Meshing


Propagating paths3

Propagating Paths

Don Sheehy

Overlay Stitch Meshing


Propagating paths4

Propagating Paths

Don Sheehy

Overlay Stitch Meshing


Propagating paths5

Propagating Paths

First introduced by Mitchell [93]

Don Sheehy

Overlay Stitch Meshing


Propagating paths6

Propagating Paths

First introduced by Mitchell [93]

Later Improved by Tan [96]

Don Sheehy

Overlay Stitch Meshing


Propagating paths7

Propagating Paths

First introduced by Mitchell [93]

Later Improved by Tan [96]

Worst Case Optimal Size O(n2)

Angle bounds: 132o

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing1

The OSM Algorithm(Overlay Stitch Meshing)

  • Results:

  • Angles bounded by 170o

  • O(log L/s) competitive size

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing2

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing3

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing4

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing5

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing6

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing7

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing8

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing9

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing10

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing11

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing12

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing13

The OSM Algorithm(Overlay Stitch Meshing)

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing14

The OSM Algorithm(Overlay Stitch Meshing)

  • An Overlay Edge is kept if

    1. It does not intersect the input,

    OR

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing15

The OSM Algorithm(Overlay Stitch Meshing)

  • An Overlay Edge is kept if

    1. It does not intersect the input,

    OR

    2. It forms a good intersection with the input.

Don Sheehy

Overlay Stitch Meshing


The osm algorithm overlay stitch meshing16

The OSM Algorithm(Overlay Stitch Meshing)

  • An Overlay Edge is kept if

    1. It does not intersect the input,

    OR

    2. It forms a good intersection with the input.

at least 30o

Don Sheehy

Overlay Stitch Meshing


Angle guarantees

Angle Guarantees

Don Sheehy

Overlay Stitch Meshing


Angle guarantees1

Angle Guarantees

Don Sheehy

Overlay Stitch Meshing


Angle guarantees2

Angle Guarantees

We want to show that angles at stitch vertices are bounded by 170o

Don Sheehy

Overlay Stitch Meshing


Angle guarantees3

Angle Guarantees

An Overlay Triangle

Don Sheehy

Overlay Stitch Meshing


Angle guarantees4

Angle Guarantees

An Overlay Triangle

An Overlay Edge

Don Sheehy

Overlay Stitch Meshing


Angle guarantees5

Angle Guarantees

Gap Ball

An Overlay Triangle

An Overlay Edge

Don Sheehy

Overlay Stitch Meshing


Angle guarantees6

Angle Guarantees

A Good Intersection

Don Sheehy

Overlay Stitch Meshing


Angle guarantees7

Angle Guarantees

A Bad Intersection

Don Sheehy

Overlay Stitch Meshing


Angle guarantees8

Angle Guarantees

A Bad Intersection

Don Sheehy

Overlay Stitch Meshing


Angle guarantees9

Angle Guarantees

A Bad Intersection

Don Sheehy

Overlay Stitch Meshing


Angle guarantees10

Angle Guarantees

How Bad can it be?

A Bad Intersection

Don Sheehy

Overlay Stitch Meshing


Angle guarantees11

Angle Guarantees

How Bad can it be?

Don Sheehy

Overlay Stitch Meshing


Angle guarantees12

Angle Guarantees

How Bad can it be?

Don Sheehy

Overlay Stitch Meshing


Angle guarantees13

Angle Guarantees

How Bad can it be?

About 10o

Don Sheehy

Overlay Stitch Meshing


Angle guarantees14

Angle Guarantees

How Bad can it be?

About 10o

About 170o

Don Sheehy

Overlay Stitch Meshing


Angle guarantees15

Angle Guarantees

How Bad can it be?

Theorem: If any input edge makes a good intersection with an overlay edge then any other intersection on that edge is not too bad.

About 10o

About 170o

Don Sheehy

Overlay Stitch Meshing


Size bounds

Size Bounds

Don Sheehy

Overlay Stitch Meshing


Size bounds1

Size Bounds

How big is the resulting triangulation?

Don Sheehy

Overlay Stitch Meshing


Size bounds2

Size Bounds

How big is the resulting triangulation?

Goal: log(L/s)-competitive with optimal

Don Sheehy

Overlay Stitch Meshing


Local feature size

Local Feature Size

lfs(x) = distance to second nearest input vertex.

Note: lfs is defined on the whole plane before we do any meshing.

x

lfs(x)

Don Sheehy

Overlay Stitch Meshing


Ruppert s idea

Ruppert’s Idea

  • r = Q(lfs(c))

  • area(D) = Q(lfs(c)2)

  • # of triangles = (ss 1/lfs(x,y)2 dxdy)

r

c

Don Sheehy

Overlay Stitch Meshing


Ruppert s idea1

Ruppert’s Idea

  • r = Q(lfs(c))

  • area(D) = Q(lfs(c)2)

  • # of triangles = (ss 1/lfs(x,y)2 dxdy)

r

c

dx

This represents a (dxdy/lfs(x,y)2) fraction of the triangle.

dy

Don Sheehy

Overlay Stitch Meshing


Ruppert s idea2

Ruppert’s Idea

  • r = Q(lfs(c))

  • area(D) = Q(lfs(c)2)

  • # of triangles = (ss lfs(x,y)-2 dxdy)

r

c

Caveat: Only Works for meshes

with bounded smallest angle.

Don Sheehy

Overlay Stitch Meshing


Extending ruppert s idea

Extending Ruppert’s Idea

# of triangles = (ss lfs(x,y)-2 dxdy)

Don Sheehy

Overlay Stitch Meshing


Extending ruppert s idea1

Extending Ruppert’s Idea

# of triangles = (ss lfs(x,y)-2 dxdy)

An input edge e intersecting

the overlay mesh

Don Sheehy

Overlay Stitch Meshing


Extending ruppert s idea2

Extending Ruppert’s Idea

# of triangles = (ss lfs(x,y)-2 dxdy)

# of triangles along e = (sz2 e lfs(z)-1 dz)

An input edge e intersecting

the overlay mesh

Don Sheehy

Overlay Stitch Meshing


Extending ruppert s idea3

Extending Ruppert’s Idea

# of triangles = (ss lfs(x,y)-2 dxdy)

# of triangles along e = (sz2 e lfs(z)-1 dz)

Now we can compute the size of our output mesh. We just need to compute these integrals.

Don Sheehy

Overlay Stitch Meshing


Output size

Output Size

Overlay Mesh Size = (ss lfs(x,y)-2 dxdy)

Stitch Vertices Added = (sz2 E lfs(z)-1 dz)

Don Sheehy

Overlay Stitch Meshing


Output size1

Output Size

Overlay Mesh Size = (ss lfs(x,y)-2 dxdy)

O(n log L/s)

Stitch Vertices Added = (sz2 E lfs(z)-1 dz)

O(log L/s)£ |OPT|

Don Sheehy

Overlay Stitch Meshing


Output size2

Output Size

Overlay Mesh Size = (ss lfs(x,y)-2 dxdy)

O(n log L/s)

Stitch Vertices Added = (sz2 E lfs(z)-1 dz)

O(log L/s)£ |OPT|

We’ll Prove this now

Don Sheehy

Overlay Stitch Meshing


Overlay stitch meshing

What can we say about the optimal no-large-angle triangulation?

Don Sheehy

Overlay Stitch Meshing


Competitive analysis

Competitive Analysis

Warm-up

Don Sheehy

Overlay Stitch Meshing


Competitive analysis1

Competitive Analysis

Warm-up

90o

Don Sheehy

Overlay Stitch Meshing


Competitive analysis2

Competitive Analysis

Warm-up

?o

Don Sheehy

Overlay Stitch Meshing


Competitive analysis3

Competitive Analysis

Warm-up

Don Sheehy

Overlay Stitch Meshing


Competitive analysis4

Competitive Analysis

Warm-up

Don Sheehy

Overlay Stitch Meshing


Competitive analysis5

Competitive Analysis

Warm-up

Don Sheehy

Overlay Stitch Meshing


Competitive analysis6

Competitive Analysis

Warm-up

Don Sheehy

Overlay Stitch Meshing


Competitive analysis7

Competitive Analysis

Warm-up

Don Sheehy

Overlay Stitch Meshing


Competitive analysis8

Competitive Analysis

Warm-up

Suppose we have a triangulation with all angles at least 170o.

Don Sheehy

Overlay Stitch Meshing


Competitive analysis9

Competitive Analysis

Warm-up

Suppose we have a triangulation with all angles at least 170o.

the optimal

Don Sheehy

Overlay Stitch Meshing


Competitive analysis10

Competitive Analysis

Warm-up

Suppose we have a triangulation with all angles at least 170o.

the optimal

Every input edge is covered by empty lenses.

Don Sheehy

Overlay Stitch Meshing


Competitive analysis11

Competitive Analysis

This is what we have to integrate over.

Suppose we have a triangulation with all angles at least 170o.

the optimal

Every input edge is covered by empty lenses.

Don Sheehy

Overlay Stitch Meshing


Competitive analysis12

Competitive Analysis

This is what we have to integrate over.

We show that in each lens, we put O(log (L/s)) points on the edge.

Don Sheehy

Overlay Stitch Meshing


Competitive analysis13

Competitive Analysis

This is what we have to integrate over.

e’

We show that in each lens, we put O(log (L/s)) points on the edge.

In other words:

se’ 1/lfs(z) dz = O(log (L/s))

Don Sheehy

Overlay Stitch Meshing


Competitive analysis14

Competitive Analysis

sz2 e’ 1/lfs(z) dz = O(log (L/s))

e’

Don Sheehy

Overlay Stitch Meshing


Competitive analysis15

Competitive Analysis

sz2 e’ 1/lfs(z) dz = O(log (L/s))

e’

Parametrize e’ as [0, l] where l = length(e’)

Don Sheehy

Overlay Stitch Meshing


Competitive analysis16

Competitive Analysis

sz2 e’ 1/lfs(z) dz = O(log (L/s))

e’

Parametrize e’ as [0, l]

1st trick: lfs ¸ s everywhere

Don Sheehy

Overlay Stitch Meshing


Competitive analysis17

Competitive Analysis

sz2 e’ 1/lfs(z) dz = O(log (L/s))

t

e’

Parametrize e’ as [0, l]

1st trick: lfs ¸ s everywhere

2nd trick: lfs ¸ ct for t2 [0,l/2]

Don Sheehy

Overlay Stitch Meshing


Competitive analysis18

Competitive Analysis

sz2 e’ 1/lfs(z) dz = O(log (L/s))

t

e’

sz2 e’ 1/lfs(z) dz · 2s0s 1/s + 2ssl/2 1/x dx

= O(1) + O(log l/s)

= O(log L/s)

Parametrize e’ as [0, l]

1st trick: lfs ¸ s everywhere

2nd trick: lfs ¸ ct for t2 [0,l/2]

Don Sheehy

Overlay Stitch Meshing


Conclusions

Conclusions

Don Sheehy

Overlay Stitch Meshing


Conclusion

Conclusion

  • A new algorithm for no-large-angle triangulation.

  • The output has bounded degree triangles.

  • The first log-competitive analysis for such an algorithm.

Don Sheehy

Overlay Stitch Meshing


Conclusion1

Conclusion

  • A new algorithm for no-large-angle triangulation.

  • The output has bounded degree triangles.

  • The first log-competitive analysis for such an algorithm.

  • We used some of the high school calculus you thought you forgot.

Don Sheehy

Overlay Stitch Meshing


Where to go from here

Where to go from here?

  • 3D?

Don Sheehy

Overlay Stitch Meshing


Where to go from here1

Where to go from here?

  • 3D?

  • Better angle bounds?

Don Sheehy

Overlay Stitch Meshing


Where to go from here2

Where to go from here?

  • 3D?

  • Better angle bounds?

  • Leverage lower bound technology for constant competitive algorithm.

Don Sheehy

Overlay Stitch Meshing


Thank you

Thank you.

Don Sheehy

Overlay Stitch Meshing


  • Login