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:
- 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.
Bibliography
Here are some good texts for background reading. The course texts are
the books by O'Neill and Preparata & Shamos.
- 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