Size Competitive Meshing without Large Angles

107
12 July 2007 Gary Miller Overlay Stitch Meshing 1 Size Competitive Meshing Size Competitive Meshing without Large Angles without Large Angles Gary L. Miller Gary L. Miller Carnegie Mellon Carnegie Mellon Computer Science Computer Science Joint work with Todd Joint work with Todd Phillips and Don Phillips and Don Sheehy Sheehy

description

Size Competitive Meshing without Large Angles. Gary L. Miller Carnegie Mellon Computer Science Joint work with Todd Phillips and Don Sheehy. The Problem. Input: A Planar Straight Line Graph. The Problem. Input: A Planar Straight Line Graph. Output: A Conforming Triangulation. - PowerPoint PPT Presentation

Transcript of Size Competitive Meshing without Large Angles

Page 1: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

1

Size Competitive Meshing Size Competitive Meshing without Large Angleswithout Large Angles

Gary L. MillerGary L. MillerCarnegie Mellon Carnegie Mellon

Computer ScienceComputer ScienceJoint work with Todd Joint work with Todd

Phillips and Don SheehyPhillips and Don Sheehy

Page 2: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

2

The ProblemThe ProblemInput: A Planar Straight Line Input: A Planar Straight Line

GraphGraph

Page 3: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

3

The ProblemThe ProblemInput: A Planar Straight Line Input: A Planar Straight Line

GraphGraph

Output: A Conforming TriangulationOutput: A Conforming Triangulation

Page 4: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

4

The ProblemThe ProblemInput: A Planar Straight Line Input: A Planar Straight Line

GraphGraph

Output: A Conforming TriangulationOutput: A Conforming Triangulation

Page 5: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

5

The ProblemThe ProblemInput: A Planar Straight Line Input: A Planar Straight Line

GraphGraph

Output: A Conforming TriangulationOutput: A Conforming Triangulation

QualityQuality

Page 6: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

6

What is a quality triangle?What is a quality triangle?

Page 7: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

7

What is a quality triangle?What is a quality triangle?

No Small AnglesNo Small Angles No Large AnglesNo Large Angles

Page 8: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

8

What is a quality triangle?What is a quality triangle?

No Small AnglesNo Small Angles No Large AnglesNo Large Angles

Implies triangles Implies triangles havehave

bounded bounded aspect aspect ratioratio..

Page 9: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

9

What is a quality triangle?What is a quality triangle?

No Small AnglesNo Small Angles No Large AnglesNo Large Angles

Implies triangles Implies triangles havehave

bounded bounded aspect aspect ratioratio..Implies triangles Implies triangles havehave

bounded bounded largest largest anglesangles..

Page 10: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

10

What is a quality triangle?What is a quality triangle?

No Small AnglesNo Small Angles No Large AnglesNo Large Angles

Implies triangles Implies triangles havehave

bounded bounded aspect aspect ratioratio..Implies triangles Implies triangles havehave

bounded bounded largest largest anglesangles..

Can be Can be efficientlyefficiently computed by computed by

Delaunay Delaunay RefinementRefinement

Page 11: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

11

What is a quality triangle?What is a quality triangle?

No Small AnglesNo Small Angles No Large AnglesNo Large Angles

Implies triangles Implies triangles havehave

bounded bounded aspect aspect ratioratio..Implies triangles Implies triangles havehave

bounded bounded largest largest anglesangles..

Can be Can be efficientlyefficiently computed by computed by

Delaunay Delaunay RefinementRefinement

Sufficient Sufficient for many for many applications.applications.

Page 12: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

12

What is a quality triangle?What is a quality triangle?

No Small AnglesNo Small Angles No Large AnglesNo Large Angles

Implies triangles Implies triangles havehave

bounded bounded aspect aspect ratioratio..Implies triangles Implies triangles havehave

bounded bounded largest largest anglesangles..

Can be Can be efficientlyefficiently computed by computed by

Delaunay Delaunay RefinementRefinement

Sufficient Sufficient for many for many applications.applications.

Can be asymptotically Can be asymptotically smallersmaller then Delaunay then Delaunay

Refinement Refinement triangulations.triangulations.

Page 13: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

13

What is a quality triangle?What is a quality triangle?

No Small AnglesNo Small Angles No Large AnglesNo Large Angles

Implies triangles Implies triangles havehave

bounded bounded aspect aspect ratioratio..Implies triangles Implies triangles havehave

bounded bounded largest largest anglesangles..

Can be Can be efficientlyefficiently computed by computed by

Delaunay Delaunay RefinementRefinement

Sufficient Sufficient for many for many applications.applications.

