Computing Inner and Outer Shape Approximations Joseph S.B. Mitchell Stony Brook University
2 Talk Outline Two classes of optimization problems in shape approximation: Two classes of optimization problems 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 approximation Best outer approximation
3 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 Approximations Joint work with O. Hall-Holt, M. Katz, P. Kumar, A. Sityon (SODA’06) Joint work with O. Hall-Holt, M. Katz, P. Kumar, A. Sityon (SODA’06)
4 1.Natural Optimization Problems 2.Shape Approximation 3.Visibility Culling for Computer Graphics Motivation
5 Max-Area Convex “Potato”
6 Max-Area Ellipse Inside Smooth Closed Curves
7 Biggest French Fry
8 Longest Stick
9 Related Work: Largest Inscribed Bodies
10 Convex Polygons on Point Sets
11 Related Work: Longest Stick
12 Our Results
13 Approximating the Longest Stick Divide and conquer Divide and conquer Use balanced cuts (Chazelle) Use balanced cuts (Chazelle)
14
15
16
17 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 Stick
18 Algorithm: Bootstrap from the O(1)-approx, discretize search space more finely, reduce to a visibility problem, and apply efficient data structures Improved Approximation
19 Pixels and the visibility problem
20 Pixels and the visibility problem
21 Visibility between pixels
22 Visibility between pixels
23 Visibility between pixels (cont)
24 Approximating the Longest Stick
25 Big Potatoes
26 Big FAT Potatoes
27 Approx Biggest Convex Potato
28 Approx Biggest Convex Potato
29 Approx Biggest Convex Potato Goal: Find max-area e-anchored triangle Goal: Find max-area e-anchored triangle
30 Approx Biggest Triangular Potato
31 Big FAT Triangles: PTAS
32 Big FAT Triangular Potatos
33 Big FAT Triangles: PTAS
34 Sampling Approach
35 Max-Area Triangle Using Sampling
36 Max-Area Triangle: Sampling Difficulty
37 Max-Area Ellipse Inside Sampled Curves
38 The Set of Maximal Empty Ellipses
39 3D Hueristics “Grow” k-dops from selected seed points: collision detection (QuickCD), response “Grow” k-dops from selected seed points: collision detection (QuickCD), response
40 Summary
41 Open Problems
42 Part II: Outer Approximation Joint work with E. Arkin, G. Barequet (SoCG’06) Joint work with E. Arkin, G. Barequet (SoCG’06)
43 Bounding Volume Hierarchy BV-tree: Level 0 k-dops
44 BV-tree: Level 1 26-dops 14-dops 6-dops 18-dops
45 BV-tree: Level 2
46 BV-tree: Level 5
47 BV-tree: Level 8
48 QuickCD: Collision Detection
49 The 2-Box Cover Problem Given set S of n points/polygons Given set S of n points/polygons Compute 2 boxes, B 1 and B 2, to minimize the combined measure, f(B 1,B 2 ) Compute 2 boxes, B 1 and B 2, to minimize the combined measure, f(B 1,B 2 ) Measures: volume, surface area, diameter, width, girth, etcMeasures: volume, surface area, diameter, width, girth, etc Choice of f: Choice of f: Min-Sum, Min-Max, Min-Union Min-Sum, Min-Max, Min-Union
50 Related Work Min-max 2-box cover in d-D in time O(n log n + n d-1 ) [Bespamyatnik & Segal] Min-max 2-box cover in d-D in time O(n log n + n d-1 ) [Bespamyatnik & Segal] Clustering: k-center (min-max radius), k- median (min-sum of dist), k-clustering, min-size k-clustering, core sets for approx Clustering: k-center (min-max radius), k- median (min-sum of dist), k-clustering, min-size k-clustering, core sets for approx Rectilinear 2-center: cover with 2 cubes of min-max size: O(n) [LP-type] Rectilinear 2-center: cover with 2 cubes of min-max size: O(n) [LP-type] Min-size k-clustering: min sum of radii [Bilo+’05,Lev-Tov&Peleg’05,Alt+’05] Min-size k-clustering: min sum of radii [Bilo+’05,Lev-Tov&Peleg’05,Alt+’05] k=2, 2D exact in O(n 2 /log log n) [Hershberger]k=2, 2D exact in O(n 2 /log log n) [Hershberger]
51 Lower Bound
52 Simple Exact Algorithm
53 Simple Grid-Based Solution Look at N occupied voxels Look at N occupied voxels Solve 2-box cover exactly on them, exploiting special structure Solve 2-box cover exactly on them, exploiting special structure
54 Bad Case for Grid-Based Solution
55 Minimizing Surface Area For surface area, grids do well For surface area, grids do well If OPT is separable, solve easily If OPT is separable, solve easily Otherwise, use following Lemma: Otherwise, use following Lemma:
56 Cases Separable Edge In Crossing Vertex In Piercing
57 Separable Case Sweep in each of d directions, O(n log n) Sweep in each of d directions, O(n log n) Swap each hit point from one box to the other Swap each hit point from one box to the other Update: O(log n)/pt Update: O(log n)/pt
58 Nonseparable Case Key idea: one of the boxes is “large” (at least ½) in at least half of its extents: Key idea: one of the boxes is “large” (at least ½) in at least half of its extents:
59 (x,y)-Projection Cases
60 Discretizing in (x,y) B 1 is “large” in (x,y) B 1 is “large” in (x,y) Can afford to round it out to grid Can afford to round it out to grid How to determine its z-extent? How to determine its z-extent?
61 Varying the z-Extent
62 Improvement for the Min-Max Case
63 Higher Dimensions
64 Min-Union
65 Covering Polygons/Polyhedra
66 Cardinaltiy Constraints: Balancing the Partition For building hierarchies, we want to control the cardinalities of how many objects are covered by each of the 2 boxes: For building hierarchies, we want to control the cardinalities of how many objects are covered by each of the 2 boxes: OPEN: Can we do the volume measure in near-linear time?
67 Bounding Volume Hierarchies
68 Open Problems