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.

- Motion Planning: Configuration Space, Visibility Graph, Non-Holonomic
Motion Planning, Forces in Cspace.

- Frame Fields:
Curves, Frenet Formulas, Covariant Derivatives,
Differential Forms, Connection Forms, Structural Equations.

- Calculus on Surfaces:
Surfaces, Patches, Tangent Vectors, Mappings, Differential Forms,
Integration on Surfaces, Manifolds.

- Shape Operators:
Surface Shape Operator, Normal Curvature, Gaussian Curvature.

- Point and Range Queries:
One shot, repeated query, slab method, multidimensional binary
tree.

- Convex Hull Algorithms:
Lower bounds, sorting reduction, 2D algorithms (Graham's Scan,
Jarvis's March, Quickhull, Mergehull), dynamic convex hull,
higher-dimensional algorithms (gift-wrapping, beneath-beyond),
3D convex hull.

- Proximity Algorithms:
Voronoi diagram, triangulations, Euclidean minimum spanning tree.

- Plane Sweep:
Polygon union and intersection.

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.

- W. M. Boothby, An Introduction to Differentiable Manifolds and
Riemannian Geometry, Academic Press, New York, 1975.

- H. Edelsbrunner, Algorithms in Combinatorial Geometry,
Springer-Verlag, Berlin, 1987.

- J.-C. Latombe, Robot Motion Planning, Kluwer Academic Publishers,
Boston, 1991.

- B. O'Neill, Elementary Differential Geometry, Academic Press,
New York, 1966. 2nd Edition: 1997.

- F. P. Preparata and M. I. Shamos, Computational Geometry,
Springer-Verlag, New York, 1985. (Corrected and expanded printing: 1988.)

- M. Spivak, Differential Geometry, Publish or Perish, Berkeley, 1979.

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