Download presentation
Presentation is loading. Please wait.
Published byEgbert Ambrose Powell Modified over 9 years ago
1
1 Olaf Hall-Holt Matthew J.Katz Piyush KummarJoseph S.B. Mitchell Zhao Zhang Department of Computer Science and Engineering Texas A&M University April 9, 2009/ CPSC-669
2
1. Introduction and Related work 2. Approximately Peeling Potatoes The Biggest Stick Problem(PTAS) A PTAS for Largest Triangles Peeling an ellipse for well sampled curves 3. Future work 2
3
Definition: compute a largest convex body inside a given shape has been called the “potato peelers problem” Goodman (81): How does one optimally “peel” a nonconvex potato P to obtain a convex potato, while wasting as little as possible of the original potato? Typical Subproblems: Longest Stick(Line) Biggest Rectangles (French Fry) Biggest Potato(polygon) Biggest Ellipse (smooth closed curves) 3
4
4
5
5
6
6
7
7
8
Mostly used in computer graphics application Application: 1. Natural Optimization Problems 2. Shape Approximation 3. Visibility Culling for Computer Graphics 8
9
[Koltam, Chrysanthon and Gohen-Or]: Virtual Occluders for PVS [Fausto, J. El-sana, J. T. Klosowski] Directional Discretized Occluders for Accelerated Occlusion Culling [Bischoff and Kobbelt] Packing ellipsoids by inflation [Brunet, Navazo, J.Bossignac,Carlos Saona] Hoops: 3D Curves as Conservative Occluders for Cell-Visibility 9
10
Maximum area convex k-gon inside a convex n-gon [A. Aggarwal,Algorithmica 87’] O(kn+nlogn), Matrix searching Equilateral triangles or squares within a simple polygon [A.DePano, CCC 87’] O(n 3 ) [L.P.Chew, Symbolic Comput. 90’]O(n 2 logn),motion planning method Maximum area triangle inside a simple polygon [E.A. Melissaratos SIAM 92’] O(n 3 ) Maximum-area convex polygon inside a simple polygon [J.Chang C.K Yap, Geom. 86’] O(n 7 ) Longest stick Problem O(n 1.99 ) [B.Chazelle Symbolic Comput 90’] O(n 8/5+ε ) [Agarwal, Sharir Algorithms 94’] parametric searching O(n 17/11+ε ) [Agarwal, Sharir Discrete Comput 96’] O(n 3/2+ε ) [Agarwal, Aronov SIAM 97’] 10
11
In simple n-gons: Longest stick: ½-approx, O(n logn) time Longest stick (1-ε)-approx O(n logn 2 ) time Biggest triangle: O(1)-approx O(n logn) Biggest triangle:(1- ε)-approx O(n) time Maximum-area Ellipse within well-sampled smooth closed curves: O(n 2 ) time 11
12
S* a b c d b c f d e i fie At least length(S*)/2 Step 1 : Hierarchical decomposition( Chazelle Cuts 91’ ): O(n) time Assume S* is the longest line in the polygon. There must at least one Chazelle Cut intersect S*. The first intersection cut S* into two part and one of them >length(S*)/2 12
13
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. Step 2: Compute weak visibility region m from anchor edge (diagonal) e. time :O(n)87’ Step 3: Compute the longest length from the e to m. time:O(1) There are logn level of the hierarchy, the total time consuming O(nlogn) 13
14
A mega-square is an axis-parallel square. Step 1: Set l 0 equals to the longest edge of P. l * is the optimal solution. Make three additional copies. Claim: P can be covered by linear time of mega-squares. Step 2: Mark those grid cells that are intersected by P’s boundary. Step 3: Divide the mega-square into pixels whose length is εl 0 /c 0,. 14
15
Step 4: For each pair of pixel sides s1, s2, check whether there exist a line segment in σ∩P whose endpoint lie on s1 and s2. If σ is a good mega- square, then we can have a ( 1- ε)-approximation of L*, since we just shorten it by only O(εl 0 ) by clipping its ends at the boudaries of the pixels containing them.
16
16 s1 an s2 are pixel sides and assume horizontal. R(ai) – the range on s2 that is seen from ai. R(bj) – the range on s1 that is seen from bj. If R(ai)>bj and R(bj)>ai => ai and bj can see each other. We can compute R(ai) using shortest path queries from L.J. Guibas. 【 Optimal shortest path queries in a simple ploygon 】 in logarithmic time Given a range R(ai) of an interval ai on s1, determining whether there is bj on s2 can be seen by ai takes O(log 2 k 2 ) (basing one a pecial tree stucture) There are O(1/ε 4 ) pairs of pixels. The total time consuming is O(nlogn)
17
Step 1: Recursive decomposition of the polygon using Chazelle cuts. Step 2: Traversing the boundary of the weakly visible polygon of each cut There are O(logn) cuts and each traversing takes O(n) 17
18
18 Theorem 3.1 In a simple polygon P with a n vertices one can compute an O(1)-approximation of the maximum-area triangle within P in time O(nlogn) Actually,one can compute (3/32)- approx for the maximum area trangle
19
A triangle is δ-fat if all three of its angles are at least some specified constantδ. 19 CLAIM 1. Assume that δ =α,β. Then, for any ε>0, there exists ε 0 >0 such that one can place a δ –fat triangle inside P with angles α+ ε 0, β+ ε 0, φ- 2ε 0 and whose area is at least (1- ε) area(Δ*). Let a* be the length of the shortest side of Δ*. We can get a constant factor approximation a 0 of a*, such that a 0 <a*<c 1 * a 0 for some small constant c 1. [using the Voronoi diagram of P in O(n) from Chin 99’] A mega-square is an axis-parallel square of side length O(a 0 ) If one mega-square can place a δ-fat triangle in P of area(Δ*) , we say it’s good.
20
Step 1: For each vertex p i in P, draw a mega-square of side length c 2 a 0 around p. Step 2:Divid each mega- square into pixels with length ε 0 a 0 /c 3. ε 0 can be calculated from CLAIM 1 C 3 =(3+3/tan δ) Step 3:Consider all the pixels intersect with the boundary. Select all the pixels inside the P.Then get the set of rectilinear polygons Q inside P. We claim the Q contains a triangle of area (1-ε 0 ) 2 area (Δ*) CLAIM 2. There exists a constant c 2, such that, for at least one of the vertices p i of P, the mega-square of side length c 2 a 0 centered at p i is good.
21
21 Step 4:Apply CK-algorithm to return a fat triangle within factor( 1-ε 0 ) CK-algorithm is from Chew an Kedem find_largest_copy(Q,P)( 93’) O(1) time CLAIM 3. The area of the returned triangle is at least (1-ε 0 ) 3 area (Δ*) (1-ε 0 ) 3 => (1-ε) THEOREM 2. One can compute a (1-ε)-approximation of the largest fat triangle inside a simple polygon P in time O(n).
22
A curve S is said to be α-sampled if the length of the curve between any tow consecutive sample points is no more than α. Let Q* denote a maximum-area empty ellipse contained in the smooth closed curve S. Let we get Q in this way: Scale Q* until it hits three sample point p 1, p 2, p 3 and the triangle p 1 p 2 p 3 contains the center of Q*. Let Q in = (1- α /b)Q. Then area(Qin)<=area(Q*)<=area(b/ ( b- α ) Q in ) The goal is to determine an ellipse that is close in some sense to Q. If Q and S both pass through the sample point p, then the angle between their normals at p is O( α). 22
23
Step 1: Linearization L L = {(x 2, y 2, 1/2xy, x, y)|(x, y) ∈ L*} Step 2: Get the Convex Hull of L Step 3: Pick any three points p, q, r belong to L, define one 2-dimensional space. Step 4: Compute ellipse Q pqr passing through p, q and r, whose normal at p, q, r each make a small angle with the corresponding normals of S, whose small is contained in the triangle pqr. Step 5: Return the area that is maximum over all area computed for feasible ellipses. 23
25
PTAS for largest triangle ? Find exact solutions/approximations for biggest potato ? Questions?
26
26 I would like to thank Olaf and Piyush, the authors, for helping me understand the paper and providing their slides on SODA.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.