computing inner and outer shape approximations

67
Computing Inner and Computing Inner and Outer Shape Outer Shape Approximations Approximations Joseph S.B. Mitchell Stony Brook University

Upload: makani

Post on 22-Feb-2016

47 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Computing Inner and Outer Shape Approximations

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

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

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

44

1. Natural Optimization Problems

2. Shape Approximation

3. Visibility Culling for Computer Graphics

MotivationMotivation

Page 5: Computing Inner and Outer Shape Approximations

55

Max-Area Convex “Potato”Max-Area Convex “Potato”

Page 6: Computing Inner and Outer Shape Approximations

66

Max-Area Ellipse Inside Smooth Max-Area Ellipse Inside Smooth Closed CurvesClosed Curves

Page 7: Computing Inner and Outer Shape Approximations

77

Biggest French FryBiggest French Fry

Page 8: Computing Inner and Outer Shape Approximations

88

Longest StickLongest Stick

Page 9: Computing Inner and Outer Shape Approximations

99

Related Work: Largest Inscribed Related Work: Largest Inscribed BodiesBodies

Page 10: Computing Inner and Outer Shape Approximations

1010

Convex Polygons on Point SetsConvex Polygons on Point Sets

Page 11: Computing Inner and Outer Shape Approximations

1111

Related Work: Longest StickRelated Work: Longest Stick

Page 12: Computing Inner and Outer Shape Approximations

1212

Our ResultsOur Results

Page 13: Computing Inner and Outer Shape Approximations

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

1414

Page 15: Computing Inner and Outer Shape Approximations

1515

Page 16: Computing Inner and Outer Shape Approximations

1616

Page 17: Computing Inner and Outer Shape Approximations

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

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

1919

Pixels and the visibility problemPixels and the visibility problem

Page 20: Computing Inner and Outer Shape Approximations

2020

Pixels and the visibility problemPixels and the visibility problem

Page 21: Computing Inner and Outer Shape Approximations

2121

Visibility between pixelsVisibility between pixels

Page 22: Computing Inner and Outer Shape Approximations

2222

Visibility between pixelsVisibility between pixels

Page 23: Computing Inner and Outer Shape Approximations

2323

Visibility between pixels (cont)Visibility between pixels (cont)

Page 24: Computing Inner and Outer Shape Approximations

2424

Approximating the Longest StickApproximating the Longest Stick

Page 25: Computing Inner and Outer Shape Approximations

2525

Big PotatoesBig Potatoes

Page 26: Computing Inner and Outer Shape Approximations

2626

Big FAT PotatoesBig FAT Potatoes

Page 27: Computing Inner and Outer Shape Approximations

2727

Approx Biggest Convex PotatoApprox Biggest Convex Potato

Page 28: Computing Inner and Outer Shape Approximations

2828

Approx Biggest Convex PotatoApprox Biggest Convex Potato

Page 29: Computing Inner and Outer Shape Approximations

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

3030

Approx Biggest Triangular PotatoApprox Biggest Triangular Potato

Page 31: Computing Inner and Outer Shape Approximations

3131

Big FAT Triangles: PTASBig FAT Triangles: PTAS

Page 32: Computing Inner and Outer Shape Approximations

3333

Big FAT Triangles: PTASBig FAT Triangles: PTAS

Page 33: Computing Inner and Outer Shape Approximations

3434

Sampling ApproachSampling Approach

Page 34: Computing Inner and Outer Shape Approximations

3535

Max-Area Triangle Using SamplingMax-Area Triangle Using Sampling

Page 35: Computing Inner and Outer Shape Approximations

3636

Max-Area Triangle: Sampling Max-Area Triangle: Sampling DifficultyDifficulty

Page 36: Computing Inner and Outer Shape Approximations

3737

Max-Area Ellipse Inside Sampled Max-Area Ellipse Inside Sampled CurvesCurves

Page 37: Computing Inner and Outer Shape Approximations

3838

The Set of Maximal Empty EllipsesThe Set of Maximal Empty Ellipses

Page 38: Computing Inner and Outer Shape Approximations

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

4040

SummarySummary

Page 40: Computing Inner and Outer Shape Approximations

4141

Open ProblemsOpen Problems

Page 41: Computing Inner and Outer Shape Approximations

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

4343

Bounding Volume HierarchyBounding Volume Hierarchy

BV-tree: BV-tree: Level 0Level 0 k-dopsk-dops

Page 43: Computing Inner and Outer Shape Approximations

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

4545

BV-tree: Level 2BV-tree: Level 2

Page 45: Computing Inner and Outer Shape Approximations

4646

BV-tree: Level 5BV-tree: Level 5

Page 46: Computing Inner and Outer Shape Approximations

4747

BV-tree: Level 8BV-tree: Level 8

Page 47: Computing Inner and Outer Shape Approximations

4848

QuickCD: Collision DetectionQuickCD: Collision Detection

Page 48: Computing Inner and Outer Shape Approximations

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

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

5151

Lower BoundLower Bound

Page 51: Computing Inner and Outer Shape Approximations

5252

Simple Exact AlgorithmSimple Exact Algorithm

Page 52: Computing Inner and Outer Shape Approximations

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

5454

Bad Case for Grid-Based SolutionBad Case for Grid-Based Solution

Page 54: Computing Inner and Outer Shape Approximations

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

5656

CasesCases

Separable

Edge In

Crossing

Vertex In

Piercing

Page 56: Computing Inner and Outer Shape Approximations

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

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

5959

(x,y)-Projection Cases(x,y)-Projection Cases

Page 59: Computing Inner and Outer Shape Approximations

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

6161

Varying the Varying the zz-Extent-Extent

Page 61: Computing Inner and Outer Shape Approximations

6262

Improvement for the Min-Max CaseImprovement for the Min-Max Case

Page 62: Computing Inner and Outer Shape Approximations

6363

Higher DimensionsHigher Dimensions

Page 63: Computing Inner and Outer Shape Approximations

6464

Min-UnionMin-Union

Page 64: Computing Inner and Outer Shape Approximations

6565

Covering Polygons/PolyhedraCovering Polygons/Polyhedra

Page 65: Computing Inner and Outer Shape Approximations

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

6767

Bounding Volume HierarchiesBounding Volume Hierarchies

Page 67: Computing Inner and Outer Shape Approximations

6868

Open ProblemsOpen Problems