Size Competitive Meshing without Large Angles
-
Upload
beck-davenport -
Category
Documents
-
view
12 -
download
1
description
Transcript of 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
12 July 2007 Gary MillerOverlay Stitch Meshing
2
The ProblemThe ProblemInput: A Planar Straight Line Input: A Planar Straight Line
GraphGraph
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
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
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
12 July 2007 Gary MillerOverlay Stitch Meshing
6
What is a quality triangle?What is a quality triangle?
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
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..
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..
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
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.
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.
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.
12 July 2007 Gary MillerOverlay Stitch Meshing
14
In Defense of QualityIn Defense of Quality
12 July 2007 Gary MillerOverlay Stitch Meshing
15
In Defense of QualityIn Defense of Quality
12 July 2007 Gary MillerOverlay Stitch Meshing
16
In Defense of QualityIn Defense of Quality
12 July 2007 Gary MillerOverlay Stitch Meshing
17
In Defense of QualityIn Defense of Quality
What went wrong?What went wrong?
12 July 2007 Gary MillerOverlay Stitch Meshing
18
In Defense of QualityIn Defense of Quality
What went wrong?What went wrong?
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.
12 July 2007 Gary MillerOverlay Stitch Meshing
20
Paying for the spreadPaying for the spread
12 July 2007 Gary MillerOverlay Stitch Meshing
21
Paying for the spreadPaying for the spread
LL
ss
Spread = L/sSpread = L/s
12 July 2007 Gary MillerOverlay Stitch Meshing
22
Paying for the spreadPaying for the spread
Optimal No-Large-Angle TriangulationOptimal No-Large-Angle Triangulation
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?
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?
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?
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?
12 July 2007 Gary MillerOverlay Stitch Meshing
27
Delaunay RefinementDelaunay Refinement
12 July 2007 Gary MillerOverlay Stitch Meshing
28
Delaunay RefinementDelaunay Refinement
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.
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
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
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
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
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
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
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]
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
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
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
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
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
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.
12 July 2007 Gary MillerOverlay Stitch Meshing
43
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
44
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
45
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
46
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
47
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
48
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
49
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
50
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
51
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
52
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
53
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
54
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
12 July 2007 Gary MillerOverlay Stitch Meshing
55
The OSM AlgorithmThe OSM Algorithm(Overlay Stitch Meshing)(Overlay Stitch Meshing)
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
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.
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
12 July 2007 Gary MillerOverlay Stitch Meshing
59
Angle GuaranteesAngle Guarantees
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.
12 July 2007 Gary MillerOverlay Stitch Meshing
61
Angle GuaranteesAngle Guarantees
An Overlay TriangleAn Overlay Triangle
12 July 2007 Gary MillerOverlay Stitch Meshing
62
Angle GuaranteesAngle Guarantees
An Overlay TriangleAn Overlay Triangle
An Overlay EdgeAn Overlay Edge
12 July 2007 Gary MillerOverlay Stitch Meshing
63
Angle GuaranteesAngle Guarantees
An Overlay TriangleAn Overlay Triangle
An Overlay EdgeAn Overlay Edge
Gap BallGap Ball
12 July 2007 Gary MillerOverlay Stitch Meshing
64
Angle GuaranteesAngle Guarantees
A Good IntersectionA Good Intersection
12 July 2007 Gary MillerOverlay Stitch Meshing
65
Angle GuaranteesAngle Guarantees
A Bad IntersectionA Bad Intersection
12 July 2007 Gary MillerOverlay Stitch Meshing
66
Angle GuaranteesAngle Guarantees
A Bad IntersectionA Bad Intersection
12 July 2007 Gary MillerOverlay Stitch Meshing
67
Angle GuaranteesAngle Guarantees
A Bad IntersectionA Bad Intersection
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?
12 July 2007 Gary MillerOverlay Stitch Meshing
69
Angle GuaranteesAngle GuaranteesHow Bad can it How Bad can it
be?be?
12 July 2007 Gary MillerOverlay Stitch Meshing
70
Angle GuaranteesAngle GuaranteesHow Bad can it How Bad can it
be?be?
12 July 2007 Gary MillerOverlay Stitch Meshing
71
Angle GuaranteesAngle GuaranteesHow Bad can it How Bad can it
be?be?
About 10About 10oo
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..
12 July 2007 Gary MillerOverlay Stitch Meshing
73
Size BoundsSize BoundsHow big is the resulting triangulation?How big is the resulting triangulation?
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
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
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
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)
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.
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)
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)
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)
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)
12 July 2007 Gary MillerOverlay Stitch Meshing
83
Competitive AnalysisCompetitive AnalysisWarm-upWarm-up
12 July 2007 Gary MillerOverlay Stitch Meshing
84
Competitive AnalysisCompetitive AnalysisWarm-upWarm-up
9090oo
12 July 2007 Gary MillerOverlay Stitch Meshing
85
Competitive AnalysisCompetitive AnalysisWarm-upWarm-up
??oo
12 July 2007 Gary MillerOverlay Stitch Meshing
86
Competitive AnalysisCompetitive AnalysisWarm-upWarm-up
12 July 2007 Gary MillerOverlay Stitch Meshing
87
Competitive AnalysisCompetitive AnalysisWarm-upWarm-up
12 July 2007 Gary MillerOverlay Stitch Meshing
88
Competitive AnalysisCompetitive AnalysisWarm-upWarm-up
12 July 2007 Gary MillerOverlay Stitch Meshing
89
Competitive AnalysisCompetitive AnalysisWarm-upWarm-up
12 July 2007 Gary MillerOverlay Stitch Meshing
90
Competitive AnalysisCompetitive AnalysisWarm-upWarm-up
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..
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
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.
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.
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.
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.
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.
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.
12 July 2007 Gary MillerOverlay Stitch Meshing
99
Where to go from here?Where to go from here?• 3D?3D?
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?
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.
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
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))
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))
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))
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
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)