class scipy.interpolate.CloughTocher2DInterpolator(points, values, tol=1e-6)

Piecewise cubic, C1 smooth, curvature-minimizing interpolant in 2D.

New in version 0.9.

Parameters :

points : ndarray of floats, shape (npoints, ndims)

Data point coordinates.

values : ndarray of float or complex, shape (npoints, ...)

Data values.

fill_value : float, optional

Value used to fill in for requested points outside of the convex hull of the input points. If not provided, then the default is nan.

tol : float, optional

Absolute/relative tolerance for gradient estimation.

maxiter : int, optional

Maximum number of iterations in gradient estimation.


The interpolant is constructed by triangulating the input data with Qhull [Qhull], and constructing a piecewise cubic interpolating Bezier polynomial on each triangle, using a Clough-Tocher scheme [CT]. The interpolant is guaranteed to be continuously differentiable.

The gradients of the interpolant are chosen so that the curvature of the interpolating surface is approximatively minimized. The gradients necessary for this are estimated using the global algorithm described in [Nielson83,Renka84]_.


[Qhull](1, 2)
[CT](1, 2) See, for example, P. Alfeld, ‘’A trivariate Clough-Tocher scheme for tetrahedral data’‘. Computer Aided Geometric Design, 1, 169 (1984); G. Farin, ‘’Triangular Bernstein-Bezier patches’‘. Computer Aided Geometric Design, 3, 83 (1986).
[Nielson83]G. Nielson, ‘’A method for interpolating scattered data based upon a minimum norm network’‘. Math. Comp., 40, 253 (1983).
[Renka84]R. J. Renka and A. K. Cline. ‘’A Triangle-based C1 interpolation method.’‘, Rocky Mountain J. Math., 14, 223 (1984).

Previous topic


Next topic


This Page