Download presentation
Presentation is loading. Please wait.
Published byKaren Lindsay Nichols Modified over 9 years ago
1
Computing Inner and Outer Shape Approximations Joseph S.B. Mitchell Stony Brook University
2
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
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
4 1.Natural Optimization Problems 2.Shape Approximation 3.Visibility Culling for Computer Graphics Motivation
5
5 Max-Area Convex “Potato”
6
6 Max-Area Ellipse Inside Smooth Closed Curves
7
7 Biggest French Fry
8
8 Longest Stick
9
9 Related Work: Largest Inscribed Bodies
10
10 Convex Polygons on Point Sets
11
11 Related Work: Longest Stick
12
12 Our Results
13
13 Approximating the Longest Stick Divide and conquer Divide and conquer Use balanced cuts (Chazelle) Use balanced cuts (Chazelle)
14
14
15
15
16
16
17
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
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
19 Pixels and the visibility problem
20
20 Pixels and the visibility problem
21
21 Visibility between pixels
22
22 Visibility between pixels
23
23 Visibility between pixels (cont)
24
24 Approximating the Longest Stick
25
25 Big Potatoes
26
26 Big FAT Potatoes
27
27 Approx Biggest Convex Potato
28
28 Approx Biggest Convex Potato
29
29 Approx Biggest Convex Potato Goal: Find max-area e-anchored triangle Goal: Find max-area e-anchored triangle
30
30 Approx Biggest Triangular Potato
31
31 Big FAT Triangles: PTAS
32
32 Big FAT Triangular Potatos
33
33 Big FAT Triangles: PTAS
34
34 Sampling Approach
35
35 Max-Area Triangle Using Sampling
36
36 Max-Area Triangle: Sampling Difficulty
37
37 Max-Area Ellipse Inside Sampled Curves
38
38 The Set of Maximal Empty Ellipses
39
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
40 Summary
41
41 Open Problems
42
42 Part II: Outer Approximation Joint work with E. Arkin, G. Barequet (SoCG’06) Joint work with E. Arkin, G. Barequet (SoCG’06)
43
43 Bounding Volume Hierarchy BV-tree: Level 0 k-dops
44
44 BV-tree: Level 1 26-dops 14-dops 6-dops 18-dops
45
45 BV-tree: Level 2
46
46 BV-tree: Level 5
47
47 BV-tree: Level 8
48
48 QuickCD: Collision Detection
49
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
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
51 Lower Bound
52
52 Simple Exact Algorithm
53
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
54 Bad Case for Grid-Based Solution
55
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
56 Cases Separable Edge In Crossing Vertex In Piercing
57
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
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
59 (x,y)-Projection Cases
60
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
61 Varying the z-Extent
62
62 Improvement for the Min-Max Case
63
63 Higher Dimensions
64
64 Min-Union
65
65 Covering Polygons/Polyhedra
66
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
67 Bounding Volume Hierarchies
68
68 Open Problems
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.