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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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