Presentation is loading. Please wait.

Presentation is loading. Please wait.

5/2/2007Don Sheehy Overlay Stitch Meshing 1. 5/2/2007Don Sheehy Overlay Stitch Meshing 2 A competitive algorithm for no-large-angle triangulation Don.

Similar presentations


Presentation on theme: "5/2/2007Don Sheehy Overlay Stitch Meshing 1. 5/2/2007Don Sheehy Overlay Stitch Meshing 2 A competitive algorithm for no-large-angle triangulation Don."— Presentation transcript:

1 5/2/2007Don Sheehy Overlay Stitch Meshing 1

2 5/2/2007Don Sheehy Overlay Stitch Meshing 2 A competitive algorithm for no-large-angle triangulation Don Sheehy Joint work with Gary Miller and Todd Phillips To appear at ICALP 2007

3 5/2/2007Don Sheehy Overlay Stitch Meshing 3 The Problem Input: A Planar Straight Line Graph

4 5/2/2007Don Sheehy Overlay Stitch Meshing 4 The Problem Input: A Planar Straight Line Graph Output: A Conforming Triangulation

5 5/2/2007Don Sheehy Overlay Stitch Meshing 5 The Problem Input: A Planar Straight Line Graph Output: A Conforming Triangulation

6 5/2/2007Don Sheehy Overlay Stitch Meshing 6 Why would you want to do that?

7 5/2/2007Don Sheehy Overlay Stitch Meshing 7 Why would you want to do that?

8 5/2/2007Don Sheehy Overlay Stitch Meshing 8 Why would you want to do that?

9 5/2/2007Don Sheehy Overlay Stitch Meshing 9 Why would you want to do that?

10 5/2/2007Don Sheehy Overlay Stitch Meshing 10 Why would you want to do that?

11 5/2/2007Don Sheehy Overlay Stitch Meshing 11 Why would you want to do that?

12 5/2/2007Don Sheehy Overlay Stitch Meshing 12

13 5/2/2007Don Sheehy Overlay Stitch Meshing 13

14 5/2/2007Don Sheehy Overlay Stitch Meshing 14

15 5/2/2007Don Sheehy Overlay Stitch Meshing 15

16 5/2/2007Don Sheehy Overlay Stitch Meshing 16

17 5/2/2007Don Sheehy Overlay Stitch Meshing 17

18 5/2/2007Don Sheehy Overlay Stitch Meshing 18 What went wrong?

19 5/2/2007Don Sheehy Overlay Stitch Meshing 19 What if you don’t know the function? ? ?

20 5/2/2007Don Sheehy Overlay Stitch Meshing 20 2 Definitions of Quality 1. No Large Angles [Babuska, Aziz 1976]

21 5/2/2007Don Sheehy Overlay Stitch Meshing 21 2 Definitions of Quality 1. No Large Angles [Babuska, Aziz 1976] 2. No Small Angles

22 5/2/2007Don Sheehy Overlay Stitch Meshing 22 No Small Angles

23 5/2/2007Don Sheehy Overlay Stitch Meshing 23 No Small Angles You may have heard of these before. Delaunay Refinement Sparse Voronoi Refinement Quadtree

24 5/2/2007Don Sheehy Overlay Stitch Meshing 24 Paying for the spread

25 5/2/2007Don Sheehy Overlay Stitch Meshing 25 Paying for the spread L s Spread = L/s

26 5/2/2007Don Sheehy Overlay Stitch Meshing 26 Paying for the spread Optimal No-Large-Angle Triangulation

27 5/2/2007Don Sheehy Overlay Stitch Meshing 27 Paying for the spread What if we don’t allow small angles?

28 5/2/2007Don Sheehy Overlay Stitch Meshing 28 Paying for the spread What if we don’t allow small angles?

29 5/2/2007Don Sheehy Overlay Stitch Meshing 29 Paying for the spread O(L/s) triangles! What if we don’t allow small angles?

30 5/2/2007Don Sheehy Overlay Stitch Meshing 30 Paying for the spread O(L/s) triangles! 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 30 o and 120 o

