Presentation is loading. Please wait.

Presentation is loading. Please wait.

12 July 2007Gary Miller Overlay Stitch Meshing 1 Size Competitive Meshing without Large Angles Gary L. Miller Carnegie Mellon Computer Science Joint work.

Similar presentations


Presentation on theme: "12 July 2007Gary Miller Overlay Stitch Meshing 1 Size Competitive Meshing without Large Angles Gary L. Miller Carnegie Mellon Computer Science Joint work."— Presentation transcript:

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

2 12 July 2007Gary Miller Overlay Stitch Meshing 2 The Problem Input: A Planar Straight Line Graph

3 12 July 2007Gary Miller Overlay Stitch Meshing 3 The Problem Input: A Planar Straight Line Graph Output: A Conforming Triangulation

4 12 July 2007Gary Miller Overlay Stitch Meshing 4 The Problem Input: A Planar Straight Line Graph Output: A Conforming Triangulation

5 12 July 2007Gary Miller Overlay Stitch Meshing 5 The Problem Input: A Planar Straight Line Graph Output: A Conforming Triangulation Quality

6 12 July 2007Gary Miller Overlay Stitch Meshing 6 What is a quality triangle?

7 12 July 2007Gary Miller Overlay Stitch Meshing 7 What is a quality triangle? No Small Angles No Large Angles

8 12 July 2007Gary Miller Overlay Stitch Meshing 8 What is a quality triangle? No Small Angles No Large Angles Implies triangles have bounded aspect ratio.

9 12 July 2007Gary Miller Overlay Stitch Meshing 9 What is a quality triangle? No Small Angles No Large Angles Implies triangles have bounded aspect ratio. Implies triangles have bounded largest angles.

10 12 July 2007Gary Miller Overlay Stitch Meshing 10 What is a quality triangle? No Small Angles No Large Angles Implies triangles have bounded aspect ratio. Implies triangles have bounded largest angles. Can be efficiently computed by Delaunay Refinement

11 12 July 2007Gary Miller Overlay Stitch Meshing 11 What is a quality triangle? No Small Angles No Large Angles Implies triangles have bounded aspect ratio. Implies triangles have bounded largest angles. Can be efficiently computed by Delaunay Refinement Sufficient for many applications.

12 12 July 2007Gary Miller Overlay Stitch Meshing 12 What is a quality triangle? No Small Angles No Large Angles Implies triangles have bounded aspect ratio. Implies triangles have bounded largest angles. Can be efficiently computed by Delaunay Refinement Sufficient for many applications. Can be asymptotically smaller then Delaunay Refinement triangulations.

13 12 July 2007Gary Miller Overlay Stitch Meshing 13 What is a quality triangle? No Small Angles No Large Angles Implies triangles have bounded aspect ratio. Implies triangles have bounded largest angles. Can be efficiently computed by Delaunay Refinement Sufficient for many applications. Can be asymptotically smaller then Delaunay Refinement triangulations. More difficult to analyze.

14 12 July 2007Gary Miller Overlay Stitch Meshing 14 In Defense of Quality

15 12 July 2007Gary Miller Overlay Stitch Meshing 15 In Defense of Quality

16 12 July 2007Gary Miller Overlay Stitch Meshing 16 In Defense of Quality

17 12 July 2007Gary Miller Overlay Stitch Meshing 17 In Defense of Quality What went wrong?

18 12 July 2007Gary Miller Overlay Stitch Meshing 18 In Defense of Quality What went wrong?

19 12 July 2007Gary Miller Overlay Stitch Meshing 19 Interpolation Problem No Large Angles Large Angles Large angles give large H 1 errors that FEMs try to minimize.

20 12 July 2007Gary Miller Overlay Stitch Meshing 20 Paying for the spread

21 12 July 2007Gary Miller Overlay Stitch Meshing 21 Paying for the spread L s Spread = L/s

