CS390 Introduction to Computing with Geometry Notes

Dr. C.-K. Shene

Assistant Professor
Department of Computer Science
Michigan Technological University

© 1997 C.-K. Shene

Last update: July 1, 1998.

Select the topics you wish to review:

Unit 1: Course Overview
Why Is Computing with Geometry Important?
The Theme of this Course
The Complexity of Geometric Problems
Computing with Floating Point Numbers
Problems
References
Unit 2: Geometric Concepts
Coordinate Systems, Points, Lines and Planes
Simple Curves and Surfaces
Homogeneous Coordinates
Geometric Transformations
Problems
References
Unit 3: Solid Models
Solid Representations: An Introduction
Wireframe Models
Boundary Representations
Manifolds
The Winged-Edge Data Structure
The Euler-Poincaré Formula
Euler Operators
Constructive Solid Geometry
Interior, Exterior and Closure
Regularized Boolean Operators
A CSG Design Example
Problems
References
Unit 4: Parametric Curves
Parametric Curves: A Review
Tangent Vector and Tangent Line
Normal Vector and Curvature
Continuity Issues
Rational Curves
Problems
References
Unit 5: Bézier, B-spline and NURBS Curves
An Introduction
Bézier Curves
Construction
De Casteljau's Algorithm
Derivatives of a Bézier Curve
Subdividing a Bézier Curve
Degree Elevation of a Bézier Curve
B-spline Curves
Motivation
B-spline Basis Functions
Definition
Important Properties
Computation Examples
B-spline Curves
Definition
Important Properties
Moving Control Points
Modifying Knot Vector
Derivatives of a B-spline Curve
NURBS
Motivation
Definition
Important Properties
Modifying Weights
Important Algorithms for B-spline and NURBS Curves
Knot Insertion: Single Insertion
Knot Insertion: Inserting a Knot Multiple Times
De Boor's Algorithm
Problems
References
Unit 6: Surfaces
Basic Concepts
Bézier Surfaces
Construction
Important Properties
De Casteljau's Algorithm
B-spline Surfaces
Construction
Important Properties
De Boor's Algorithm