Course Overview

Computational Geometry

 

What is geometry? The modern definition: study of properties that are invariant under a specific group of transformations. For example Euclidean geometry is the study of properties that are invariant under rigid or Euclidean transformations (rotations, reflections etc.). Projective geometry is the study of properties that are invariant under projective transformations, etc. Discrete or combinatorial geometry is essentially the study of geometric properties of finite point sets, potentially with other combinatorial relations, such as orders or graphs, overlaid on them. Complexity in this context is, in particular the asymptotic study of measures associated with geometric properties as the size of the finite point set $n$ increases. Computational geometry is a further specialization to study algorithms and computational complexity measures of discrete geometric properties.

Discrete and computational geometry has several applications from robotics, graphics, computational biology/physics/chemistry, computer aided mechanical design. In addition by "geometrizing" data, high dimensional geometric algorithms and analyis are commonly used in combinatorial approximation algorithms as well as databases, data mining etc.

The course is a fairly standard introduction to computational geometry. It will cover most of the basic algorithmic problems on discrete point sets and algorithms for them. The definite emphasis will be on theory - no implementation projects. The differences from the usual syllabus will be: (a) some unification of these algorithmic problems to show how a common approach using duality provides algorithms to many of these problems; (b) a discussion of how geometrization of very general combinatorial properties helps to analyze and prove things about them; (c) a discussion of embedding algorithms where the input does not contain a point set, but the output does; distance geometry and related areas such as combinatorial rigidity; and (d) applications of (c).

Note that Discrete math, Linear algebra, Data Structures and Design and Analysis of Algorithms are listed as official prerequisites, and it helps if you had these prerequisites. On the other hand, if you are a mathematics major or have mathematical maturity, and have had basic discrete mathematics and liked it, you can talk to Prof. Sitharam and it is quite possible that you may be excused from some of these prerequisites.