#include #include #include #include #include #include #include #include using std::cout; typedef struct points { float x; float y; }XY; std::vector liste_pts; /*typedef struct ctrl { XY *list; int nbCtrlPoints; void ajouter(XY p){ this->list[this->nbCtrlPoints] = p; this->nbCtrlPoints+=1; } }CtrlPoints; */ int factoriel(int x) // no comment { int r = 1; for (int i=2 ; i<=x ; i++) r*=i; return r; } float Berstein(int i, int n, double t) { float t1 = 1.0f-t; return factoriel(n)/(factoriel(i)*factoriel(n-i))*pow(t,i)*pow(t1,n-i); } XY CalcBezier(std::vector liste_pts, double t, int n) { int i; XY p; p.x=0; p.y=0; for(i=0;i liste_pts, int n){ double t; int i; XY p, p_prec; p_prec = p1; for(i=0;i