Interpolation, Method -> "ObtuseAngle"

Interpolation[funcvaluelist,Method→"ObtuseAngle",(options)] represents a way to perform interpolation, using obtuse angle shadowing networks, when funcvaluelist is a list of scattered control points together with the function values in these points.
  • To use Interpolation, Method→"ObtuseAngle", you first need to load the Obtuse Package using Needs["Obtuse`"].
  • The following options can be given:
ConnectionsToExclude{}connections to exclude in the evaluation
CutoffRadiusInfinitypoints separated by twice the CutoffRadius or more are not connected
CutoffValue0.0`the interpolated value in points more distant than CutoffRadius from all control points will be this value
DistanceFunctionAutomaticdistance function to use in calculation of the distance matrix and the calculation of the distance from the interpolation point to the control points. Note, that the function here is expected to return the square of the distance
InterpolationOrder1the order of interpolation to use
NeighborLevel1all connected points for lower values of NeighborLevel are excluded in the evaluation
SmoothenDistance0.points separated by SmoothenDistance or less are not connected
TypeDirectedthe connection graph can be Directed or Undirected
In[1]:=
Click for copyable input
Some 2D points:
In[2]:=
Click for copyable input
Add function values in the 2D point table:
In[3]:=
Click for copyable input
Test interpolation in one point:
In[4]:=
Click for copyable input
Out[4]=
Often one obtain the same value if the option Type is specified as Undirected:
In[5]:=
Click for copyable input
Out[5]=
Check with the original function in the same point:
In[6]:=
Click for copyable input
Out[6]=
If the same interpolation should be used in many different points, the function can be precompiled without specifying in which point it will be used. With InterpolationOrder set to 1, the interpolated function is continuous. Note, in the plot below, that extrapolation is used along the border of the plot.
In[7]:=
Click for copyable input
Out[7]=
The same plot with InterpolationOrder set to 2, with continuous derivative.
In[8]:=
Click for copyable input
Out[8]=
The same plot with InterpolationOrder set to 3, with continuous second order derivative.
In[9]:=
Click for copyable input
Out[9]=
The same plot with InterpolationOrder set to 0, with piecewise constant interpolated values. The plotting routine in Mathematica is not able to make the edges straight with the default settings.
In[10]:=
Click for copyable input
Out[10]=
 
Let us check some 1D cases
In[1]:=
Click for copyable input
Some 1D points:
In[2]:=
Click for copyable input
Out[2]=
Add function values in the point table:
In[3]:=
Click for copyable input
Test interpolation with default settings:
In[4]:=
Click for copyable input
Out[4]=
Check interpolation with InterpolationOrder→ 0 :
In[5]:=
Click for copyable input
Out[5]=
Check interpolation with InterpolationOrder→ 2 :
In[6]:=
Click for copyable input
Out[6]=
Check interpolation with InterpolationOrder→ 3 :
In[7]:=
Click for copyable input
Out[7]=
Check interpolation with the normal Interpolation:
In[8]:=
Click for copyable input
Out[8]=