MOTIVATION
Many software applications involve challenging problems of high complexity for which naive solutions require prohibitive amounts of time or space. Many of these problems may be cast in a geometric framework. Engineering, manufacturing, architecture, medicine, scientific visualization, electronic commerce, and entertainment applications manipulate vast numbers of geometric entities. Other problems, such as network optimization, often also benefit from a geometric approach.
This Computational Geometry course will provide you with tools that will help you to develop efficient algorithmic solutions to complex problems; and it will provide experience in problem solving and in collaborative work.
COURSE CONTENT
The course will cover topics from the following list: geometric representations and their construction; linear programming; geometric arrangements; polygon triangulation; Voronoi diagrams and Delaunay triangulations; convex hulls; visibility and motion planning; binary space partitions; octrees and other auxiliary datastructures for efficient back-to-front sorting, probing, and other geometric queries. Applications in Computer-Aided Design, Computer Graphics, Vision, and Robotics will be discussed.
Students will be asked to participate in a fair amount of individual and collaborative problem solving and in team projects involving the collaborative implementation and visualization of various geometric algorithms.
PREREQUISITES
Prior experience in algorithms and datastructures, and a taste for games and problem solving.
TEXTBOOK
Computational Geometry - Algorithms and Applications, M. de Berg, M. van Kreveld, M. Overmars, O. Schwarzkopf. Springer-Verlag, Berlin Heidelberg New York. 1997 (ISBN: 3-540-61270-X). A wonderful, clearly written, brand new book with lots of application examples and nice illustrations.