CMSC 754 Computational Geometry1 David M. Mount Department of Computer Science University of Maryland Spring 2012 1Copyright, David M. Mount, 2012, Dept. of Computer Science, University of Maryland, College Park, MD, 20742. These lecture notes were prepared by David Mount for the course CMSC 754, Computational Geometry, at the University of Maryland. Permission to use, copy, modify, and distribute these notes for educational purposes and withoutfeeisherebygranted,providedthatthiscopyrightnoticeappear in all copies. Lecture Notes 1 CMSC 754 Lecture 1: Introduction to Computational Geometry What is Computational Geometry? “Computational geometry” is a term claimed by a number of different groups. The term was coined perhaps first by Marvin Minsky in his book “Perceptrons”, which was about pattern recognition, and it has also been used often to describe algorithms for manipulating curves and surfaces in solid modeling. Its most widely recognized use, however, is to describe the subfield of algorithm theory that involves the design and analysis of efficient algorithms for problems involving geometric input and output. The field of computational geometry developed rapidly in the late 70’s and through the 80’s and 90’s, and it still continues to develop. Historically, computational geometry developed as a generalization of the study of algorithms for sorting and searching in 1-dimensional spacetoproblemsinvolvingmulti-dimensionalinputs. Because of its history, the field of computational geometry has focused mostly on problems in 2-dimensional space and to a lesser extent in 3-dimensional space. When problems are considered in multi-dimensional spaces, it is usually assumed that the dimension of the space is a smallconstant(say,10orlower).Nonetheless,recent work in this area has considered a limited set of problems in very high dimensional spaces, particularly with respect to approximation algorithms. In this course, our focus will be largely on problems in 2-dimensional space, with occasional forays into spaces of higher dimensions. Because the field was developed by researchers whose trainingwasindiscretealgorithms(asopposedtonu- merical analysis) the field has also focused more on the discrete nature of geometric problems (combinatorics and topology, in particular), as opposed to continuous issues. The field primarily deals with straight or flat objects (lines, line segments, polygons, planes, and polyhedra) or simple curved objects such as circles. This is in contrast, say, to fields such as solid modeling, which focusonissuesinvolvingcurvesandsurfacesandtheir representations. There are many fields of computer science that deal with solving problems of a geometric nature. These include computer graphics, computer vision and image processing, robotics, computer-aided design and manufacturing, computational fluid-dynamics, and geographic information systems, to name a few. One of the goals of com- putational geometry is to provide the basic geometric tools needed from which application areas can then build their programs. There has been significant progress made towards this goal, but it is still far from being fully realized. ATypicalProbleminComputationalGeometry: Here is an example of a typical problem, called the shortest path problem.Givenasetpolygonalobstaclesintheplane,findtheshortest obstacle-avoiding path from some given start point to a given goal point (see Fig. 1). Although it is possible to reduce this to a shortest path problem on agraph(calledthevisibility graph,whichwewilldiscusslaterthissemester),andthenapplyanongeometric algorithm such as Dijkstra’s algorithm, it seems that by solving the problem in its geometric domain it should be possible to devise more efficient solutions. This is one of the main reasons for the growth of interest in geometric algorithms. s t s t Fig. 1: Shortest path problem. The measure of the quality of an algorithm in computational geometry has traditionally been its asymptotic worst-case running time.Thus,analgorithmrunninginO(n) time is better than one running in O(n log n) time which is better than one running in O(n2) time. (This particular problem can be solved in O(n2 log n) time by a fairly simple algorithm, in O(n log n) by a relatively complex algorithm, and it can be approximated quite well by an algorithm whose running time is O(n log n).) In some cases average case running time is Lecture Notes 2 CMSC 754 considered instead. However, for many types of geometric inputs (this one for example) it is difficult to define input distributions that are both easy to analyze and representative of typical inputs. Strengths Computational Geometry: Development of Geometric Tools: Prior to computational geometry, there were many ad hoc solutions to ge- ometric computational problems, some efficient, some inefficient, and some simply incorrect. Because of its emphasis of mathematical rigor, computational geometryhasmadegreatstridesinestablishingcorrect, provably efficient algorithmic solutions to many of these problems. Emphasis on Provable Efficiency: Prior to the development of computational geometry little was understood about the computational complexity of many geometric computations. For example, given an encoding of all the zip code regions in the USA, and given a latitude and longitude from a GPS device, how long should it take to compute the zip code associated with the location? How should the computation time depend on the amount of preprocessing time and space available? Computational geometry put such questions on the firm grounding of asymptotic complexity, and in some cases it has been possible to prove that algorithms discovered in this area are optimal solutions. Emphasis on Correctness/Robustness: Prior to the development of computational geometry, many of the soft- ware systems that were developed were troubled by bugs arising from the confluence of the continuous nature of geometry and the discrete nature of computation. For example, given two line segments in the plane, do they intersect? This problem is remarkably tricky to solve since two line segments may arise from many different configurations: lying on parallel lines,lyingonthesameline,touchingend-to-end, touching as in a T-junction. Software that is based on discrete decisions involving millions of such inter- section tests may very well fail if any one of these tests is computed erroneously. Computational geometry research has put the robust and correct computing of geometric primitives on a solid mathematical foun- dations. Linkage to Discrete Combinatorial Geometry: The study of new solutions to computational problems has given rise to many new problems in the mathematical field of discrete combinatorial geometry. For ex- ample, consider a polygon bounded by n sides in the plane. Such a polygon might be thought of as the top-down view of the walls in an art gallery. As a function of n,howmany“guardingpoints”sufficesothat every point within the polygon can be seen by at least one of these guards. Such combinatorial questions can have profound implications on the complexity of algorithms. Limitations of Computational Geometry: Emphasis on discrete geometry: There are some fairly natural reasons why computational geometry may never fully address the needs of all these applications areas, and these limitations should be understood before undertaking this course. One is the discrete nature ofcomputationalgeometry.Therearemany applications in which objects are of a very continuous nature: computational physics, computational fluid dynamics, motion planning. Emphasis on flat objects: Another limitation is the fact that computational geometry deals primarily with straight or flat objects. To a large extent, this is a consequence of CG’ers interest in discrete geomet- ric complexity, as opposed to continuous mathematics. Another issues is that proving the correctness and efficiency of an algorithm is only possible when all the computations are well defined. Many computations on continuous objects (e.g., solving differential and integral equations) cannot guarantee that their results are correct nor that they converge in specified amount of time.Notethatitispossibletoapproximate curved objects with piecewise planar polygons or polyhedra.Thisassumptionhasfreedcomputational geometry to deal with the combinatorial elements of most of the problems, as opposed to dealing with numerical issues. Emphasis on low-dimensional spaces: One more limitation is that computational geometry has focused pri- marily on 2-dimensional problems, and 3-dimensional problems to a limited extent. The nice thing about 2-dimensional problems is that they are easy to visualize andeasytounderstand.Butmanyofthedaunting Lecture Notes 3 CMSC 754 applications problems reside in 3-dimensional and higher dimensional spaces. Furthermore, issues related to topology are much cleaner in 2- and 3-dimensional spaces than in higher dimensional spaces. Overview of the Semester: Here are some of the topics that we will discuss this semester. Convex Hulls: Convexity is a very important geometric property. A geometric set is convex if for every two points in the set, the line segment joining them is also in the set. One of the first problems identified in the field of computational geometry is that of computing the smallest convex shape, called the convex hull, that encloses a set of points (see Fig. 2). Convex hull Polygon triangulation Fig. 2: Convex hulls and polygon triangulation. Intersections: One of the most basic geometric problems is that of determining when two sets of objects in- tersect
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages161 Page
-
File Size-