Я пытаюсь обернуть текст кривой Безье и следующий учебник по этой ссылке, http://www.planetclegg.com/projects/WarpingTextToSplines.htmlПолучить нормаль кривой Безье в 2D
я Производная по этому коду:
function Derivative(x0,x1,x2,t)
{
var mt = 1-t;
var a = mt * mt;
var b = mt * t * 2;
var c = t * t;
var result=a * x0 + b * x1 + c * x2;
return result;
}
Так я рассчиты ваются Normal с кодом:
function Normal(x0,x1,x2,y0,y1,y2,t)
{
var dx = Derivative(x0,x1,x2,t);
var dy = Derivative(y0,y1,y2,t);
var q = Math.sqrt(dx*dx + dy*dy)
return { x: -dy/q, y: dx/q };
};
Итак, это результат: что-то не так, но я не знаю, где.
Спасибо вам всем!
Производная функции() в основном оценивает квадратичную кривую Безье с (x0, y0), (x1, y1) и (x2, y2) в качестве контрольных точек. Итак, если вы считаете, что для вычисления производной другой кривой, то, скорее всего, кривая в вашем уме на самом деле является кубической кривой Безье. Если это так, вам нужно будет передать x0 = P1x-P0x, x1 = P2x-P1x и x2 = P3x-P2x (то же самое для значений y0, y1, y2), где P0, P1, P2 и P3 являются контрольными точками кубической кривой Безье. – fang
Фактически кубический -> квадратичный P0, 2/3 P0-> P1, 2/3 P2-> p1, P2; – geowar