Chart.js/types/helpers/helpers.curve.d.ts
Jukka Kurkela a4231486eb
helpers.curve cleanup (#8608)
* helpers.curve cleanup
* Use distanceBetweenPoints
2021-03-10 09:32:54 -05:00

35 lines
956 B
TypeScript

export interface SplinePoint {
x: number;
y: number;
}
/**
* Props to Rob Spencer at scaled innovation for his post on splining between points
* http://scaledinnovation.com/analytics/splines/aboutSplines.html
*/
export function splineCurve(
firstPoint: SplinePoint & { skip?: boolean },
middlePoint: SplinePoint,
afterPoint: SplinePoint,
t: number
): {
previous: SplinePoint;
next: SplinePoint;
};
export interface MonotoneSplinePoint extends SplinePoint {
skip: boolean;
cp1x?: number;
cp1y?: number;
cp2x?: number;
cp2y?: number;
}
/**
* This function calculates Bézier control points in a similar way than |splineCurve|,
* but preserves monotonicity of the provided data and ensures no local extremums are added
* between the dataset discrete points due to the interpolation.
* @see https://en.wikipedia.org/wiki/Monotone_cubic_interpolation
*/
export function splineCurveMonotone(points: readonly MonotoneSplinePoint[]): void;