22 12 July 2007Gary Miller Overlay Stitch Meshing 22 Paying for the spread Optimal No-Large-Angle Triangulation

23 12 July 2007Gary Miller Overlay Stitch Meshing 23 Paying for the spread What if we don’t allow small angles?

24 12 July 2007Gary Miller Overlay Stitch Meshing 24 Paying for the spread What if we don’t allow small angles?

25 12 July 2007Gary Miller Overlay Stitch Meshing 25 Paying for the spread O(L/s) triangles! What if we don’t allow small angles?

26 12 July 2007Gary Miller Overlay Stitch Meshing 26 Paying for the spread O(L/s) triangles! What if we don’t allow small angles?

27 12 July 2007Gary Miller Overlay Stitch Meshing 27 Delaunay Refinement

28 12 July 2007Gary Miller Overlay Stitch Meshing 28 Delaunay Refinement

29 12 July 2007Gary Miller Overlay Stitch Meshing 29 Delaunay Refinement Theorem: Delaunay Refinement on point sets terminates and returns a triangulation with all angles at least 30-  degrees all angles at least 30-  degrees O(n log L/s) triangles O(n log L/s) triangles On Point Sets, we only pay for the log of the spread.

30 12 July 2007Gary Miller Overlay Stitch Meshing 30 Paterson’s Example Requires O(n 2 ) points. O(n) points O(n) lines

31 12 July 2007Gary Miller Overlay Stitch Meshing 31 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

32 12 July 2007Gary Miller Overlay Stitch Meshing 32 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

33 12 July 2007Gary Miller Overlay Stitch Meshing 33 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

34 12 July 2007Gary Miller Overlay Stitch Meshing 34 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

35 12 July 2007Gary Miller Overlay Stitch Meshing 35 Paterson’s Example Requires  (n 2 ) points. O(n) points O(n) lines

36 12 July 2007Gary Miller Overlay Stitch Meshing 36 Past Results O(n) triangles with 90 o largest angles for polygons with holes. [Bern, Mitchell, Ruppert, 95]O(n) triangles with 90 o largest angles for polygons with holes. [Bern, Mitchell, Ruppert, 95]  ( n 2 ) lower bound for arbitrary PLSGs. [Paterson]  ( n 2 ) lower bound for arbitrary PLSGs. [Paterson] O(n 2 ) triangles with 132 o angles on PSLGs. [Tan, 96]O(n 2 ) triangles with 132 o angles on PSLGs. [Tan, 96]

37 12 July 2007Gary Miller Overlay Stitch Meshing 37 Past Results Delaunay Refinement Methods No-Large-Angle Methods Pros Pros Cons Cons Good Theory Optimal Runtime Graded Mesh Simple to Implement Esthetically Nice Huge Meshes O(L/s) Require Hacks to handle small input angles. Size depends on smallest angle. Smaller Meshes Worst-Case Optimal Smaller Meshes Not well-graded Complicated to Implement

38 12 July 2007Gary Miller Overlay Stitch Meshing 38 Past Results Delaunay Refinement Methods No-Large-Angle Methods Pros Pros Cons Cons Good Theory Optimal Runtime Graded Mesh Simple to Implement Esthetically Nice Huge Meshes O(L/s) Require Hacks to handle small input angles. Size depends on smallest angle. Smaller Meshes Worst-Case Optimal Smaller Meshes Not well-graded Complicated to Implement OUR

39 12 July 2007Gary Miller Overlay Stitch Meshing 39 Past Results Delaunay Refinement Methods No-Large-Angle Methods Pros Pros Cons Cons Good Theory Optimal Runtime Graded Mesh Simple to Implement Esthetically Nice Huge Meshes O(L/s) Require Hacks to handle small input angles. Size depends on smallest angle. Smaller Meshes Worst-Case Optimal Only Worst-Case Bounds Not well-graded Complicated to Implement OUR

