UNPKG

ts-useful

Version:

Functions for animation, color transitions, ecliptic, bezier, decasteljau, curves, three dimensional curves, smooth scrolling, random range, randomItem, mobius index, vectors, physics vectors, and easing.

20 lines 569 B
import { Lerp } from './lerp'; /** * * @param points number[] * @param percent number * @returns number */ export const Decasteljau = (points, percent) => { if (points.length === 1) return points[0]; const results = [...points]; const calc = (p) => { for (let i = 0, e = p.length - 1; i < e; i++) results[i] = Lerp(p[i], p[i + 1], percent); results.pop(); return results.length === 1 ? results[0] : calc(results); }; return calc(results); }; //# sourceMappingURL=decasteljau.js.map