e01sbf evaluates at a given point the two-dimensional interpolant function computed by
e01saf.
e01sbf takes as input the arguments defining the interpolant
$F\left(x,y\right)$ of a set of scattered data points
$\left({x}_{r},{y}_{r},{f}_{r}\right)$, for
$\mathit{r}=1,2,\dots ,m$,
as computed by
e01saf,
and evaluates the interpolant at the point
$\left(px,py\right)$.
If
$\left(px,py\right)$ is not equal to
$\left({x}_{r},{y}_{r}\right)$
for any
$r$, the derivatives in
grads will be used to compute the interpolant. A triangle is sought which contains the point
$\left(px,py\right)$, and the vertices of the triangle along with the partial derivatives and
${f}_{r}$ values at the vertices are used to compute the value
$F\left(px,py\right)$. If the point
$\left(px,py\right)$ lies outside the triangulation defined by the input arguments, the returned value is obtained by extrapolation. In this case, the interpolating function
${\mathbf{f}}$ is extended linearly beyond the triangulation boundary. The method is described in more detail in
Renka and Cline (1984) and the code is derived from
Renka (1984).
e01sbf must only be called after a call to
e01saf.
Renka R L (1984) Algorithm 624: triangulation and interpolation of arbitrarily distributed points in the plane ACM Trans. Math. Software 10 440–442
If on entry
${\mathbf{ifail}}=0$ or
$-1$, explanatory error messages are output on the current error message unit (as defined by
x04aaf).
Computational errors should be negligible in most practical situations.
e01sbf is not thread safe and should not be called from a multithreaded user program. Please see
Section 1 in FL Interface Multithreading for more information on thread safety.
The results returned by this routine are particularly suitable for applications such as graph plotting, producing a smooth surface from a number of scattered points.