Can be asymptotically Can be asymptotically smallersmaller then Delaunay then Delaunay

Refinement Refinement triangulations.triangulations.

More More difficultdifficult to to analyze.analyze.

Page 14: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

14

In Defense of QualityIn Defense of Quality

Page 15: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

15

In Defense of QualityIn Defense of Quality

Page 16: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

16

In Defense of QualityIn Defense of Quality

Page 17: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

17

In Defense of QualityIn Defense of Quality

What went wrong?What went wrong?

Page 18: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

18

In Defense of QualityIn Defense of Quality

What went wrong?What went wrong?

Page 19: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

19

Interpolation ProblemInterpolation Problem

No Large AnglesNo Large Angles Large AnglesLarge Angles

Large angles give large HLarge angles give large H11 errors that FEMs try to minimize. errors that FEMs try to minimize.

Page 20: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

20

Paying for the spreadPaying for the spread

Page 21: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

21

Paying for the spreadPaying for the spread

LL

ss

Spread = L/sSpread = L/s

Page 22: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

22

Paying for the spreadPaying for the spread

Optimal No-Large-Angle TriangulationOptimal No-Large-Angle Triangulation

Page 23: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

23

Paying for the spreadPaying for the spreadWhat if we don’t allow small angles?What if we don’t allow small angles?

Page 24: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

24

Paying for the spreadPaying for the spreadWhat if we don’t allow small angles?What if we don’t allow small angles?

Page 25: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

25

Paying for the spreadPaying for the spread

O(L/s)O(L/s) triangles! triangles!

What if we don’t allow small angles?What if we don’t allow small angles?

Page 26: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

26

Paying for the spreadPaying for the spread

O(L/s)O(L/s) triangles! triangles!

What if we don’t allow small angles?What if we don’t allow small angles?

Page 27: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

27

Delaunay RefinementDelaunay Refinement

Page 28: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

28

Delaunay RefinementDelaunay Refinement

Page 29: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

29

Delaunay RefinementDelaunay Refinement

Theorem: Delaunay Refinement on Theorem: Delaunay Refinement on point point setssets terminates and returns a terminates and returns a triangulation with triangulation with

• all angles at least 30-all angles at least 30- degrees degrees

• O(n log L/s) trianglesO(n log L/s) triangles

On Point Sets, we only pay for the log of the spread.On Point Sets, we only pay for the log of the spread.

Page 30: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

30

Paterson’s ExamplePaterson’s ExampleRequires O(nRequires O(n22) points.) points.

O(n) O(n) pointpoint

ss

O(n) O(n) lineline

ss

Page 31: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

31

Paterson’s ExamplePaterson’s ExampleRequires Requires (n(n22) points.) points.

O(n) O(n) pointpoint

ss

O(n) O(n) lineline

ss

Page 32: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

32

Paterson’s ExamplePaterson’s ExampleRequires Requires (n(n22) points.) points.

O(n) O(n) pointpoint

ss

O(n) O(n) lineline

ss

Page 33: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

33

Paterson’s ExamplePaterson’s ExampleRequires Requires (n(n22) points.) points.

O(n) O(n) pointpoint

ss

O(n) O(n) lineline

ss

Page 34: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

34

Paterson’s ExamplePaterson’s ExampleRequires Requires (n(n22) points.) points.

O(n) O(n) pointpoint

ss

O(n) O(n) lineline

ss

Page 35: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

35

Paterson’s ExamplePaterson’s ExampleRequires Requires (n(n22) points.) points.

O(n) O(n) pointpoint

ss

O(n) O(n) lineline

ss

Page 36: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

36

Past ResultsPast Results• O(n) triangles with 90O(n) triangles with 90oo largest angles largest angles

for polygons with holes. for polygons with holes. [Bern, Mitchell, [Bern, Mitchell, Ruppert, 95]Ruppert, 95]

• ((nn22) lower bound for arbitrary ) lower bound for arbitrary PLSGs. PLSGs. [Paterson][Paterson]

• O(nO(n22) triangles with 132) triangles with 132oo angles on angles on PSLGs. PSLGs. [Tan, 96][Tan, 96]

Page 37: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

37

Past ResultsPast ResultsDelaunay Refinement MethodsDelaunay Refinement Methods No-Large-Angle MethodsNo-Large-Angle Methods

ProsPros ProsProsConsCons ConsCons

Good TheoryGood Theory

Optimal Optimal RuntimeRuntime

Graded MeshGraded Mesh

Simple to Simple to ImplementImplement

Esthetically Esthetically NiceNice

Huge Meshes Huge Meshes O(L/s)O(L/s)

Require Hacks to Require Hacks to handle small input handle small input

