Download presentation
Presentation is loading. Please wait.
Published byJaydon Knightly Modified over 9 years ago
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.