Skip to content
Snippets Groups Projects
Commit a27e9c0b authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

InterpolateBezier leads to List_Read with negative index (see demos/splines.geo)

parent 922c66aa
No related branches found
No related tags found
No related merge requests found
......@@ -135,12 +135,14 @@ SPoint2 InterpolateCubicSpline(Vertex *v[4], double t, double mat[4][4],
}
return p;
}
// Bezier
static Vertex InterpolateBezier(Curve *Curve, double u, int derivee)
{
int NbCurves = (List_Nbr(Curve->Control_Points) - 1) / 3;
int iCurve = (int)floor(u * (double)NbCurves);
if(iCurve == NbCurves) iCurve -= 1; // u = 1
if(iCurve >= NbCurves) iCurve = NbCurves - 1; // u = 1
if(iCurve <= 0) iCurve = 0;
double t1 = (double)(iCurve) / (double)(NbCurves);
double t2 = (double)(iCurve+1) / (double)(NbCurves);
double t = (u - t1) / (t2 - t1);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment