- 92 Views
- Uploaded on
- Presentation posted in: General

Overlay Stitch Meshing

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 - - - - - - - - - - - - - - - - - - - - - - - - - -

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Joint work with Gary Miller and Todd Phillips

To appear at ICALP 2007

Don Sheehy

Overlay Stitch Meshing

Input: A Planar Straight Line Graph

Don Sheehy

Overlay Stitch Meshing

Input: A Planar Straight Line Graph

Output: A Conforming Triangulation

Don Sheehy

Overlay Stitch Meshing

Input: A Planar Straight Line Graph

Output: A Conforming Triangulation

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

What went wrong?

Don Sheehy

Overlay Stitch Meshing

?

?

What if you don’t know the function?

Don Sheehy

Overlay Stitch Meshing

1. No Large Angles [Babuska, Aziz 1976]

Don Sheehy

Overlay Stitch Meshing

1. No Large Angles [Babuska, Aziz 1976]

2. No Small Angles

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

You may have heard of these before.

Delaunay Refinement

Sparse Voronoi Refinement

Quadtree

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Spread = L/s

L

s

Don Sheehy

Overlay Stitch Meshing

Optimal No-Large-Angle Triangulation

Don Sheehy

Overlay Stitch Meshing

What if we don’t allow small angles?

Don Sheehy

Overlay Stitch Meshing

What if we don’t allow small angles?

Don Sheehy

Overlay Stitch Meshing

What if we don’t allow small angles?

O(L/s) triangles!

Don Sheehy

Overlay Stitch Meshing

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

Don Sheehy

Overlay Stitch Meshing

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

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

[Bern, Mitchell, Ruppert 95] –

- All triangles are nonobtuse.

- Output has O(n) triangles.

Don Sheehy

Overlay Stitch Meshing

[Bern, Mitchell, Ruppert 95] –

- All triangles are nonobtuse.

- Output has O(n) triangles.

Does not work for arbitrary PSLGs

Don Sheehy

Overlay Stitch Meshing

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing

Requires (n2) points.

O(n) points

O(n) lines

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

First introduced by Mitchell [93]

Don Sheehy

Overlay Stitch Meshing

First introduced by Mitchell [93]

Later Improved by Tan [96]

Don Sheehy

Overlay Stitch Meshing

First introduced by Mitchell [93]

Later Improved by Tan [96]

Worst Case Optimal Size O(n2)

Angle bounds: 132o

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

- Results:
- Angles bounded by 170o
- O(log L/s) competitive size

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

- An Overlay Edge is kept if
1. It does not intersect the input,

OR

Don Sheehy

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

- 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

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing

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

Don Sheehy

Overlay Stitch Meshing

An Overlay Triangle

Don Sheehy

Overlay Stitch Meshing

An Overlay Triangle

An Overlay Edge

Don Sheehy

Overlay Stitch Meshing

Gap Ball

An Overlay Triangle

An Overlay Edge

Don Sheehy

Overlay Stitch Meshing

A Good Intersection

Don Sheehy

Overlay Stitch Meshing

A Bad Intersection

Don Sheehy

Overlay Stitch Meshing

A Bad Intersection

Don Sheehy

Overlay Stitch Meshing

A Bad Intersection

Don Sheehy

Overlay Stitch Meshing

How Bad can it be?

A Bad Intersection

Don Sheehy

Overlay Stitch Meshing

How Bad can it be?

Don Sheehy

Overlay Stitch Meshing

How Bad can it be?

Don Sheehy

Overlay Stitch Meshing

How Bad can it be?

About 10o

Don Sheehy

Overlay Stitch Meshing

How Bad can it be?

About 10o

About 170o

Don Sheehy

Overlay Stitch Meshing

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

Don Sheehy

Overlay Stitch Meshing

How big is the resulting triangulation?

Don Sheehy

Overlay Stitch Meshing

How big is the resulting triangulation?

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

Don Sheehy

Overlay Stitch Meshing

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

- 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

- 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

- 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

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

Don Sheehy

Overlay Stitch Meshing

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

An input edge e intersecting

the overlay mesh

Don Sheehy

Overlay Stitch Meshing

# 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

# 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

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

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

Don Sheehy

Overlay Stitch Meshing

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

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

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

Don Sheehy

Overlay Stitch Meshing

Warm-up

Don Sheehy

Overlay Stitch Meshing

Warm-up

90o

Don Sheehy

Overlay Stitch Meshing

Warm-up

?o

Don Sheehy

Overlay Stitch Meshing

Warm-up

Don Sheehy

Overlay Stitch Meshing

Warm-up

Don Sheehy

Overlay Stitch Meshing

Warm-up

Don Sheehy

Overlay Stitch Meshing

Warm-up

Don Sheehy

Overlay Stitch Meshing

Warm-up

Don Sheehy

Overlay Stitch Meshing

Warm-up

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

Don Sheehy

Overlay Stitch Meshing

Warm-up

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

the optimal

Don Sheehy

Overlay Stitch Meshing

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

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

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

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

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

e’

Don Sheehy

Overlay Stitch Meshing

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

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

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

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

Don Sheehy

Overlay Stitch Meshing

- 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

- 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

- 3D?

Don Sheehy

Overlay Stitch Meshing

- 3D?
- Better angle bounds?

Don Sheehy

Overlay Stitch Meshing

- 3D?
- Better angle bounds?
- Leverage lower bound technology for constant competitive algorithm.

Don Sheehy

Overlay Stitch Meshing

Don Sheehy

Overlay Stitch Meshing