31 5/2/2007Don Sheehy Overlay Stitch Meshing 31 What to do?

32 5/2/2007Don Sheehy Overlay Stitch Meshing 32 What to do? Small input angles can force even smaller ouput angles. [Shewchuk ’02]

33 5/2/2007Don Sheehy Overlay Stitch Meshing 33 No Large Angles

34 5/2/2007Don Sheehy Overlay Stitch Meshing 34 Polygons with Holes [Bern, Mitchell, Ruppert 95] – - All triangles are nonobtuse. - All triangles are nonobtuse. - Output has O(n) triangles. - Output has O(n) triangles.

35 5/2/2007Don Sheehy Overlay Stitch Meshing 35 Polygons with Holes [Bern, Mitchell, Ruppert 95] – - All triangles are nonobtuse. - All triangles are nonobtuse. - Output has O(n) triangles. - Output has O(n) triangles. Does not work for arbitrary PSLGs

36 5/2/2007Don Sheehy Overlay Stitch Meshing 36 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

37 5/2/2007Don Sheehy Overlay Stitch Meshing 37 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

38 5/2/2007Don Sheehy Overlay Stitch Meshing 38 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

39 5/2/2007Don Sheehy Overlay Stitch Meshing 39 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

40 5/2/2007Don Sheehy Overlay Stitch Meshing 40 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

41 5/2/2007Don Sheehy Overlay Stitch Meshing 41 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

42 5/2/2007Don Sheehy Overlay Stitch Meshing 42 Propagating Paths

43 5/2/2007Don Sheehy Overlay Stitch Meshing 43 Propagating Paths

44 5/2/2007Don Sheehy Overlay Stitch Meshing 44 Propagating Paths

45 5/2/2007Don Sheehy Overlay Stitch Meshing 45 Propagating Paths

46 5/2/2007Don Sheehy Overlay Stitch Meshing 46 Propagating Paths

47 5/2/2007Don Sheehy Overlay Stitch Meshing 47 Propagating Paths First introduced by Mitchell [93]

48 5/2/2007Don Sheehy Overlay Stitch Meshing 48 Propagating Paths First introduced by Mitchell [93] Later Improved by Tan [96]

49 5/2/2007Don Sheehy Overlay Stitch Meshing 49 Propagating Paths First introduced by Mitchell [93] Later Improved by Tan [96] Worst Case Optimal Size O(n 2 ) Angle bounds: 132 o

50 5/2/2007Don Sheehy Overlay Stitch Meshing 50 The OSM Algorithm (Overlay Stitch Meshing)

51 5/2/2007Don Sheehy Overlay Stitch Meshing 51 The OSM Algorithm (Overlay Stitch Meshing) Results: 1.Angles bounded by 170 o 2.O(log L/s) competitive size

52 5/2/2007Don Sheehy Overlay Stitch Meshing 52 The OSM Algorithm (Overlay Stitch Meshing)

53 5/2/2007Don Sheehy Overlay Stitch Meshing 53 The OSM Algorithm (Overlay Stitch Meshing)

54 5/2/2007Don Sheehy Overlay Stitch Meshing 54 The OSM Algorithm (Overlay Stitch Meshing)

55 5/2/2007Don Sheehy Overlay Stitch Meshing 55 The OSM Algorithm (Overlay Stitch Meshing)

56 5/2/2007Don Sheehy Overlay Stitch Meshing 56 The OSM Algorithm (Overlay Stitch Meshing)

57 5/2/2007Don Sheehy Overlay Stitch Meshing 57 The OSM Algorithm (Overlay Stitch Meshing)

58 5/2/2007Don Sheehy Overlay Stitch Meshing 58 The OSM Algorithm (Overlay Stitch Meshing)

59 5/2/2007Don Sheehy Overlay Stitch Meshing 59 The OSM Algorithm (Overlay Stitch Meshing)

60 5/2/2007Don Sheehy Overlay Stitch Meshing 60 The OSM Algorithm (Overlay Stitch Meshing)

