Computer Aided Geometric Design (CAGD) studies especially the construction and manipulation of curves and surfaces given by a set of points using polynomial, rational, piecewise polynomial, or piecewise rational methods. This branch is closely related to several other branches, such as geometric modeling (for example, Non-Uniform Rational B-Spline (NURBS) objects represent the fundamental structures of modern computer systems used in the aircraft and car industry, such as CATIA V5) or data fitting (interpolation, approximation of a set of points).
Mathematica provides a very limited amount of functions for CAGD. In fact, it is only the function Spline that generates the spline object representing a cubic spline or Bézier curve. On the other hand, Mathematica provides powerful capabilities in symbolic computations, so it is possible to create and handle CAGD objects quite easily (to generate figures and parametrizations). Thus, this talk will present a new package for Mathematica that provides functions for all basic objects of CAGD:
For all these objects, corresponding polynomial or rational parametrizations and figures can be generated. The package also contains further supporting functions for transformations of points (curves, surfaces, and so on) in planes or space and the function for representing the surface of revolution as a NURBS surface (in contrast to a built-in function), which is useful, for example, when we need a parametrization of the surface.
- splines (quadratic and cubic with the possibility to choose boundary conditions and the type of parametrization)
- Bézier curves and surfaces
- rational Bézier curves and surfaces
- B-spline curves and surfaces
- NURBS curves and surfaces
Besides the examples of usage of the functions contained in the package, the talk will also present how this package is used to teach geometric modeling in an undergraduate course.