angles.angles.

Size depends on Size depends on smallest angle.smallest angle.

Smaller MeshesSmaller Meshes

Worst-Case Worst-Case OptimalOptimal

Smaller MeshesSmaller Meshes

Not well-gradedNot well-graded

Complicated to Complicated to ImplementImplement

Page 38: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

38

Past ResultsPast ResultsDelaunay Refinement MethodsDelaunay Refinement Methods No-Large-Angle MethodsNo-Large-Angle Methods

ProsPros ProsProsConsCons ConsCons

Good TheoryGood Theory

Optimal Optimal RuntimeRuntime

Graded MeshGraded Mesh

Simple to Simple to ImplementImplement

Esthetically Esthetically NiceNice

Huge Meshes Huge Meshes O(L/s)O(L/s)

Require Hacks to Require Hacks to handle small input handle small input

angles.angles.

Size depends on Size depends on smallest angle.smallest angle.

Smaller MeshesSmaller Meshes

Worst-Case Worst-Case OptimalOptimal

Smaller MeshesSmaller Meshes

Not well-gradedNot well-graded

Complicated to Complicated to ImplementImplement

OUROUR

Page 39: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

39

Past ResultsPast ResultsDelaunay Refinement MethodsDelaunay Refinement Methods No-Large-Angle MethodsNo-Large-Angle Methods

ProsPros ProsProsConsCons ConsCons

Good TheoryGood Theory

Optimal Optimal RuntimeRuntime

Graded MeshGraded Mesh

Simple to Simple to ImplementImplement

Esthetically Esthetically NiceNice

Huge Meshes Huge Meshes O(L/s)O(L/s)

Require Hacks to Require Hacks to handle small input handle small input

angles.angles.

Size depends on Size depends on smallest angle.smallest angle.

Smaller MeshesSmaller Meshes

Worst-Case Worst-Case OptimalOptimal

Only Worst-Case Only Worst-Case BoundsBounds

Not well-gradedNot well-graded

Complicated to Complicated to ImplementImplement

OUROUR

Page 40: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

40

Past ResultsPast ResultsDelaunay Refinement MethodsDelaunay Refinement Methods No-Large-Angle MethodsNo-Large-Angle Methods

ProsPros ProsProsConsCons ConsCons

Good TheoryGood Theory

Optimal Optimal RuntimeRuntime

Graded MeshGraded Mesh

Simple to Simple to ImplementImplement

Esthetically Esthetically NiceNice

Huge Meshes Huge Meshes O(L/s)O(L/s)

Require Hacks to Require Hacks to handle small input handle small input

angles.angles.

Size depends on Size depends on smallest angle.smallest angle.

Smaller Smaller MeshesMeshes

Worst-Case Worst-Case Optimal sizeOptimal size

Only Worst-Case Only Worst-Case BoundsBounds

Not well-gradedNot well-graded

Complicated to Complicated to ImplementImplement

OUROUR

Graded on AverageGraded on Average

Log L/s -competitiveLog L/s -competitive

Page 41: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

41

Past ResultsPast ResultsDelaunay Refinement MethodsDelaunay Refinement Methods No-Large-Angle MethodsNo-Large-Angle Methods

ProsPros ProsProsConsCons ConsCons

Good TheoryGood Theory

Optimal Optimal RuntimeRuntime

Graded MeshGraded Mesh

Simple to Simple to ImplementImplement

Esthetically Esthetically NiceNice

Huge Meshes Huge Meshes O(L/s)O(L/s)

Require Hacks to Require Hacks to handle small input handle small input

angles.angles.

Size depends on Size depends on smallest angle.smallest angle.

Smaller Smaller MeshesMeshes

Worst-Case Worst-Case Optimal sizeOptimal size

Only Worst-Case Only Worst-Case BoundsBounds

Not well-gradedNot well-graded

Complicated to Complicated to ImplementImplement

OUROUR

Graded on AverageGraded on Average

Log L/s -competitiveLog L/s -competitive

Our Angle bounds are not as good, 170Our Angle bounds are not as good, 170oo versus ~140 versus ~140oo

Page 42: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

42

Local Feature SizeLocal Feature Size

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

xxlfs(x)lfs(x)Note: lfs is defined on the whole plane.Note: lfs is defined on the whole plane.

Page 43: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

43

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 44: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

44

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 45: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

45

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 46: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

46

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 47: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

47

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 48: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

48

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 49: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

49

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 50: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

50

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 51: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

51

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 52: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

52

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 53: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

53

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 54: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

54

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 55: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

55

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

Page 56: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

56

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

• An Overlay Edge is An Overlay Edge is keptkept if if1. It does not intersect the input,1. It does not intersect the input,

