**triangle_interpolate**,
a C code which
demonstrates some simple techniques for interpolating data on a triangle.

In the most common case, the value of a quantity is known at the vertices of a triangle, and a reasonable interpolated value is desired at some point p in the interior of that triangle. This can be done by linear interpolation.

The computer code and data files described and made available on this web page are distributed under the MIT license

**triangle_interpolate** is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.

FEM_BASIS, a C code which can define basis functions for the finite element method (FEM) for any degree in an M-dimensional simplex (1D interval, 2D triangle, 3D tetrahedron, and higher dimensional generalizations.)

GEOMETRY, a C code which performs geometric calculations in 2, 3 and N dimensional space.

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 version of ACM TOMS algorithm 886.

TRIANGLE_ANALYZE, a C code which reads a triangle defined in a file, and uses the triangle_properties() library to compute angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality.

TRIANGLE_FEKETE_RULE, a C code which defines Fekete rules for quadrature or interpolation over the interior of a triangle in 2D.

TRIANGLE_GRID, a C code which computes a grid of points over the interior of a triangle in 2D.

TRIANGLE_PROPERTIES, a C code which can compute properties, including angles, area, centroid, circumcircle, edge lengths, incircle, orientation, orthocenter, and quality, of a triangle in 2D.

- triangle_interpolate.c, the source code.
- triangle_interpolate.sh, runs all the tests.
- triangle_interpolate.h, the include file.