overlay stitch meshing
Download
Skip this Video
Download Presentation
Overlay Stitch Meshing

Loading in 2 Seconds...

play fullscreen
1 / 123

Overlay Stitch Meshing - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Overlay Stitch Meshing' - jelani-mcfadden


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

slide12
Don Sheehy

Overlay Stitch Meshing

slide13
Don Sheehy

Overlay Stitch Meshing

slide14
Don Sheehy

Overlay Stitch Meshing

slide15
Don Sheehy

Overlay Stitch Meshing

slide16
Don Sheehy

Overlay Stitch Meshing

slide17
Don Sheehy

Overlay Stitch Meshing

slide18

What went wrong?

Don Sheehy

Overlay Stitch Meshing

slide19

?

?

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

slide97

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

ad