shepard_interp_2d, a C++ code which defines and evaluates Shepard interpolants to 2D data, based on inverse distance weighting.
The code needs the R8LIB library. The test code needs the TEST_INTERP_2D library.
The computer code and data files described and made available on this web page are distributed under the MIT license
shepard_interp_2d is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.
LAGRANGE_INTERP_2D, a C++ code which defines and evaluates the Lagrange polynomial p(x,y) which interpolates a set of data depending on a 2D argument that was evaluated on a product grid, so that p(x(i),y(j)) = z(i,j).
PADUA, a C++ code which returns the points and weights for Padu sets, useful for interpolation in 2D. GNUPLOT is used to plot the points.
PWL_INTERP_2D, a C++ code which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.
R8LIB, a C++ code which contains many utility routines using double precision real (R8) arithmetic.
RBF_INTERP_2D, a C++ code which defines and evaluates radial basis function (RBF) interpolants to 2D data.
SHEPARD_INTERP_1D, a C++ code which defines and evaluates Shepard interpolants to 1D data, based on inverse distance weighting.
SHEPARD_INTERP_ND, a C++ code which defines and evaluates Shepard interpolants to multidimensional data, based on inverse distance weighting.
TEST_INTERP_2D, a C++ code which defines test problems for interpolation of data z(x,y)), depending on a 2D argument.
TOMS886, a C++ code which defines the Padua points for interpolation in a 2D region, including the rectangle, triangle, and ellipse, by Marco Caliari, Stefano de Marchi, Marco Vianello. This is a C++ version of ACM TOMS algorithm 886.
VANDERMONDE_INTERP_2D, a C++ code which finds a polynomial interpolant to data z(x,y) of a 2D argument by setting up and solving a linear system for the polynomial coefficients, involving the Vandermonde matrix.