3 min read

Curves and Splines in CAD

Curves and Splines in CAD

Computed-aided drafting and computer-generated imaging software involve the representation of irregular curves. As storing thousands of points for every curve would be far too computationally intense for modern electronics, a mathematical shortcut was necessary. As a result, irregular curves are represented by a combination of starting/ending points, derivative data, and hull shape points. Let's look at the individual types of curves and splines commonly used.

Hermite curves are positional and derivative-based curve representations. This contrasts Bezier curves which use positional representations for the curve hull shape, which drives the overall curve shape. Hermite curves require tangent continuity at a minimum between individual curves. These curves are possible to convert back and forth to Bezier curves using matrix calculations. It is possible to find the derivative at any point throughout a Hermite curve. Blending functions can be used to smooth the curve to meet engineering requirements. Hermite curves are often less desirable to use compared to Bezier curves in that they provide no local control for the user. This means that when a data point is moved, the entire curve will shift to accommodate the change. Additionally, the interpolating curve crosses through Hermite curve points which can limit their application to some situations.

Hermite Curve

B-Splines are the general form of Bezier curves. A Bezier curve is specific type of B-Spline where the number of knots equals the curve degree. If B-Splines have equally spaced internal knots, they are considered uniform. If a B-spline has no internal knots, it is also considered a Bezier curve. B splines are superior to Bezier curves in that they provide more local control in that the curve does not shift about the parameter, the degree of the curve can be separated from the number of points, and they can be used for both interpolation and approximation. It could be argued that every CAD program uses Bezier curves as fonts are generally represented as a collection of Bezier curves.

B-Spline

Non-Uniform Rational B-Splines (NURBS) are the standard representation of curves and surfaces. They are stable, versatile, and are excellent at approximating various shapes. NURBS are B-splines with a homogenous coordinate that acts to weight the function. NURBS are used heavily in most CAD programs such as CATIA. NURBS are the ANSI standard for geometric curve modeling.

Example of a NURB being modeled off of a spline used as the curve spine

References:

Zeid, Ibrahim, 2004, Mastering Cad/Cam, McGraw-Hill, Inc., USA. Chap. 6.
Weisstein, Eric W., 2016, "B-Spline." From http://mathworld.wolfram.com/B-Spline.html

Weisstein, Eric W., 2016, "NURBS Curve." From http://mathworld.wolfram.com/NURBSCurve.html

Anderson, Jonathon and Jackson, Meg, 2014, "On the Spline: A Brief History of the Computational Curve," International Journal of Interior Architecture + Spatial Design, Applied Geometries Vol. 2 Issue 3. From http://www.alatown.com/spline-history-architecture/

B-spline. (2023, April 25). In Wikipedia. https://en.wikipedia.org/wiki/B-spline