40 12 July 2007Gary Miller Overlay Stitch Meshing 40 Past Results Delaunay Refinement Methods No-Large-Angle Methods Pros Pros Cons Cons Good Theory Optimal Runtime Graded Mesh Simple to Implement Esthetically Nice Huge Meshes O(L/s) Require Hacks to handle small input angles. Size depends on smallest angle. Smaller Meshes Worst-Case Optimal size Only Worst-Case Bounds Not well-graded Complicated to Implement OUR Graded on Average Log L/s -competitive

41 12 July 2007Gary Miller Overlay Stitch Meshing 41 Past Results Delaunay Refinement Methods No-Large-Angle Methods Pros Pros Cons Cons Good Theory Optimal Runtime Graded Mesh Simple to Implement Esthetically Nice Huge Meshes O(L/s) Require Hacks to handle small input angles. Size depends on smallest angle. Smaller Meshes Worst-Case Optimal size Only Worst-Case Bounds Not well-graded Complicated to Implement OUR Graded on Average Log L/s -competitive Our Angle bounds are not as good, 170 o versus ~140 o

42 12 July 2007Gary Miller Overlay Stitch Meshing 42 Local Feature Size lfs(x) = distance to second nearest vertex. x lfs(x) Note: lfs is defined on the whole plane.

43 12 July 2007Gary Miller Overlay Stitch Meshing 43 The OSM Algorithm (Overlay Stitch Meshing)

44 12 July 2007Gary Miller Overlay Stitch Meshing 44 The OSM Algorithm (Overlay Stitch Meshing)

45 12 July 2007Gary Miller Overlay Stitch Meshing 45 The OSM Algorithm (Overlay Stitch Meshing)

46 12 July 2007Gary Miller Overlay Stitch Meshing 46 The OSM Algorithm (Overlay Stitch Meshing)

47 12 July 2007Gary Miller Overlay Stitch Meshing 47 The OSM Algorithm (Overlay Stitch Meshing)

48 12 July 2007Gary Miller Overlay Stitch Meshing 48 The OSM Algorithm (Overlay Stitch Meshing)

49 12 July 2007Gary Miller Overlay Stitch Meshing 49 The OSM Algorithm (Overlay Stitch Meshing)

50 12 July 2007Gary Miller Overlay Stitch Meshing 50 The OSM Algorithm (Overlay Stitch Meshing)

51 12 July 2007Gary Miller Overlay Stitch Meshing 51 The OSM Algorithm (Overlay Stitch Meshing)

52 12 July 2007Gary Miller Overlay Stitch Meshing 52 The OSM Algorithm (Overlay Stitch Meshing)

53 12 July 2007Gary Miller Overlay Stitch Meshing 53 The OSM Algorithm (Overlay Stitch Meshing)

54 12 July 2007Gary Miller Overlay Stitch Meshing 54 The OSM Algorithm (Overlay Stitch Meshing)

55 12 July 2007Gary Miller Overlay Stitch Meshing 55 The OSM Algorithm (Overlay Stitch Meshing)

56 12 July 2007Gary Miller Overlay Stitch Meshing 56 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

57 12 July 2007Gary Miller Overlay Stitch Meshing 57 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 any good intersection with the input.

58 12 July 2007Gary Miller Overlay Stitch Meshing 58 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 any good intersection with the input. at least 30 o

59 12 July 2007Gary Miller Overlay Stitch Meshing 59 Angle Guarantees

60 12 July 2007Gary Miller Overlay Stitch Meshing 60 Angle Guarantees We want to prove that the stitch vertices that we keep do not form bad angles.

61 12 July 2007Gary Miller Overlay Stitch Meshing 61 Angle Guarantees An Overlay Triangle

62 12 July 2007Gary Miller Overlay Stitch Meshing 62 Angle Guarantees An Overlay Triangle An Overlay Edge

63 12 July 2007Gary Miller Overlay Stitch Meshing 63 Angle Guarantees An Overlay Triangle An Overlay Edge Gap Ball

64 12 July 2007Gary Miller Overlay Stitch Meshing 64 Angle Guarantees A Good Intersection

