- 1. Representation of Curves and Surfaces
- 1.1 Analytic representation of curves
- 1.1.1 Plane curves
- 1.1.2 Space curves

- 1.2 Analytic representation of surfaces
- 1.3 Bézier curves and surfaces
- 1.3.1 Bernstein polynomials
- 1.3.2 Arithmetic operations of polynomials in Bernstein form
- 1.3.3 Numerical condition of polynomials in Bernstein form
- 1.3.4 Definition of Bézier curve and its properties
- 1.3.5 Algorithms for Bézier curves
- 1.3.6 Bézier surfaces

- 1.4 B-spline curves and surfaces
- 1.4.1 B-splines
- 1.4.2 B-spline curve
- 1.4.3 Algorithms for B-spline curves
- 1.4.4 B-spline surface

- 1.5 Generalization of B-spline to NURBS

- 1.1 Analytic representation of curves
- 2. Differential Geometry of Curves
- 2.1 Arc length and tangent vector
- 2.2 Principal normal and curvature
- 2.3 Binormal vector and torsion
- 2.4 Frenet-Serret formulae

- 3. Differential Geometry of Surfaces
- 3.1 Tangent plane and surface normal
- 3.2 First fundamental form I (metric)
- 3.3 Second fundamental form II (curvature)
- 3.4 Principal curvatures
- 3.5 Gaussian and mean curvatures
- 3.5.1 Explicit surfaces
- 3.5.2 Implicit surfaces

- 3.6 Euler's theorem and Dupin's indicatrix

- 4. Nonlinear Polynomial Solvers and Robustness Issues
- 4.1 Introduction
- 4.2 Local solution methods
- 4.3 Classification of global solution methods
- 4.3.1 Algebraic and Hybrid Techniques
- 4.3.2 Homotopy (Continuation) Methods
- 4.3.3 Subdivision Methods

- 4.4 Projected Polyhedron algorithm
- 4.5 Auxiliary variable method for nonlinear systems with square roots of polynomials
- 4.6 Robustness issues
- 4.7 Interval arithmetic
- 4.8 Rounded interval arithmetic and its implementation
- 4.8.1 Double precision floating point arithmetic
- 4.8.2 Extracting the exponent from the binary representation
- 4.8.3 Comparison of two different unit-in-the-last-place implementations
- 4.8.4 Hardware rounding for rounded interval arithmetic
- 4.8.5 Implementation of rounded interval arithmetic

- 4.9 Interval Projected Polyhedron algorithm
- 4.9.1 Formulation of the governing polynomial equations
- 4.9.2 Comparison of software and hardware rounding

- 5. Intersection Problems
- 5.1 Overview of intersection problems
- 5.2 Intersection problem classification
- 5.2.1 Classification by dimension
- 5.2.2 Classification by type of geometry
- 5.2.3 Classification by number system

- 5.3 Point/point intersection
- 5.4 Point/curve intersection
- 5.4.1 Point/implicit algebraic curve intersection
- 5.4.2 Point/rational polynomial parametric curve intersection
- 5.4.3 Point/procedural parametric curve intersection

- 5.5 Point/surface intersection
- 5.5.1 Point/implicit algebraic surface intersection
- 5.5.2 Point/rational polynomial parametric surface intersection
- 5.5.3 Point/procedural parametric surface intersection

- 5.6 Curve/curve intersection
- 5.6.1 Rational polynomial parametric/implicit algebraic curve intersection (Case D3)
- 5.6.2 Rational polynomial parametric/rational polynomial parametric curve intersection (Case D1)
- 5.6.3 Rational polynomial parametric/procedural parametric and procedural parametric/procedural parametric curve intersections (Cases D2 and D5)
- 5.6.4 Procedural parametric/implicit algebraic curve intersection (Case D6)
- 5.6.5 Implicit algebraic/implicit algebraic curve intersection (Case D8)

- 5.7 Curve/surface intersection
- 5.7.1 Rational polynomial parametric curve/implicit algebraic surface intersection (Case E3)
- 5.7.2 Rational polynomial parametric curve/rational polynomial parametric surface intersection (Case E1)
- 5.7.3 Rational polynomial parametric/procedural parametric and procedural parametric/procedural parametric curve/surface intersections (Cases E2/E6)
- 5.7.4 Procedural parametric curve/implicit algebraic surface intersection (Case E7)
- 5.7.5 Implicit algebraic curve/implicit algebraic surface intersection (Case E11)
- 5.7.6 Implicit algebraic curve/rational polynomial parametric surface intersection (Case E9)