61 5/2/2007Don Sheehy Overlay Stitch Meshing 61 The OSM Algorithm (Overlay Stitch Meshing)

62 5/2/2007Don Sheehy Overlay Stitch Meshing 62 The OSM Algorithm (Overlay Stitch Meshing)

63 5/2/2007Don Sheehy Overlay Stitch Meshing 63 The OSM Algorithm (Overlay Stitch Meshing)

64 5/2/2007Don Sheehy Overlay Stitch Meshing 64 The OSM Algorithm (Overlay Stitch Meshing) An Overlay Edge is kept ifAn Overlay Edge is kept if 1. It does not intersect the input, OR

65 5/2/2007Don Sheehy Overlay Stitch Meshing 65 The OSM Algorithm (Overlay Stitch Meshing) An Overlay Edge is kept ifAn Overlay Edge is kept if 1. It does not intersect the input, OR 2. It forms a good intersection with the input.

66 5/2/2007Don Sheehy Overlay Stitch Meshing 66 The OSM Algorithm (Overlay Stitch Meshing) An Overlay Edge is kept ifAn Overlay Edge is kept if 1. It does not intersect the input, OR 2. It forms a good intersection with the input. at least 30 o

67 5/2/2007Don Sheehy Overlay Stitch Meshing 67 Angle Guarantees

68 5/2/2007Don Sheehy Overlay Stitch Meshing 68 Angle Guarantees

69 5/2/2007Don Sheehy Overlay Stitch Meshing 69 Angle Guarantees We want to show that angles at stitch vertices are bounded by 170 o

70 5/2/2007Don Sheehy Overlay Stitch Meshing 70 Angle Guarantees An Overlay Triangle

71 5/2/2007Don Sheehy Overlay Stitch Meshing 71 Angle Guarantees An Overlay Triangle An Overlay Edge

72 5/2/2007Don Sheehy Overlay Stitch Meshing 72 Angle Guarantees An Overlay Triangle An Overlay Edge Gap Ball

73 5/2/2007Don Sheehy Overlay Stitch Meshing 73 Angle Guarantees A Good Intersection

74 5/2/2007Don Sheehy Overlay Stitch Meshing 74 Angle Guarantees A Bad Intersection

75 5/2/2007Don Sheehy Overlay Stitch Meshing 75 Angle Guarantees A Bad Intersection

76 5/2/2007Don Sheehy Overlay Stitch Meshing 76 Angle Guarantees A Bad Intersection

77 5/2/2007Don Sheehy Overlay Stitch Meshing 77 Angle Guarantees A Bad Intersection How Bad can it be?

78 5/2/2007Don Sheehy Overlay Stitch Meshing 78 Angle Guarantees How Bad can it be?

79 5/2/2007Don Sheehy Overlay Stitch Meshing 79 Angle Guarantees How Bad can it be?

80 5/2/2007Don Sheehy Overlay Stitch Meshing 80 Angle Guarantees How Bad can it be? About 10 o

81 5/2/2007Don Sheehy Overlay Stitch Meshing 81 Angle Guarantees How Bad can it be? About 10 o About 170 o

82 5/2/2007Don Sheehy Overlay Stitch Meshing 82 Angle Guarantees How Bad can it be? About 10 o 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 170 o

83 5/2/2007Don Sheehy Overlay Stitch Meshing 83 Size Bounds

84 5/2/2007Don Sheehy Overlay Stitch Meshing 84 Size Bounds How big is the resulting triangulation?

85 5/2/2007Don Sheehy Overlay Stitch Meshing 85 Size Bounds How big is the resulting triangulation? Goal: log(L/s)-competitive with optimal

86 5/2/2007Don Sheehy Overlay Stitch Meshing 86 Local Feature Size lfs(x) = distance to second nearest input vertex. x lfs(x) Note: lfs is defined on the whole plane before we do any meshing.

