Document Sample

Convex Sets & Concave Sets A planar region R is called convex if and only if for any pair of points p, q in R, the line segment pq lies completely in R. Otherwise, it is called concave. p p R1 R2 q q Convex Concave An Example 4 1 2 3 Convex Hull The convex hull CH(Q) of a set Q is the smallest convex region that contains Q. Rubber band When Q is finite, its convex hull is the unique convex polygon whose vertices are from Q and that contains all points of Q. The Convex Hull Problem Input: a set P = { p1 , p2 , …, pn } of points Output: a list of vertices of CH(P) in counterclockwise order. Example p5 p9 p6 p7 p1 p2 p4 p3 p10 p8 Output: p5 , p9 , p2 , p8 , p10, p7 . Edges of a Convex Hull For every edge both endpoints p, q Î P. All other points in P lie to the same side of the line passing through p and q, or on the line segment pq. q r p Polar Angle y q polar angle p x r An Example of Graham Scan Sort by polar angle. p9 p6 p7 p4 p11 p8 p10 p5 p3 p2 p1 p0 (with the minimum y-coordinate) How to break a tie? Labels are in the polar angle order. (What if two points have the same polar angle?) Stack Initialization p6 p9 p7 p4 p11 p8 S p10 p5 p3 p2 p1 p2 p1 p0 p0 p6 p9 p7 p4 p11 p8 S p10 p5 p3 p3 p1 p2 p1 p0 p0 p6 p9 p7 p4 p11 p8 S p10 p5 p3 p4 p1 p2 p1 p0 p0 p6 p9 S p7 p4 p11 p8 p5 p10 p5 p3 p4 p1 p2 p1 p0 p0 p6 p9 S p7 p4 p11 p8 p6 p10 p5 p3 p4 p1 p2 p1 p0 p0 S p6 p8 p9 p7 p4 p7 p11 p8 p6 p10 p5 p3 p4 p1 p2 p1 p0 p0 S p6 p9 p7 p4 p7 p11 p8 p6 p10 p5 p3 p4 p1 p2 p1 p0 p0 S p6 p10 p9 p4 p9 p11 p7 p8 p6 p10 p5 p3 p4 p1 p2 p1 p0 p0 S p6 p11 p9 p4 p9 p11 p7 p8 p6 p10 p5 p3 p4 p1 p2 p1 p0 p0 Finish S p6 p11 p9 p4 p9 p11 p7 p8 p6 p10 p5 p3 p4 p1 p2 p1 p0 p0 Graham’s Scan pk candidates for vertices pj pj Non-vertices pl finish Every point of CH(P) start of CH(P) pi in P is pi determined pi ps pushed onto so far are p2 · · popped · · · S once · · · p1 · · · · p0 p0 p0 p0 p0 vertices of CH(P) in the counter- clockwise order. The Graham Scan Algorithm Graham-Scan(P) let p be the point in P with minimum y-coordinate 0 let á p , p , …, p ñ be the remaining points in P 1 2 n–1 sorted in counterclockwise order by polar angle around p . 0 Top[S] ¬ 0 Push(p , S) 0 Push(p , S) 1 Push(p , S) 2 for i ¬ 3 to n - 1 do while p makes a nonleft turn from the line segment i determined by Top(S) and Next-to-Top(S) do Pop(S) Push(S, p i ) return S Correctness of Graham’s Scan Theorem If Graham-Scan is run on a set P of at least three points, then a point of P is on the stack S at termination if and only if it is a vertex of CH(P). Running time #operations time / operation total Finding 1 Q(n) Q(n) p0 Sorting 1 O(n lg n) O(n lg n) Push n O(1) Q(n) Pop £n-2 O(1) O(n) Why? The running time of Graham’s Scan is O(n lg n). Jarvis’ March A “package wrapping” technique (smallest polar p4 p3 angle w.r.t. p2) (smallest polar p2 (smallest polar angle w.r.t. p ) angle w.r.t. p ) 4 1 Left Right chain chain p5 p1 (smallest polar p6 angle w.r.t. p ) 0 (smallest polar p0 (lowest point) angle w.r.t. p ) 5 Running Time of Jarvis’s March Let h be the number of vertices of the convex hull. For each vertex, finding the point with the minimum Polar angle, that is, the next vertex, takes time O(n). Comparison between two polar angles can be done using cross product. Thus O(nh) time in total.

DOCUMENT INFO

Shared By:

Categories:

Tags:

Stats:

views: | 0 |

posted: | 7/19/2013 |

language: | Unknown |

pages: | 23 |

SHARED BY

About
Some of Those documents come from internet for research purpose,if you have the copyrights of one of them,tell me by mail vixychina@gmail.com.Thank you!

OTHER DOCS BY hcj

Docstoc is the premier online destination to start and grow small businesses. It hosts the best quality and widest selection of professional documents (over 20 million) and resources including expert videos, articles and productivity tools to make every small business better.

Search or Browse for any specific document or resource you need for your business. Or explore our curated resources for Starting a Business, Growing a Business or for Professional Development.

Feel free to Contact Us with any questions you might have.