build a new nim with linear interpolation type by sampling each component with n points equally spaced between the first and the last breakpoint.
The result is a nim with linear interpolation type for all component, irrespectively of the interpolation type of the nim argument. The resulting nim can be seen as a linear approximation of the original curve.
The sampling is made component by components, so the results is not necessarily homogeneous. The function @align_breakpoints can be used on a nim with linear interpolation type to obtain an equivalent nim with homogeneous breakpoints
The approximation made with sampling on n points is not always satisfactory because the variation of the nim can differ greatly between two intervals. The function @linearize uses an adaptive sampling step to linearize the nim, to align the breakpoints and to achieve an approximation within a given tolerance .
See also @align_breakpoints, @sample and the nim simplification functions: @simplify_radial_distance_t, @simplify_radial_distance_v, @simplify_lang_v, @filter_median_t, @filter_min_t, @filter_max_t, @window_filter_t
In the figure below, the diagram at the top left shows a vectorial nim with two components:
the effect of
@sampleis pictured at top right,
the effect of
@align_breakpointsis sketched at bottom left,
and the effect of
@linearizeis illustrated at bottom right.