87 5/2/2007Don Sheehy Overlay Stitch Meshing 87 Ruppert’s Idea r c r =  (lfs(c))  area(  ) =  (lfs(c) 2 )  # of triangles =  ( ss 1/lfs(x,y) 2 dxdy)

88 5/2/2007Don Sheehy Overlay Stitch Meshing 88 Ruppert’s Idea r c r =  (lfs(c))  area(  ) =  (lfs(c) 2 )  # of triangles =  ( ss 1/lfs(x,y) 2 dxdy) dy dx This represents a  (dxdy/lfs(x,y) 2 ) fraction of the triangle.

89 5/2/2007Don Sheehy Overlay Stitch Meshing 89 Ruppert’s Idea r c r =  (lfs(c))  area(  ) =  (lfs(c) 2 )  # of triangles =  ( ss lfs(x,y) -2 dxdy) Caveat: Only Works for meshes with bounded smallest angle.

90 5/2/2007Don Sheehy Overlay Stitch Meshing 90 Extending Ruppert’s Idea # of triangles =  ( ss lfs(x,y) -2 dxdy)

91 5/2/2007Don Sheehy Overlay Stitch Meshing 91 Extending Ruppert’s Idea An input edge e intersecting the overlay mesh # of triangles =  ( ss lfs(x,y) -2 dxdy)

92 5/2/2007Don Sheehy Overlay Stitch Meshing 92 Extending Ruppert’s Idea An input edge e intersecting the overlay mesh # of triangles along e =  ( s z 2 e lfs(z) -1 dz) # of triangles =  ( ss lfs(x,y) -2 dxdy)

93 5/2/2007Don Sheehy Overlay Stitch Meshing 93 Extending Ruppert’s Idea Now we can compute the size of our output mesh. We just need to compute these integrals. # of triangles along e =  ( s z 2 e lfs(z) -1 dz) # of triangles =  ( ss lfs(x,y) -2 dxdy)

94 5/2/2007Don Sheehy Overlay Stitch Meshing 94 Output Size Stitch Vertices Added =  ( s z 2 E lfs(z) -1 dz) Overlay Mesh Size =  ( ss lfs(x,y) -2 dxdy)

95 5/2/2007Don Sheehy Overlay Stitch Meshing 95 Output Size Stitch Vertices Added =  ( s z 2 E lfs(z) -1 dz) Overlay Mesh Size =  ( ss lfs(x,y) -2 dxdy) O(n log L/s) O(log L/s) £ |OPT|

96 5/2/2007Don Sheehy Overlay Stitch Meshing 96 Output Size Stitch Vertices Added =  ( s z 2 E lfs(z) -1 dz) Overlay Mesh Size =  ( ss lfs(x,y) -2 dxdy) O(n log L/s) O(log L/s) £ |OPT| We’ll Prove this now

97 5/2/2007Don Sheehy Overlay Stitch Meshing 97 What can we say about the optimal no-large-angle triangulation?

98 5/2/2007Don Sheehy Overlay Stitch Meshing 98 Competitive Analysis Warm-up

99 5/2/2007Don Sheehy Overlay Stitch Meshing 99 Competitive Analysis Warm-up 90 o

100 5/2/2007Don Sheehy Overlay Stitch Meshing 100 Competitive Analysis Warm-up ?o?o?o?o

101 5/2/2007Don Sheehy Overlay Stitch Meshing 101 Competitive Analysis Warm-up

102 5/2/2007Don Sheehy Overlay Stitch Meshing 102 Competitive Analysis Warm-up

103 5/2/2007Don Sheehy Overlay Stitch Meshing 103 Competitive Analysis Warm-up

104 5/2/2007Don Sheehy Overlay Stitch Meshing 104 Competitive Analysis Warm-up

105 5/2/2007Don Sheehy Overlay Stitch Meshing 105 Competitive Analysis Warm-up

106 5/2/2007Don Sheehy Overlay Stitch Meshing 106 Competitive Analysis Warm-up Suppose we have a triangulation with all angles at least 170 o.

107 5/2/2007Don Sheehy Overlay Stitch Meshing 107 Competitive Analysis Warm-up Suppose we have a triangulation with all angles at least 170 o. the optimal

