Tension Splines
TSPACK is a collection of MATLAB functions that comprise a
curve fitting package based on exponential tension splines.
A tension spline is a generalization of a cubic spline in
which a nonnegative tension factor is associated with each
interval. With zero tension the fitting function (or each
component of a parametric curve) is a degree-3 polynomial
on the interval, and as the tension factor increases, the
function approaches the linear interpolant of its endpoint
values. Tension may thus be used to avoid extraneous
inflection points, and more generally to preserve shape
properties, such as monotonicity and convexity, of a set of
data points, and to do so without sacrificing smoothness
as in the case of piecewise linear interpolation.
The package provides for both data fitting with functions,
and curve design with parametric planar curves and space
curves. The curves may or may not be constrained to pass
through the data points (control points), and the functions
may have one or two continuous derivatives. Tension factors
may be user-selected or chosen automatically to satisfy
either shape constraints or user-specified bounds.
The graphical user interface allows an interactive user to create, modify, and display curves constructed by TSPACK. Control points can be inserted, moved, and deleted, derivatives can be altered by dragging arrow tips, and tension factors can be altered with a slider control. A user manual in the form of a help text file is included, but the program should be easily usable without reading that file.
The program requires MATLAB version 7.0 or later. It is installed by simply copying the source code file and the help text file into a subdirectory that is included in the MATLAB search path.