computing inner and outer shape approximations joseph s.b. mitchell stony brook university
TRANSCRIPT
Computing Inner and Computing Inner and Outer Shape Outer Shape
ApproximationsApproximations
Joseph S.B. MitchellStony Brook University
22
Talk OutlineTalk Outline
Two classes of optimization problems Two classes of optimization problems in shape approximation:in shape approximation:• Finding “largest” subset of a body B of
specified type Best inner approximation
• Finding “smallest” (tightest fitting) pair of bounding boxes
Best outer approximationBest outer approximation
33
1. Motivation and summary of results
2. 2D Approximation algorithms
1. Longest stick (line segment)
2. Max-area convex bodies (“potatoes”)
3. Max-area rectangles (“French fries),
triangles
4. Max-area ellipses within well sampled
curves
3. 3D Heuristics
Part I: Inner ApproximationsPart I: Inner Approximations
Joint work with O. Hall-Holt, M. Katz, P. Kumar, A. Joint work with O. Hall-Holt, M. Katz, P. Kumar, A. Sityon (SODA’06) Sityon (SODA’06)
44
1. Natural Optimization Problems
2. Shape Approximation
3. Visibility Culling for Computer Graphics
MotivationMotivation
55
Max-Area Convex “Potato”Max-Area Convex “Potato”
66
Max-Area Ellipse Inside Smooth Max-Area Ellipse Inside Smooth Closed CurvesClosed Curves
77
Biggest French FryBiggest French Fry
88
Longest StickLongest Stick
99
Related Work: Largest Inscribed Related Work: Largest Inscribed BodiesBodies
1010
Convex Polygons on Point SetsConvex Polygons on Point Sets
1111
Related Work: Longest StickRelated Work: Longest Stick
1212
Our ResultsOur Results
1313
Approximating the Longest StickApproximating the Longest Stick
Divide and conquerDivide and conquer Use balanced cuts (Chazelle)Use balanced cuts (Chazelle)
1414
1515
1616
1717
1. Compute weak visibility region from anchor edge
(diagonal) e.
2. p has combinatorial type (u,v)
3. Optimize for each of the O(n) elementary intervals.
Theorem:
One can compute a ½-approximation for longest stick in a simple polygon in O(nlogn) time.
Algorithm:
At each level of the recursive decomposition of P, compute longest anchored sticks from each diagonal cut: O(n) per level.
Longest Anchored stick is at least ½ the length of the longest stick.
Open Problem:Can we get O(1)-approx in O(n) time?
Approximating the Longest StickApproximating the Longest Stick
1818
Algorithm:
Bootstrap from the O(1)-approx, discretize search space more finely, reduce to a visibility problem, and apply efficient data structures
Improved ApproximationImproved Approximation
1919
Pixels and the visibility problemPixels and the visibility problem
2020
Pixels and the visibility problemPixels and the visibility problem
2121
Visibility between pixelsVisibility between pixels
2222
Visibility between pixelsVisibility between pixels
2323
Visibility between pixels (cont)Visibility between pixels (cont)
2424
Approximating the Longest StickApproximating the Longest Stick
2525
Big PotatoesBig Potatoes
2626
Big FAT PotatoesBig FAT Potatoes
2727
Approx Biggest Convex PotatoApprox Biggest Convex Potato
2828
Approx Biggest Convex PotatoApprox Biggest Convex Potato
2929
Approx Biggest Convex PotatoApprox Biggest Convex Potato
Goal: Find max-area Goal: Find max-area ee-anchored triangle-anchored triangle
3030
Approx Biggest Triangular PotatoApprox Biggest Triangular Potato
3131
Big FAT Triangles: PTASBig FAT Triangles: PTAS
3333
Big FAT Triangles: PTASBig FAT Triangles: PTAS
3434
Sampling ApproachSampling Approach
3535
Max-Area Triangle Using SamplingMax-Area Triangle Using Sampling
3636
Max-Area Triangle: Sampling Max-Area Triangle: Sampling DifficultyDifficulty
3737
Max-Area Ellipse Inside Sampled Max-Area Ellipse Inside Sampled CurvesCurves
3838
The Set of Maximal Empty EllipsesThe Set of Maximal Empty Ellipses
3939
3D Hueristics3D Hueristics
““Grow” k-dops from selected seed Grow” k-dops from selected seed points: collision detection (QuickCD), points: collision detection (QuickCD), responseresponse
4040
SummarySummary
4141
Open ProblemsOpen Problems
4242
Part II: Outer ApproximationPart II: Outer Approximation
Joint work with E. Arkin, G. Barequet Joint work with E. Arkin, G. Barequet (SoCG’06)(SoCG’06)
4343
Bounding Volume HierarchyBounding Volume Hierarchy
BV-tree: BV-tree: Level 0Level 0 k-dopsk-dops
4444
BV-tree: Level 1BV-tree: Level 1
26-dops26-dops
14-dops14-dops6-dops6-dops
18-dops18-dops
4545
BV-tree: Level 2BV-tree: Level 2
4646
BV-tree: Level 5BV-tree: Level 5
4747
BV-tree: Level 8BV-tree: Level 8
4848
QuickCD: Collision DetectionQuickCD: Collision Detection
4949
The 2-Box Cover ProblemThe 2-Box Cover Problem
Given set S of n points/polygonsGiven set S of n points/polygons Compute 2 boxes, Compute 2 boxes, BB11 and and BB22, to , to
minimize the combined measure, minimize the combined measure, f(Bf(B11,B,B22))• Measures: volume, surface area, Measures: volume, surface area,
diameter, width, girth, etcdiameter, width, girth, etc Choice of Choice of ff: :
Min-Sum, Min-Max, Min-UnionMin-Sum, Min-Max, Min-Union
5050
Related WorkRelated Work Min-max 2-box cover in d-D in time Min-max 2-box cover in d-D in time O(n log O(n log
n + nn + nd-1d-1)) [Bespamyatnik & Segal][Bespamyatnik & Segal] Clustering: Clustering: kk-center (min-max radius), -center (min-max radius), kk--
median (min-sum of dist), median (min-sum of dist), kk-clustering, -clustering, min-size min-size kk-clustering, core sets for approx-clustering, core sets for approx
Rectilinear 2-center: cover with 2 cubes of Rectilinear 2-center: cover with 2 cubes of min-max size: O(n) [LP-type]min-max size: O(n) [LP-type]
Min-size Min-size kk-clustering: min sum of radii -clustering: min sum of radii [Bilo+’05,Lev-Tov&Peleg’05,Alt+’05][Bilo+’05,Lev-Tov&Peleg’05,Alt+’05]• kk=2, 2D exact in =2, 2D exact in O(nO(n22/log log n)/log log n) [Hershberger][Hershberger]
5151
Lower BoundLower Bound
5252
Simple Exact AlgorithmSimple Exact Algorithm
5353
Simple Grid-Based SolutionSimple Grid-Based Solution
Look at Look at NN occupied voxels occupied voxels Solve 2-box cover exactly on them, Solve 2-box cover exactly on them,
exploiting special structureexploiting special structure
5454
Bad Case for Grid-Based SolutionBad Case for Grid-Based Solution
5555
Minimizing Surface AreaMinimizing Surface Area
For surface area, grids do wellFor surface area, grids do well If OPT is separable, solve easilyIf OPT is separable, solve easily Otherwise, use following Lemma:Otherwise, use following Lemma:
5656
CasesCases
Separable
Edge In
Crossing
Vertex In
Piercing
5757
Separable CaseSeparable Case
Sweep in each of d Sweep in each of d directions, O(n log n)directions, O(n log n)
Swap each hit point Swap each hit point from one box to the from one box to the otherother
Update: O(log n)/ptUpdate: O(log n)/pt
5858
Nonseparable CaseNonseparable Case
Key idea: one of the boxes is “large” Key idea: one of the boxes is “large” (at least ½) in at least half of its (at least ½) in at least half of its extents:extents:
5959
(x,y)-Projection Cases(x,y)-Projection Cases
6060
Discretizing in Discretizing in (x,y)(x,y)
BB11 is “large” in (x,y) is “large” in (x,y) Can afford to round it out Can afford to round it out
to gridto grid How to determine its How to determine its zz--
extent?extent?
6161
Varying the Varying the zz-Extent-Extent
6262
Improvement for the Min-Max CaseImprovement for the Min-Max Case
6363
Higher DimensionsHigher Dimensions
6464
Min-UnionMin-Union
6565
Covering Polygons/PolyhedraCovering Polygons/Polyhedra
6666
Cardinaltiy Constraints: Balancing Cardinaltiy Constraints: Balancing the Partitionthe Partition
For building hierarchies, we want to For building hierarchies, we want to control the cardinalities of how many control the cardinalities of how many objects are covered by each of the 2 objects are covered by each of the 2 boxes:boxes:
OPEN: Can we do the volume measure in near-linear time?
6767
Bounding Volume HierarchiesBounding Volume Hierarchies
6868
Open ProblemsOpen Problems