Discrete Computaional Geometry


Published on

Convex Hull - Algorithms

Published in: Education, Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Discrete Computaional Geometry

  1. 1. By Saurav Mistry
  2. 2. Content • What is Computational Geometry • Goal of Computational Geometry • Application of Computational Geometry • Limitations of Computational Geometry • What is Discrete Computational Geometry • Applications of Discrete Computational Geometry • Convex Hull • What is the convex hull • Algorithms used to find Convex Hull • Conclusion • Reference
  3. 3. What is Computational Geometry • The study to describe algorithms for manipulating curves and surfaces in solid modeling • In other words, it is used to describe the subfield of algorithm theory that involves the design and analysis of efficient algorithms for problems involving geometric input and digital output
  4. 4. Goal of Computational Geometry  Computational geometry deals primarily with straight or flat geometrical objects.  It provide the basic geometric tools needed from which application areas can then build their programs
  5. 5. Application of Computational Geometry  It is used in solving problems of a geometric nature such as in :- computer graphics computer vision image processing.  It is also used in Robotics Geographic information systems
  6. 6. Limitations of Computational Geometry  It deals with straight or flat objects only  It primarily focus on 2-dimensional problems, and 3-dimensional problems to a limited extent  It fails to deal with applications areas which require discrete approximation to continuous phenomenon
  7. 7. What is Discrete Computational Geometry  It is the use of computational geometry with contrast to ‘continuous’ phenomenon, for example, smooth surfaces. Thus, it is termed as Discrete Computational Geometry.  It bridge the gap between computer representation and geometric calculation.
  8. 8. Applications of Discrete Computational Geometry Discrete Computational Geometry mainly deals with the following :- • Convex hulls • Triangulations • Voronoi diagrams • Polyhedra • Polygons
  9. 9. Convex Hull • What is the convex hull ? It is the smallest convex set containing the points. Or we can also say it is a rubber band wrapped around the "outside" points. In the example below, the convex hull of the blue points is the red line that contains them.
  10. 10. Algorithms used to find Convex Hull • Jarvis March • Graham’s Scan • Divide and Conquer
  11. 11. Jarvis March ALGORITHM • Start at some extreme point, which is guaranteed to be on the hull. • At each step, test each of the points, and find the one which makes the largest right-hand turn. That point has to be the next one on the hull. Because this process marches around the hull in counter clockwise order, like a ribbon wrapping itself around the points, this algorithm also called the "gift-wrapping" algorithm.Example: http://www.cs.princeton.edu/courses/archive/spr10/cos226/demo
  12. 12. Efficiency of Jarvis March • Proposed by R.A. Jarvis in 1973 • O(nh) complexity, with n being the total number of points in the set, and h being the number of points that lie in the convex hull. • The worst case for this algorithm is denoted by O(n2 ), which is not optimal. • Favorable conditions – – very low number of total points – low number of points on the convex hull
  13. 13. Graham’s Scan ALGORITHM • Find an extreme point. This point will be the pivot, is guaranteed to be on the hull, and is chosen to be the point with largest y coordinate. • Sort the points in order of increasing angle about the pivot. We end up with a star-shaped polygon (one in which one special point, in this case the pivot, can "see" the whole polygon). • Build the hull, by marching around the star-shaped poly, adding edges when we make a left turn, and back-tracking when we make a right turn. • http://www.cs.princeton.edu/courses/archive/fall08/cos226/demo
  14. 14. Efficiency of Graham’s Scan • In the Graham’s Scan, the first phase of sorting points by angle around the anchor point is of time O(n logn) complexity. • Phase 2 of this algorithm has a time complexity of O(n). • The total time complexity for this algorithm is O(n logn) which is much more efficient than a worse case scenario of Jarvis march at O(n2 ).
  15. 15. Divide and Conquer ALGORITHM • Two separate hulls are created, one for the leftmost half of the points, and one for the rightmost half. • To divide in halves, sort by x-coordinates and find the median. If there is an odd number of points, the leftmost half should have the extra point. • Recursively find the convex hull for the left set of points and the right set of points. This gives hull A and hull B. • Stitch together the two hulls to form the hull of the entire set. • http://www.cse.unsw.edu.au/~lambert/java/3d/divideandconquer
  16. 16. Efficiency of Divide and Conquer • The divide and conquer algorithm is also of time complexity O( n logn). • This algorithm is often used for cases in 3-D. • A technicality of the divide and conquer method lies in how many points are in the set. If the set has less than four points, there is no need to sort the points, but rather for these special cases, determine the hull separately. • A downside to this algorithm is the association of recursive function calls.
  17. 17. Conclusion • As it a new domain of study it is still under research. • However it has a great future in biology and statistics.
  18. 18. Reference • http://www.authorstream.com/Presentation/anupam999-1418956-discrete • http://www.slideshare.net/9474778311/discrete-computational-geometry-3 • http://en.wikipedia.org/wiki/discrete_computational_geometry • http://www.webopedia.com/TERM/Qdiscrete-computational- geometry.html • http://searchsecurity.techtarget.com/definition/discrete- computational-geometry