Planar Convex Hull 2013 / 5 / 9 Group 4 Sungheon Park Jeongho Son CS504 Presentation [CS504 Presentation]
Contents CS504 Presentation Definition of convex hull Bruteforce algorithm Graham’s scan Divide and conquer Quickhull Jarvis’ method
What is convex hull? CS504 Presentation Let S be a set of points in the plane. Intuition: Imagine the points of S as being pegs; the convex hull of S is the shape of a rubber-band stretched around the pegs.
What is convex hull? CS504 Presentation
Applications of convex hull CS504 Presentation computer visualization, ray tracing path finding Geographical Information Systems (GIS) Visual pattern matching
Orientation test CS504 Presentation
Graham’s Scan CS504 Presentation
Graham’s Scan CS504 Presentation
Graham’s Scan CS504 Presentation
Original Graham’s scan CS504 Presentation Initially, points are sorted in increasing angular value If the point is not convex (concave), it removes the current point from the perimeter list
Divide-and-Conquer CS504 Presentation
Divide-and-Conquer CS504 Presentation
Quickhull CS504 Presentation
Quickhull CS504 Presentation
Quickhull CS504 Presentation
Jarvis’s March CS504 Presentation Build the hull using “gift wrapping” process
Jarvis’s March CS504 Presentation
Jarvis’s March CS504 Presentation
Applet CS504 Presentation Java applet – hull.htmlhttp:// hull.html – pr09/cos226/demo/ah/JarvisMarch.htmlhttp:// pr09/cos226/demo/ah/JarvisMarch.html
CS504 Presentation Chan’s algorithm Jeongho Son
Planar Convex Hull CS504 Presentation
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation Stage 1 n = 32 Set m = 8
Chan’s Algorithm CS504 Presentation Stage 1 n = 32 Set m = 8 r = 4
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation Stage 2 (After Stage 1) m = 8 r = 4
Chan’s Algorithm CS504 Presentation Stage 2 Using Graham’s Scan
Chan’s Algorithm CS504 Presentation Stage3 : Jarvis’s March How to merge these r hulls into a single hull? IDEA : treat each hull as a “fat point” and run Jarvis’s March! # of iteration is at most m –to guarantee the time complexity O(nlogh)
Chan’s Algorithm CS504 Presentation (-inf,0) -> lowest pt lowest pt
Chan’s Algorithm CS504 Presentation Find the point that maximize the angle in each hull lowest pt 1
Chan’s Algorithm CS504 Presentation Find the point that maximize the angle in each hull lowest pt 1 2
Chan’s Algorithm CS504 Presentation Find the point that maximize the angle in each hull lowest pt 1 2 3
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation FAIL EXAMPLE – too small value m m = 4 4 iteration
Chan’s Algorithm CS504 Presentation In 4(a), how to find such points?
Chan’s Algorithm CS504 Presentation Find the point that maximize the angle in each hull lowest pt 1
Chan’s Algorithm CS504 Presentation Find the point that maximize the angle in a hull
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation
Chan’s Algorithm CS504 Presentation
Lower bound for convex hull CS504 Presentation n points in the x-axis
Lower bound for convex hull CS504 Presentation lifting up to 2D plane
Lower bound for convex hull CS504 Presentation lower convex hull
Quiz CS504 Presentation
Quiz CS504 Presentation
Summary CS504 Presentation Finding the convex hull of a set of points is an important problem that is often part of a larger problem Many different algorithms –Graham’s Scan –Quickhull –Divide-and-Conquer –Jarvis’s March –Chan’s algorithm
Q&A CS504 Presentation Any question?