65 12 July 2007Gary Miller Overlay Stitch Meshing 65 Angle Guarantees A Bad Intersection

66 12 July 2007Gary Miller Overlay Stitch Meshing 66 Angle Guarantees A Bad Intersection

67 12 July 2007Gary Miller Overlay Stitch Meshing 67 Angle Guarantees A Bad Intersection

68 12 July 2007Gary Miller Overlay Stitch Meshing 68 Angle Guarantees A Bad Intersection How Bad can it be?

69 12 July 2007Gary Miller Overlay Stitch Meshing 69 Angle Guarantees How Bad can it be?

70 12 July 2007Gary Miller Overlay Stitch Meshing 70 Angle Guarantees How Bad can it be?

71 12 July 2007Gary Miller Overlay Stitch Meshing 71 Angle Guarantees How Bad can it be? About 10 o

72 12 July 2007Gary Miller Overlay Stitch Meshing 72 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.

73 12 July 2007Gary Miller Overlay Stitch Meshing 73 Size Bounds How big is the resulting triangulation?

74 12 July 2007Gary Miller Overlay Stitch Meshing 74 Size Bounds How big is the resulting triangulation? Goal: log(L/s)-competitive with optimal

75 12 July 2007Gary Miller Overlay Stitch Meshing 75 Size Bounds How big is the resulting triangulation? Goal: log(L/s)-competitive with optimal Overlay Phase: O(n log L/s) points added

76 12 July 2007Gary Miller Overlay Stitch Meshing 76 Size Bounds How big is the resulting triangulation? Overlay Phase: O(n log L/s) points Stitching Phase: O( s E lfs 0 -1 (z)dz) Goal: log(L/s)-competitive with optimal

77 12 July 2007Gary Miller Overlay Stitch Meshing 77 Ruppert’s Idea r c r =  (lfs(c))  area(  ) =  (lfs(c) 2 )  # of triangles =  ( ss lfs(x,y) -2 dxdy)

78 12 July 2007Gary Miller Overlay Stitch Meshing 78 Ruppert’s Idea r c r =  (lfs(c))  area(  ) =  (lfs(c) 2 )  # of triangles =  ( ss lfs(x,y) -2 dxdy) Caveat: Only Works for well-graded meshes with bounded smallest angle.

79 12 July 2007Gary Miller Overlay Stitch Meshing 79 Extending Ruppert’s Idea # of triangles =  ( ss lfs(x,y) -2 dxdy)

80 12 July 2007Gary Miller Overlay Stitch Meshing 80 Extending Ruppert’s Idea An input edge e intersecting the overlay mesh # of triangles =  ( ss lfs(x,y) -2 dxdy)

81 12 July 2007Gary Miller Overlay Stitch Meshing 81 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)

82 12 July 2007Gary Miller Overlay Stitch Meshing 82 Extending Ruppert’s Idea Now we can compute the size of our output mesh. We just need to compare these integrals with optimal. # of triangles along e =  ( s z 2 e lfs(z) -1 dz) # of triangles =  ( ss lfs(x,y) -2 dxdy)

83 12 July 2007Gary Miller Overlay Stitch Meshing 83 Competitive Analysis Warm-up

84 12 July 2007Gary Miller Overlay Stitch Meshing 84 Competitive Analysis Warm-up 90 o

85 12 July 2007Gary Miller Overlay Stitch Meshing 85 Competitive Analysis Warm-up ?o?o?o?o

86 12 July 2007Gary Miller Overlay Stitch Meshing 86 Competitive Analysis Warm-up

87 12 July 2007Gary Miller Overlay Stitch Meshing 87 Competitive Analysis Warm-up

88 12 July 2007Gary Miller Overlay Stitch Meshing 88 Competitive Analysis Warm-up

89 12 July 2007Gary Miller Overlay Stitch Meshing 89 Competitive Analysis Warm-up

