на вход функция принимает массив точек кривой безье, о том как найти точки в инете легко ищется, хотя это я нашёл так же в инете на просторах гитхаба xDD
const subtract = (v1, v2) => ({
x: v1.x - v2.x,
y: v1.y - v2.y
});
const magnitude = ({ x, y }) => Math.sqrt(x * x + y * y);
const pointDistance = (point1, point2) => magnitude(subtract(point1, point2));
const curveLength = (points) => {
let lastPoint = points[0];
const pointsSansFirst = points.slice(1);
return pointsSansFirst.reduce((acc, point) => {
const dist = pointDistance(point, lastPoint);
lastPoint = point;
return acc + dist;
}, 0);
};