next up previous contents
Next: Algorithms Up: CS 373 Combinatorial Previous: Contents

Introduction

In this project, I worked on four interesting Computational Geometry problems. Computational Geometry is the branch of Computer Science that studies algorithms for solving geometric problems. Most of the algorithms books devote an entire chapter on it (e.g. [2] and [13]). Computational Geometry has many applications in computer graphics, robotics, VLSI design, computer-aided design, statistics and geographic information systems. Usually, the input to a computational geometry problem is a description of a set of geometric objects, such as a set of points, a set of line segments, a set of rectangles, etc. The output is often a response to a query about the given objects, such as any of the the lines intersect, or perhaps a new geometric object, such as convex hull of the set of points. Books on Computational geometry include those by Preparata and Shamos [12], Edelsbrunner [3], Lazslo [9], Mulmuley [10], and O'Rourke [11].

Let's first define the four problems that are related to this project. Note that following problems are all defined in two-dimensional space (plane). It is possible to extend them to higher dimensions. However, I implemented the algorithms that solves the problems in plane.

These problems has many applications in computer science. For example convex hull problem has applications in pattern recognition and image processing. Applications of Delaunay Triangulation include minimum spanning tree, nearest neighbour graph and finite element and interpolation methods as discussed in [5]. Voronoi diagram arise in nature in many situations. As discussed in [1], many computational problems, such as associative file searching, cluster analysis, scheduling record accesses and collision detection, are solved using Voronoi diagrams. Although the construction of the Voronoi diagram is not implemented in the content of this project, I want to state it as the fourth problem because of its close relation to Delaunay Triangulation. Voronoi diagrams are topologically equal to Delaunay Triangulations. In other words one is the dual of the other. For a detailed discussion of Voronoi diagrams and Delaunay Triangulations see [1], [5], [6] and [7].

In this project, algorithms to solve the first three problems are implemented. First two problems are solved simultaneously using the Plane Sweep algorithm. Third problem is solved using Edge Flip algorithm which takes the solution of second problem as the input. These algorithms are further discussed in section 2. Special data structures that are used by the algorithms are discussed in section 3. Non degeneracy assumption is made as discussed in section 4. The implementation animates the algorithms and gives statistics about the execution time and size of the output as further discussed in section 4. The analysis of the algorithms are given in section 5.



next up previous contents
Next: Algorithms Up: CS 373 Combinatorial Previous: Contents



Alper Ungor
Tue May 13 15:38:16 CDT 1997