- 5.8 Surface/surface intersections
- 5.8.1 Rational polynomial parametric/implicit algebraic surface intersection (Case F3)
- 5.8.2 Rational polynomial parametric/rational polynomial parametric surface intersection (Case F1)
- 5.8.3 Implicit algebraic/implicit algebraic surface intersection (Case F8)

- 5.9 Overlapping of curves and surfaces
- 5.10 Self-intersection of curves and surfaces
- 5.11 Summary

- 6. Differential Geometry of Intersection Curves
- 6.1 Introduction
- 6.2 More differential geometry of curves
- 6.3 Transversal intersection curve
- 6.3.1 Tangential direction
- 6.3.2 Curvature and curvature vector
- 6.3.3 Torsion and third order derivative vector
- 6.3.4 Higher order derivative vector

- 6.4 Intersection curve at tangential intersection points
- 6.4.1 Tangential direction
- 6.4.2 Curvature and curvature vector
- 6.4.3 Third and higher order derivative vector

- 6.5 Examples
- 6.5.1 Transversal intersection of parametric-implicit surfaces
- 6.5.2 Tangential intersection of implicit-implicit surfaces

- 7. Distance Functions
- 7.1 Introduction
- 7.2 Problem formulation
- 7.2.1 Definition of the distances between two point sets
- 7.2.2 Geometric interpretation of stationarity of distance function

- 7.3 More about stationary points
- 7.3.1 Classification of stationary points
- 7.3.2 Nonisolated stationary points

- 7.4 Examples

- 8. Curve and Surface Interrogation
- 8.1 Classification of interrogation methods
- 8.1.1 Zeroth-order interrogation methods
- 8.1.2 First-order interrogation methods
- 8.1.3 Second-order interrogation methods
- 8.1.4 Third-order interrogation methods
- 8.1.5 Fourth-order interrogation methods

- 8.2 Stationary points of curvature of free-form parametric surfaces
- 8.2.1 Gaussian curvature
- 8.2.2 Mean curvature
- 8.2.3 Principal curvatures

- 8.3 Stationary points of curvature of explicit surfaces
- 8.4 Stationary points of curvature of implicit surfaces
- 8.5 Contouring constant curvature
- 8.5.1 Contouring levels
- 8.5.2 Finding starting points
- 8.5.3 Mathematical formulation of contouring
- 8.5.4 Examples

- 8.1 Classification of interrogation methods
- 9. Umbilics and Lines of Curvature
- 9.1 Introduction
- 9.2 Lines of curvature near umbilics
- 9.3 Conversion to Monge form
- 9.4 Integration of lines of curvature
- 9.5 Local extrema of principal curvatures at umbilics
- 9.6 Perturbation of generic umbilics
- 9.7 Inflection lines of developable surfaces
- 9.7.1 Differential geometry of developable surfaces
- 9.7.2 Lines of curvature near inflection lines

- 10. Geodesics
- 10.1 Introduction
- 10.2 Geodesic equation
- 10.2.1 Parametric surfaces
- 10.2.2 Implicit surfaces

- 10.3 Two point boundary value problem
- 10.3.1 Introduction
- 10.3.2 Shooting method
- 10.3.3 Relaxation method

- 10.4 Initial approximation
- 10.4.1 Linear approximation
- 10.4.2 Circular arc approximation

- 10.5 Shortest path between a point and a curve
- 10.6 Numerical applications
- 10.6.1 Geodesic path between two points
- 10.6.2 Geodesic path between a point and a curve

- 10.7 Geodesic offsets
- 10.8 Geodesics on developable surfaces

- 11. Offset Curves and Surfaces
- 11.1 Introduction
- 11.1.1 Background and motivation
- 11.1.2 NC machining
- 11.1.3 Medial axis
- 11.1.4 Tolerance region

- 11.2 Planar offset curves
- 11.2.1 Differential geometry
- 11.2.2 Classification of singularities
- 11.2.3 Computation of singularities
- 11.2.4 Approximations

- 11.3 Offset surfaces
- 11.3.1 Differential geometry
- 11.3.2 Singularities of offset surfaces
- 11.3.3 Self-intersection of offsets of implicit quadratic surfaces
- 11.3.4 Self-intersection of offsets of explicit quadratic surfaces
- 11.3.5 Self-intersection of offsets of polynomial parametric surface patches
- 11.3.6 Tracing of self-intersection curves
- 11.3.7 Approximations

- 11.4 Pythagorean hodograph
- 11.4.1 Curves
- 11.4.2 Surfaces

- 11.5 General offsets
- 11.6 Pipe surfaces
- 11.6.1 Introduction
- 11.6.2 Local self-intersection of pipe surfaces
- 11.6.3 Global self-intersection of pipe surfaces

- 11.1 Introduction
- Problems
- A. Color Plates
- Bibliography
- Index
- Software Package

December 2009