Function Repository Resource:

# AkimaSpline

Smooth curve interpolation based on local procedures for a multiple-valued curve (x(u), y(u))

Contributed by: Robert B. Nachbar (Wolfram Solutions)
 ResourceFunction["AkimaSpline"][{x1,y1},{x2,y2},…}] represents an Akima-spline function defined by the data {xi, yi}.

## Details and Options

ResourceFunction["AkimaSpline"] returns a CompiledFunction object, which can be used like any other pure function.
ResourceFunction["AkimaSpline"][][u] gives a point {x[u], y[u]} on the spline in the xy-plane corresponding to the parameter u.
The interpolation function returned by ResourceFunction["AkimaInterpolation"][data] is set up so as to agree with data at every point explicitly specified in data.
The function arguments must be real numbers.
The interpolation works by fitting a third-degree polynomial curve between successive data points.
The interpolation automatically makes use of local numerical derivatives, thus ensuring a smooth as well as continuous result.
If the data is periodic, only the data for a single fundamental period is required. The option PeriodicInterpolation is used.

## Examples

### Basic Examples

Construct an Akima-spline curve using a list of data points:

 In[1]:=
 In[2]:=
 Out[2]=

Apply the function to find a point on the curve:

 In[3]:=
 Out[3]=

Plot the Akima-spline curve with the data points:

 In[4]:=
 Out[4]=

### Scope

Ordinate values can be repeated:

 In[5]:=
 In[6]:=

Plot the Akima-spline curve with the data points:

 In[7]:=
 Out[7]=

### Options

#### PeriodicInterpolation

 In[8]:=
 In[9]:=
 Out[9]=

Plot the Akima-spline curve with the data points:

 In[10]:=
 Out[10]=

### Applications

Interpolate random data:

 In[11]:=
 Out[11]=
 In[12]:=
 Out[12]=

Sort the points into a traveling salesman tour:

 In[13]:=
 Out[13]=
 In[14]:=
 Out[14]=
 In[15]:=
 Out[15]=

### Neat Examples

Interesting knot-like figures can be drawn:

 In[16]:=
 Out[18]=

A “braided” Spikey:

 In[19]:=
 In[20]:=
 Out[22]=
 In[23]:=
 In[24]:=
 Out[24]=

## Requirements

Wolfram Language 11.3 (March 2018) or above