Introduction to Geometry 15-499C / 15-881A
Fall 1997

Instructors: Michael Erdmann, with guest lectures by Yanxi Liu
TA: German
Location: Scaife 324
Time: TR 10:30-11:50

Click here (23K postscript) for the course schedule.

This course will cover elementary differential and computational geometry. The purpose of the course is to prepare a student for advanced geometrical work in robotics and computer science. Increasingly, cutting-edge results in these areas require a working knowledge of differential geometry, algebraic geometry, algebraic topology, and computational geometry. Much of this work is inaccessible to a student just entering the field. In this course we will convey the basic tools, definitions, and results of differential geometry and the basic algorithms of computational geometry, so that a student can, either by self-study or through further courses, understand and implement the advanced results in computer science and robotics discovered in the past decade. We will touch upon some of these applications in the course. In particular, we will consider the robot motion planning problem as a core application.

The topics are:

Prerequisites for this course are minor, but important. Calculus and linear algebra should be sufficient from the mathematics side, while fundamental data structures and algorithms should be sufficient from the computer science side. The course will consist of a series of intensive lectures. It is expected that a student will spend a few hours each day digesting the material of the lectures and solving some related homework problems. Grades will be based primarily on the homework, and possibly an exam. The course may be taken at either the undergraduate or the graduate levels. Students taking the class for graduate credit will be asked to prepare a project, either a paper or an implementation of an advanced topic.


Here are some good texts for background reading. The course texts are the books by O'Neill and Preparata & Shamos.

Here is the syllabus from an earlier year, day by day:
Aug 26 Overview, Robot Motion Planning
Aug 31 Calculus on Euclidean Space: space, tangent vectors, curves
Sep 02 Dual Spaces, 1-Forms
Sep 07 Differential forms
Sep 09 Mappings
Sep 14 Curves, speed, unit speed, [T, N, B]
Sep 16 Frenet Formulas
Sep 21 Covariant Derivatives, Lie Brackets, Frame Fields
Sep 23 Non-holonomic Motions, Connection Forms, Structural Equations
Sep 28 Surfaces: definitions, examples, patches, manifolds
Sep 30 Manifolds: configuration space, embeddings, differential forms
Oct 05 open
Oct 07 Mappings, pullbacks, line integrals, 2D integration, Stokes' Theorem
Oct 12 Shape Operator, examples, normal acceleration
Oct 14 Curvature: normal, Gaussian, mean, methods of computation
Oct 19 Gauss Theorem, surface area
Oct 21 Datastructure preliminaries (e.g., segment tree, DCEL)
Oct 26 Geometric preliminaries (e.g., homog. coords., duality, edge-edge inter.)
Oct 28 Range searching, point location
Nov 02 Range query and point location (cont)
Nov 04 Convex Hull (definitions, reductions, extreme points, etc.)
Nov 09 Convex Hull in 2D (definitions, theorems, Graham's scan)
Nov 11 Convex Hull in 2D (Jarvis' March, Quickhull, Mergehull, Dynamic)
Nov 16 Higher Dimensional Convex Hull
Nov 18 Proximity problems in the plane, Voronoi Diagram definition
Nov 23 open
Nov 25 Thanksgiving
Nov 30 Voronoi Diagram algorithm, Euclidean Minimum Spanning Tree, Triang.
Dec 02 Polygon union and intersection, plane sweep