Spline Kernels.Cubic Hermite Property
Definition
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 10.1.0
public static ISplineKernel1D CubicHermite { get; }Property Value
ISplineKernel1DA kernel implementing piecewise cubic Hermite interpolation with slopes computed using centered finite differences (Catmull-Rom style).
Remarks
This kernel performs local cubic interpolation using a 4-point stencil. At each evaluation point, it computes slopes using centered finite differences from neighboring points, then constructs a cubic Hermite polynomial on the current segment. This is also known as Catmull-Rom interpolation.
Continuity: C¹ (continuous value and first derivative)
Width: 4 (uses 4 neighboring points for each segment)
Characteristics:
- Local method (no global solve required)
- Passes through all data points (interpolating, not approximating)
- May overshoot and oscillate near sharp features
- Not guaranteed to preserve monotonicity
Difference from CubicSpline: This kernel is not the same as any CubicSplineKind (Natural, Clamped, NotAKnot). Those are global cubic spline methods that solve tridiagonal systems to ensure C² continuity or specific boundary conditions. This kernel is purely local and achieves only C¹ continuity.
Backward compatibility: This kernel produces the same results as the original hard-coded cubic implementation in earlier versions of the tensor-product grid surface code.