90 12 July 2007Gary Miller Overlay Stitch Meshing 90 Competitive Analysis Warm-up

91 12 July 2007Gary Miller Overlay Stitch Meshing 91 Competitive Analysis Warm-up Suppose we have a triangulation with all angles at least 170 o.

92 12 July 2007Gary Miller Overlay Stitch Meshing 92 Competitive Analysis Warm-up Suppose we have a triangulation with all angles at least 170 o. an optimal

93 12 July 2007Gary Miller Overlay Stitch Meshing 93 Competitive Analysis Warm-up Suppose we have a triangulation with all angles at least 170 o. an optimal Every input edge is covered by empty lenses.

94 12 July 2007Gary Miller Overlay Stitch Meshing 94 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 will integrate over to get a lower bound.

95 12 July 2007Gary Miller Overlay Stitch Meshing 95 Competitive Analysis We show that in each lens, we put O(log (L/s)) points on the edge. This is what we will integrate over to get a lower bound.

96 12 July 2007Gary Miller Overlay Stitch Meshing 96 Competitive Analysis We show that in each lens, we put O(log (L/s)) points on the edge. e’ In other words: This is what we will integrate over to get a lower bound.

97 12 July 2007Gary Miller Overlay Stitch Meshing 97 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.

98 12 July 2007Gary Miller Overlay Stitch Meshing 98 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 simple calculus to bound mesh sizes.We used simple calculus to bound mesh sizes.

99 12 July 2007Gary Miller Overlay Stitch Meshing 99 Where to go from here? 3D?3D?

100 12 July 2007Gary Miller Overlay Stitch Meshing 100 Where to go from here? 3D?3D? Better angle bounds?Better angle bounds?

101 12 July 2007Gary Miller Overlay Stitch Meshing 101 Where to go from here? 3D?3D? Better angle bounds?Better angle bounds? Find a constant competitive algorithm.Find a constant competitive algorithm.

102 12 July 2007Gary Miller Overlay Stitch Meshing 102 Where to go from here? 3D?3D? Better angle bounds?Better angle bounds? Find a constant competitive algorithm.Find a constant competitive algorithm. Thanks

103 12 July 2007Gary Miller Overlay Stitch Meshing 103 Competitive Analysis e’ s z 2 e’ 1/lfs(z) dz = O(log (L/s))

104 12 July 2007Gary Miller Overlay Stitch Meshing 104 Competitive Analysis e’ Parametrize e’ as [0, l ] where l = length(e’) s z 2 e’ 1/lfs(z) dz = O(log (L/s))

105 12 July 2007Gary Miller Overlay Stitch Meshing 105 Competitive Analysis e’ Parametrize e’ as [0, l ] 1 st trick: lfs \ge s everywhere s z 2 e’ 1/lfs(z) dz = O(log (L/s))

106 12 July 2007Gary Miller Overlay Stitch Meshing 106 Competitive Analysis s z 2 e’ 1/lfs(z) dz = O(log (L/s)) e’ Parametrize e’ as e’(t) for t 2 [0, l ] l = length(e’) 1 st trick: lfs ¸ s everywhere 2 nd trick: lfs ¸ ct for t 2 [0, l /2] t

107 12 July 2007Gary Miller Overlay Stitch Meshing 107 Competitive Analysis s z 2 e’ 1/lfs(z) dz = O(log (L/s)) e’ Parametrize e’ as e’(t) 1 st trick: lfs ¸ s everywhere 2 nd trick: lfs ¸ ct for t 2 [0, l /2] t  z 2 e’ 1/lfs(z) dz · 2  s 0 1/s + 2  s l /2 1/x dx = O(1) + O(log( l /2) – log s) = O(log l /s) = O(log L/s)


Download ppt "12 July 2007Gary Miller Overlay Stitch Meshing 1 Size Competitive Meshing without Large Angles Gary L. Miller Carnegie Mellon Computer Science Joint work."

Similar presentations


Ads by Google