nag_2d_triang_eval (e01skc) evaluates at a given point the two-dimensional interpolant function computed by
nag_2d_triang_interp (e01sjc).
nag_2d_triang_eval (e01skc) takes as input the arguments defining the interpolant
of a set of scattered data points
, for
,
as computed by
nag_2d_shep_interp (e01sgc),
and evaluates the interpolant at the point
.
If
is not equal to
for any
, the derivatives in
grads will be used to compute the interpolant. A triangle is sought which contains the point
, and the vertices of the triangle along with the partial derivatives and
values at the vertices are used to compute the value
. If the point
lies outside the triangulation defined by the input arguments, the returned value is obtained by extrapolation. In this case, the interpolating function
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).
nag_2d_triang_eval (e01skc) must only be called after a call to
nag_2d_shep_interp (e01sgc).
Renka R L (1984) Algorithm 624: triangulation and interpolation of arbitrarily distributed points in the plane ACM Trans. Math. Software 10 440–442
Computational errors should be negligible in most practical situations.
nag_2d_triang_eval (e01skc) is not threaded in any implementation.
The time taken for a call of nag_2d_triang_eval (e01skc) is approximately proportional to the number of data points, .
The results returned by this function are particularly suitable for applications such as graph plotting, producing a smooth surface from a number of scattered points.
See
Section 10 in nag_2d_shep_interp (e01sgc).