Namespace:
Imsl.Math
Assembly:
ImslCS (in ImslCS.dll) Version: 6.5.0.0
Syntax
C# |
---|
[SerializableAttribute] public class CsTCB : Spline |
Visual Basic (Declaration) |
---|
<SerializableAttribute> _ Public Class CsTCB _ Inherits Spline |
Visual C++ |
---|
[SerializableAttribute] public ref class CsTCB : public Spline |
Remarks
Let xData,
yData,
and
the length of xData and yData.
Class CsTCB computes the Kochanek-Bartels spline, a piecewise
cubic Hermite spline interpolant to the set of data points
for
. The breakpoints of the spline are the abscissas.
As with all of the univariate interpolation functions, the abscissas need not be sorted.
The values are the knots, so the
-th
interval is
. (To simplify the explanation, it is
assumed that the data points are given in increasing order.) The cubic Hermite in the
-th segment has a starting value of
and an
ending value of
. Its incoming tangent is









The value of the tangent at the right endpoint is given as:

By default the values of the tangents at the leftmost and rightmost endpoints are zero. These values can be reset via the LeftEndTangent and RightEndTangent properties.
The spline has a continuous first derivative () if at each data
point the left and right tangents are equal. This is true if the continuity parameters,
, are
all zero. For any values of the parameters the spline is continuous (
).
If for all
, then the curve is the Catmull-Rom
spline.
The following chart shows the same data points interpolated with different parameter values. All of the tension, continuity, and bias parameters are zero except for the labeled parameter, which has the indicated value at all data points.
Tension controls how sharply the spline bends at the data points. The tension values can be set via the SetTension method. If tension values are near +1, the curve tightens. If the tension values are near -1, the curve slackens.
The continuity parameter controls the continuity of the first derivative. The continuity values
can be set via the SetContinuity method. If the continuity value is zero, the
spline's first derivative is continuous, so the spline is .
The bias parameter controls the weighting of the left and right tangents. If zero, the tangents are equally weighted. If the bias parameter is near +1, the left tangent dominates. If the bias parameter is near -1, the right tangent dominates. The bias values can be set via the SetBias method.