computing inner and outer shape approximations
DESCRIPTION
Computing Inner and Outer Shape Approximations. Joseph S.B. Mitchell Stony Brook University. Talk Outline. Two classes of optimization problems in shape approximation: Finding “largest” subset of a body B of specified type Best inner approximation - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/1.jpg)
Computing Inner and Computing Inner and Outer Shape Outer Shape
ApproximationsApproximations
Joseph S.B. MitchellStony Brook University
![Page 2: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/2.jpg)
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
![Page 3: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/3.jpg)
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)
![Page 4: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/4.jpg)
44
1. Natural Optimization Problems
2. Shape Approximation
3. Visibility Culling for Computer Graphics
MotivationMotivation
![Page 5: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/5.jpg)
55
Max-Area Convex “Potato”Max-Area Convex “Potato”
![Page 6: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/6.jpg)
66
Max-Area Ellipse Inside Smooth Max-Area Ellipse Inside Smooth Closed CurvesClosed Curves
![Page 7: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/7.jpg)
77
Biggest French FryBiggest French Fry
![Page 8: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/8.jpg)
88
Longest StickLongest Stick
![Page 9: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/9.jpg)
99
Related Work: Largest Inscribed Related Work: Largest Inscribed BodiesBodies
![Page 10: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/10.jpg)
1010
Convex Polygons on Point SetsConvex Polygons on Point Sets
![Page 11: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/11.jpg)
1111
Related Work: Longest StickRelated Work: Longest Stick
![Page 12: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/12.jpg)
1212
Our ResultsOur Results
![Page 13: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/13.jpg)
1313
Approximating the Longest StickApproximating the Longest Stick Divide and conquerDivide and conquer Use balanced cuts (Chazelle)Use balanced cuts (Chazelle)
![Page 14: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/14.jpg)
1414
![Page 15: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/15.jpg)
1515
![Page 16: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/16.jpg)
1616
![Page 17: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/17.jpg)
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
![Page 18: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/18.jpg)
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
![Page 19: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/19.jpg)
1919
Pixels and the visibility problemPixels and the visibility problem
![Page 20: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/20.jpg)
2020
Pixels and the visibility problemPixels and the visibility problem
![Page 21: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/21.jpg)
2121
Visibility between pixelsVisibility between pixels
![Page 22: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/22.jpg)
2222
Visibility between pixelsVisibility between pixels
![Page 23: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/23.jpg)
2323
Visibility between pixels (cont)Visibility between pixels (cont)
![Page 24: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/24.jpg)
2424
Approximating the Longest StickApproximating the Longest Stick
![Page 25: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/25.jpg)
2525
Big PotatoesBig Potatoes
![Page 26: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/26.jpg)
2626
Big FAT PotatoesBig FAT Potatoes
![Page 27: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/27.jpg)
2727
Approx Biggest Convex PotatoApprox Biggest Convex Potato
![Page 28: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/28.jpg)
2828
Approx Biggest Convex PotatoApprox Biggest Convex Potato
![Page 29: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/29.jpg)
2929
Approx Biggest Convex PotatoApprox Biggest Convex Potato Goal: Find max-area Goal: Find max-area ee-anchored triangle-anchored triangle
![Page 30: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/30.jpg)
3030
Approx Biggest Triangular PotatoApprox Biggest Triangular Potato
![Page 31: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/31.jpg)
3131
Big FAT Triangles: PTASBig FAT Triangles: PTAS
![Page 32: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/32.jpg)
3333
Big FAT Triangles: PTASBig FAT Triangles: PTAS
![Page 33: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/33.jpg)
3434
Sampling ApproachSampling Approach
![Page 34: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/34.jpg)
3535
Max-Area Triangle Using SamplingMax-Area Triangle Using Sampling
![Page 35: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/35.jpg)
3636
Max-Area Triangle: Sampling Max-Area Triangle: Sampling DifficultyDifficulty
![Page 36: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/36.jpg)
3737
Max-Area Ellipse Inside Sampled Max-Area Ellipse Inside Sampled CurvesCurves
![Page 37: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/37.jpg)
3838
The Set of Maximal Empty EllipsesThe Set of Maximal Empty Ellipses
![Page 38: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/38.jpg)
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
![Page 39: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/39.jpg)
4040
SummarySummary
![Page 40: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/40.jpg)
4141
Open ProblemsOpen Problems
![Page 41: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/41.jpg)
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)
![Page 42: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/42.jpg)
4343
Bounding Volume HierarchyBounding Volume Hierarchy
BV-tree: BV-tree: Level 0Level 0 k-dopsk-dops
![Page 43: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/43.jpg)
4444
BV-tree: Level 1BV-tree: Level 1
26-dops26-dops
14-dops14-dops6-dops6-dops
18-dops18-dops
![Page 44: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/44.jpg)
4545
BV-tree: Level 2BV-tree: Level 2
![Page 45: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/45.jpg)
4646
BV-tree: Level 5BV-tree: Level 5
![Page 46: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/46.jpg)
4747
BV-tree: Level 8BV-tree: Level 8
![Page 47: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/47.jpg)
4848
QuickCD: Collision DetectionQuickCD: Collision Detection
![Page 48: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/48.jpg)
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
![Page 49: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/49.jpg)
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]
![Page 50: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/50.jpg)
5151
Lower BoundLower Bound
![Page 51: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/51.jpg)
5252
Simple Exact AlgorithmSimple Exact Algorithm
![Page 52: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/52.jpg)
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
![Page 53: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/53.jpg)
5454
Bad Case for Grid-Based SolutionBad Case for Grid-Based Solution
![Page 54: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/54.jpg)
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:
![Page 55: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/55.jpg)
5656
CasesCases
Separable
Edge In
Crossing
Vertex In
Piercing
![Page 56: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/56.jpg)
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
![Page 57: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/57.jpg)
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:
![Page 58: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/58.jpg)
5959
(x,y)-Projection Cases(x,y)-Projection Cases
![Page 59: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/59.jpg)
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?
![Page 60: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/60.jpg)
6161
Varying the Varying the zz-Extent-Extent
![Page 61: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/61.jpg)
6262
Improvement for the Min-Max CaseImprovement for the Min-Max Case
![Page 62: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/62.jpg)
6363
Higher DimensionsHigher Dimensions
![Page 63: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/63.jpg)
6464
Min-UnionMin-Union
![Page 64: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/64.jpg)
6565
Covering Polygons/PolyhedraCovering Polygons/Polyhedra
![Page 65: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/65.jpg)
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?
![Page 66: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/66.jpg)
6767
Bounding Volume HierarchiesBounding Volume Hierarchies
![Page 67: Computing Inner and Outer Shape Approximations](https://reader035.vdocuments.net/reader035/viewer/2022062323/56816027550346895dcf2d8d/html5/thumbnails/67.jpg)
6868
Open ProblemsOpen Problems