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.

24 lines 723 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Decasteljau = void 0; const lerp_1 = require("./lerp"); /** * * @param points number[] * @param percent number * @returns number */ 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] = (0, lerp_1.Lerp)(p[i], p[i + 1], percent); results.pop(); return results.length === 1 ? results[0] : calc(results); }; return calc(results); }; exports.Decasteljau = Decasteljau; //# sourceMappingURL=decasteljau.js.map