OROR

Page 57: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

57

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

• An Overlay Edge is An Overlay Edge is keptkept if if1. It does not intersect the input,1. It does not intersect the input,

OROR

2. It forms any 2. It forms any goodgood intersection with the intersection with the input.input.

Page 58: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

58

The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)

• An Overlay Edge is An Overlay Edge is keptkept if if1. It does not intersect the input,1. It does not intersect the input,

OROR

2. It forms any 2. It forms any goodgood intersection with the intersection with the input.input.

at least 30at least 30oo

Page 59: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

59

Angle GuaranteesAngle Guarantees

Page 60: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

60

Angle GuaranteesAngle Guarantees

We want to prove We want to prove that the stitch that the stitch

vertices that we vertices that we keep do not form keep do not form

bad angles.bad angles.

Page 61: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

61

Angle GuaranteesAngle Guarantees

An Overlay TriangleAn Overlay Triangle

Page 62: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

62

Angle GuaranteesAngle Guarantees

An Overlay TriangleAn Overlay Triangle

An Overlay EdgeAn Overlay Edge

Page 63: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

63

Angle GuaranteesAngle Guarantees

An Overlay TriangleAn Overlay Triangle

An Overlay EdgeAn Overlay Edge

Gap BallGap Ball

Page 64: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

64

Angle GuaranteesAngle Guarantees

A Good IntersectionA Good Intersection

Page 65: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

65

Angle GuaranteesAngle Guarantees

A Bad IntersectionA Bad Intersection

Page 66: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

66

Angle GuaranteesAngle Guarantees

A Bad IntersectionA Bad Intersection

Page 67: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

67

Angle GuaranteesAngle Guarantees

A Bad IntersectionA Bad Intersection

Page 68: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

68

Angle GuaranteesAngle Guarantees

A Bad IntersectionA Bad Intersection

How Bad can it How Bad can it be?be?

Page 69: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

69

Angle GuaranteesAngle GuaranteesHow Bad can it How Bad can it

be?be?

Page 70: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

70

Angle GuaranteesAngle GuaranteesHow Bad can it How Bad can it

be?be?

Page 71: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

71

Angle GuaranteesAngle GuaranteesHow Bad can it How Bad can it

be?be?

About 10About 10oo

Page 72: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

72

Angle GuaranteesAngle GuaranteesHow Bad can it How Bad can it

be?be?

About 10About 10oo

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

Page 73: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

73

Size BoundsSize BoundsHow big is the resulting triangulation?How big is the resulting triangulation?

Page 74: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

74

Size BoundsSize BoundsHow big is the resulting triangulation?How big is the resulting triangulation?

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

Page 75: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

75

Size BoundsSize BoundsHow big is the resulting triangulation?How big is the resulting triangulation?

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

Overlay Phase: O(n log L/s) Overlay Phase: O(n log L/s) points addedpoints added

Page 76: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

76

Size BoundsSize BoundsHow big is the resulting triangulation?How big is the resulting triangulation?

Overlay Phase: O(n log L/s) Overlay Phase: O(n log L/s) pointspoints

Stitching Phase: O(Stitching Phase: O(ssEE lfs lfs00-1-1(z)dz) (z)dz)

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

Page 77: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

77

Ruppert’s IdeaRuppert’s Idea

rr

cc

r = r = (lfs(c))(lfs(c))

area(area() = ) = (lfs(c)(lfs(c)22))

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

Page 78: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

78

Ruppert’s IdeaRuppert’s Idea

rr

cc

r = r = (lfs(c))(lfs(c))

area(area() = ) = (lfs(c)(lfs(c)22))

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

CaveatCaveat: Only Works for well-graded meshes : Only Works for well-graded meshes

with bounded with bounded smallestsmallest angle. angle.

Page 79: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

79

ExtendingExtending Ruppert’s Idea Ruppert’s Idea# of triangles = # of triangles = ((ssss lfs(x,y) lfs(x,y)-2-2 dxdy) dxdy)

Page 80: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

80

ExtendingExtending Ruppert’s Idea Ruppert’s Idea

An input edge An input edge e e intersecting intersecting

the overlay meshthe overlay mesh

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

Page 81: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

81

ExtendingExtending Ruppert’s Idea Ruppert’s Idea

An input edge An input edge e e intersecting intersecting

the overlay meshthe overlay mesh

# of triangles along # of triangles along ee = = ((sszz22 e e lfs(z) lfs(z)-1-1 dz) dz)

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

Page 82: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

82

ExtendingExtending Ruppert’s Idea Ruppert’s Idea

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

