Wolfram Library Archive

Courseware Demos MathSource Technical Notes
All Collections Articles Books Conference Proceedings
Title Downloads

Computer Aided Geometric Design in Mathematica

Bohumír Bastl

2005 Wolfram Technology Conference
Conference location

Champaign IL

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:
  • 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
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.

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.

*Mathematics > Geometry > Solid Geometry
*Mathematics > Geometry > Surfaces

Bastl_CAGD.zip (5.4 MB) - ZIP archive [for Mathematica 5.2]