1 Olaf Hall-Holt Matthew J.Katz Piyush KummarJoseph S.B. Mitchell Zhao Zhang Department of Computer...
-
Upload
egbert-ambrose-powell -
Category
Documents
-
view
216 -
download
0
Transcript of 1 Olaf Hall-Holt Matthew J.Katz Piyush KummarJoseph S.B. Mitchell Zhao Zhang Department of Computer...
1
Olaf Hall-Holt Matthew J.Katz Piyush Kummar Joseph S.B. Mitchell
Zhao Zhang
Department of Computer Science and EngineeringTexas A&M University
April 9, 2009/ CPSC-669
1. Introduction and Related work2. Approximately Peeling Potatoes
The Biggest Stick Problem(PTAS) A PTAS for Largest Triangles Peeling an ellipse for well sampled curves
3. Future work
2
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
5
6
7
Mostly used in computer graphics application Application: 1. Natural Optimization Problems 2. Shape Approximation 3. Visibility Culling for Computer Graphics
8
[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
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(n3) [L.P.Chew, Symbolic Comput. 90’]O(n2logn) ,motion planning method
Maximum area triangle inside a simple polygon [E.A. Melissaratos SIAM 92’] O(n3)
Maximum-area convex polygon inside a simple polygon [J.Chang C.K Yap, Geom. 86’] O(n7)
Longest stick Problem O(n1.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
In simple n-gons: Longest stick: ½-approx,
O(n logn) time
Longest stick (1-ε)-approx O(n logn2) 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(n2) time
11
S*
a
b c
db
c
f
d
e
i
f ie
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
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
A mega-square is an axis-parallel square.
Step 1: Set l0 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 εl0 /c0 , .
14
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(εl0) by clipping its ends at the boudaries of the pixels containing them.
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(log2 k2)(basing one a pecial tree stucture)
There are O(1/ε4 ) pairs of pixels.
The total time consuming is O(nlogn)
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
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
A triangle is δ-fat if all three of its angles are at least some specified constantδ.
19
CLAIM 1. Assume that δ <60 and 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 a0 of a*, such that a0 <a*<c1* a0 for some small constant c1. [using the Voronoi diagram of P in O(n) from Chin 99’]
A mega-square is an axis-parallel square of side length O(a0 )
If one mega-square can place a δ-fat triangle in P of area(Δ*) , we say it’s good.
Step 1: For each vertex pi in P, draw a mega-square of side length c2a0 around p.
Step 2:Divid each mega-square into pixels with length ε0a0/c3.
ε0 can be calculated from CLAIM 1C3 =(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 c2 , such that, for at least one of the vertices pi of P, the mega-square of side length c2a0 centered at pi is good.
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).
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 p1, p2, p3 and the triangle p1p2p3 contains
the center of Q*. Let Qin = (1- α /b)Q. Then area(Qin)<=area(Q*)<=area(b/ ( b- α ) Qin)
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
Step 1: Linearization LL = {(x2, y2, 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 Qpqr 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
• PTAS for largest triangle ?
• Find exact solutions/approximations for
biggest potato ?
Questions?
26
I would like to thank Olaf and Piyush, the authors, for helping me understand the paper and providing their slides on SODA.