PWL_INTERP_2D_SCATTERED is a C++ library which produces a piecewise linear interpolant to 2D scattered data, that is, data that is not guaranteed to lie on a regular grid.
This program computes a Delaunay triangulation of the data points, and then constructs an interpolant triangle by triangle. Over a given triangle, the interpolant is the linear function which matches the data already given at the vertices of the triangle.
PWL_INTERP_2D requires the R8LIB library. The test code requires the TEST_INTERP_2D library.
The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.
PWL_INTERP_2D_SCATTERED is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.
LAGRANGE_INTERP_2D, a C++ library 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).
PWL_INTERP_2D, a C++ library which evaluates a piecewise linear interpolant to data defined on a regular 2D grid.
RBF_INTERP_2D, a C++ library which defines and evaluates radial basis function (RBF) interpolants to scattered 2D data.
SHEPARD_INTERP_2D, a C++ library which defines and evaluates Shepard interpolants to scattered 2D data, based on inverse distance weighting.
TEST_INTERP_2D, a C++ library which defines test problems for interpolation of regular or scattered data z(x,y), depending on a 2D argument.
TRIANGULATION, a C++ library which performs various operations on order 3 (linear) or order 6 (quadratic) triangulations.
TRIANGULATION_ORDER3_CONTOUR, a MATLAB program which makes contour plot of scattered data, or of data defined on an order 3 triangulation.
VANDERMONDE_INTERP_2D, a C++ library 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.
You can go up one level to the C++ source codes.