108 5/2/2007Don Sheehy Overlay Stitch Meshing 108 Competitive Analysis Warm-up Suppose we have a triangulation with all angles at least 170 o. the optimal Every input edge is covered by empty lenses.

109 5/2/2007Don Sheehy Overlay Stitch Meshing 109 Competitive Analysis Suppose we have a triangulation with all angles at least 170 o. the optimal Every input edge is covered by empty lenses. This is what we have to integrate over.

110 5/2/2007Don Sheehy Overlay Stitch Meshing 110 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.

111 5/2/2007Don Sheehy Overlay Stitch Meshing 111 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. In other words: s e’ 1/lfs(z) dz = O(log (L/s)) e’

112 5/2/2007Don Sheehy Overlay Stitch Meshing 112 Competitive Analysis e’ s z 2 e’ 1/lfs(z) dz = O(log (L/s))

113 5/2/2007Don Sheehy Overlay Stitch Meshing 113 Competitive Analysis e’ Parametrize e’ as [0, l ] where l = length(e’) s z 2 e’ 1/lfs(z) dz = O(log (L/s))

114 5/2/2007Don Sheehy Overlay Stitch Meshing 114 Competitive Analysis e’ s z 2 e’ 1/lfs(z) dz = O(log (L/s)) Parametrize e’ as [0, l ] 1 st trick: lfs ¸ s everywhere

115 5/2/2007Don Sheehy Overlay Stitch Meshing 115 Competitive Analysis s z 2 e’ 1/lfs(z) dz = O(log (L/s)) e’ 1 st trick: lfs ¸ s everywhere 2 nd trick: lfs ¸ ct for t 2 [0, l /2] t Parametrize e’ as [0, l ]

116 5/2/2007Don Sheehy Overlay Stitch Meshing 116 Competitive Analysis s z 2 e’ 1/lfs(z) dz = O(log (L/s)) e’ 1 st trick: lfs ¸ s everywhere 2 nd trick: lfs ¸ ct for t 2 [0, l /2] t s z 2 e’ 1/lfs(z) dz · 2 s 0 s 1/s + 2 s s l /2 1/x dx = O(1) + O(log l /s) = O(log L/s) Parametrize e’ as [0, l ]

117 5/2/2007Don Sheehy Overlay Stitch Meshing 117 Conclusions

118 5/2/2007Don Sheehy Overlay Stitch Meshing 118 Conclusion A new algorithm for no-large-angle triangulation.A new algorithm for no-large-angle triangulation. The output has bounded degree triangles.The output has bounded degree triangles. The first log-competitive analysis for such an algorithm.The first log-competitive analysis for such an algorithm.

119 5/2/2007Don Sheehy Overlay Stitch Meshing 119 Conclusion A new algorithm for no-large-angle triangulation.A new algorithm for no-large-angle triangulation. The output has bounded degree triangles.The output has bounded degree triangles. The first log-competitive analysis for such an algorithm.The first log-competitive analysis for such an algorithm. We used some of the high school calculus you thought you forgot.We used some of the high school calculus you thought you forgot.

120 5/2/2007Don Sheehy Overlay Stitch Meshing 120 Where to go from here? 3D?3D?

121 5/2/2007Don Sheehy Overlay Stitch Meshing 121 Where to go from here? 3D?3D? Better angle bounds?Better angle bounds?

122 5/2/2007Don Sheehy Overlay Stitch Meshing 122 Where to go from here? 3D?3D? Better angle bounds?Better angle bounds? Leverage lower bound technology for constant competitive algorithm.Leverage lower bound technology for constant competitive algorithm.

123 5/2/2007Don Sheehy Overlay Stitch Meshing 123 Thank you.


Download ppt "5/2/2007Don Sheehy Overlay Stitch Meshing 1. 5/2/2007Don Sheehy Overlay Stitch Meshing 2 A competitive algorithm for no-large-angle triangulation Don."

Similar presentations


Ads by Google