Aller au contenu

Mathc initiation/a258

Un livre de Wikilivres.


Sommaire


Installer ce fichier dans votre répertoire de travail.

kpoly.h
/* ------------------------------------ */
/*  Save as :   kpoly.h                 */
/* ------------------------------------ */
double Cubic_Bezier_x_2d(
double   t,
pt2d P0,
pt2d P1,
pt2d P2,
pt2d P3
)
{
return(
    P0.x * pow((1-t),3) * pow(t,0) +
3 * P1.x * pow((1-t),2) * pow(t,1) +
3 * P2.x * pow((1-t),1) * pow(t,2) +
    P3.x * pow((1-t),0) * pow(t,3)
);
}
/* ------------------------------------ */
double Cubic_Bezier_y_2d(
double   t,
pt2d P0,
pt2d P1,
pt2d P2,
pt2d P3)
{
return(
    P0.y * pow((1-t),3) * pow(t,0) +
3 * P1.y * pow((1-t),2) * pow(t,1) +
3 * P2.y * pow((1-t),1) * pow(t,2) +
    P3.y * pow((1-t),0) * pow(t,3)
);
}
/* ------------------------------------ */
/* ------------------------------------ */