integrals with optimal.integrals with optimal.

# of triangles along # of triangles along ee = = ((sszz22 e e lfs(z) lfs(z)-1-1 dz) dz)

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

Page 83: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

83

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

Page 84: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

84

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

9090oo

Page 85: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

85

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

??oo

Page 86: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

86

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

Page 87: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

87

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

Page 88: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

88

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

Page 89: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

89

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

Page 90: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

90

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

Page 91: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

91

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

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

Page 92: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

92

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

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

an optimalan optimal

Page 93: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

93

Competitive AnalysisCompetitive AnalysisWarm-upWarm-up

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

an optimalan optimal Every input edge is Every input edge is covered by empty covered by empty

lenses.lenses.

Page 94: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

94

Competitive AnalysisCompetitive Analysis

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

the optimalthe optimal Every input edge is Every input edge is covered by empty covered by empty

lenses.lenses.

This is what we will integrate over to get a lower bound.This is what we will integrate over to get a lower bound.

Page 95: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

95

Competitive AnalysisCompetitive Analysis

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

edge.edge.

This is what we will integrate over to get a lower bound.This is what we will integrate over to get a lower bound.

Page 96: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

96

Competitive AnalysisCompetitive Analysis

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

edge.edge.

ee’’

In other words:In other words:

This is what we will integrate over to get a lower bound.This is what we will integrate over to get a lower bound.

Page 97: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

97

ConclusionConclusion• A new algorithm for no-large-angle A new algorithm for no-large-angle

triangulation.triangulation.• The output has bounded degree The output has bounded degree

triangles.triangles.• The first log-competitive analysis for The first log-competitive analysis for

such an algorithm.such an algorithm.

Page 98: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

98

ConclusionConclusion• A new algorithm for no-large-angle A new algorithm for no-large-angle

triangulation.triangulation.• The output has bounded degree The output has bounded degree

triangles.triangles.• The first log-competitive analysis for The first log-competitive analysis for

such an algorithm.such an algorithm.• We used simple calculus to bound We used simple calculus to bound

mesh sizes.mesh sizes.

Page 99: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

99

Where to go from here?Where to go from here?• 3D?3D?

Page 100: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

100

Where to go from here?Where to go from here?• 3D?3D?• Better angle bounds?Better angle bounds?

Page 101: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

101

Where to go from here?Where to go from here?• 3D?3D?• Better angle bounds?Better angle bounds?• Find a constant competitive Find a constant competitive

algorithm.algorithm.

Page 102: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

102

Where to go from here?Where to go from here?• 3D?3D?• Better angle bounds?Better angle bounds?• Find a constant competitive Find a constant competitive

algorithm.algorithm.

ThanksThanks

Page 103: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

103

Competitive AnalysisCompetitive Analysis

ee’’

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

Page 104: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

104

Competitive AnalysisCompetitive Analysis

ee’’

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

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

Page 105: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

105

Competitive AnalysisCompetitive Analysis

ee’’

Parametrize e’ as [0, Parametrize e’ as [0, ll]]

11stst trick: lfs \ge s everywhere trick: lfs \ge s everywhere

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

Page 106: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

106

Competitive AnalysisCompetitive Analysissszz22 e’ e’ 1/lfs(z) dz = O(log (L/s)) 1/lfs(z) dz = O(log (L/s))

ee’’

Parametrize e’ as e’(t) for tParametrize e’ as e’(t) for t22 [0, [0, ll] ] ll = length(e’) = length(e’)

11stst trick: lfs trick: lfs ¸̧ s everywhere s everywhere

22ndnd trick: lfs trick: lfs ¸̧ ct for t ct for t22 [0, [0,ll/2]/2]

tt

Page 107: Size Competitive Meshing without Large Angles

12 July 2007 Gary MillerOverlay Stitch Meshing

107

Competitive AnalysisCompetitive Analysissszz22 e’ e’ 1/lfs(z) dz = O(log (L/s)) 1/lfs(z) dz = O(log (L/s))

ee’’

Parametrize e’ as Parametrize e’ as e’(t)e’(t)11stst trick: lfs trick: lfs ¸̧ s everywhere s everywhere

22ndnd trick: lfs trick: lfs ¸̧ ct for ct for tt22 [0, [0,ll/2]/2]

tt

zz22 e’ e’ 1/lfs(z) dz 1/lfs(z) dz ·· 2 2 ss 00 1/s + 2 1/s + 2 ssll/2/2

1/x dx 1/x dx

= O(1) + O(log(= O(1) + O(log(ll/2) – log s)/2) – log s)

= O(log = O(log ll/s)/s)

= O(log L/s)= O(log L/s)