Scattered data interpolation solves the following problem: given measures of a function on a set of discrete data points, the task is to interpolate this function on an arbitrary query point.
If the function is a linear function and given barycentric coordinates
that allow to express the query point as the convex combination of
some data points, the function can be exactly interpolated. If the
function gradients are known, we can exactly interpolate quadratic
functions given barycentric coordinates. Any further properties of
these interpolation functions depend on the properties of the
barycentric coordinates. They are provided in this package under the
name linear_interpolation and
quadratic_interpolation.
Natural neighbor coordinates are defined by Sibson in 1980 and are based on the Voronoi diagram of the data points. Interpolation methods based on natural neighbor coordinates are particularly interesting because they adapt easily to non-uniform and highly anisotropic data. This package contains Sibson's continuous interpolation method which interpolates exactly spherical quadrics (of the form ) and Farin's continuous interpolation method based on Bernstein-Bézier techniques and interpolating exactly quadratic functions - assuming that the function gradient is known. In addition, Sibson defines a method to approximate the function gradients for data points that are in the interior of the convex hull. This method is exact for spherical quadrics.
This CGAL package implements Sibson's and Farin's interpolation functions as well as Sibson's function gradient fitting method. Furthermore, it provides functions to compute the natural neighbor coordinates with respect to a two-dimensional Voronoi diagram (i. e., from the Delaunay triangulation of the data points) and to a two-dimensional power diagram for weighted points (i. e., from their regular triangulation). Natural neighbor coordinates on closed and well-sampled surfaces can also be computed if the normal to the surface at the query point is known. The latter coordinates are only approximately barycentric, see [BF02].
For a more thorough introduction see the user manual.
CGAL::linear_interpolation
CGAL::sibson_c1_interpolation
CGAL::farin_c1_interpolation
CGAL::quadratic_interpolation
CGAL::sibson_gradient_fitting
CGAL::Interpolation_traits_2<K>
CGAL::Interpolation_gradient_fitting_traits_2<K>