unitsize(1cm); pair z0=(0,0), z1=(7,0), c0=(1,2), c1=(5,3); // Courbe (spline) de Bézier ... // ... cubique (définie par 4 points). path CourbeBezier = z0 .. controls c0 and c1 .. z1; // Pour info : la forme paramétrique de la courbe est // z(t) = z0 (1-t)^3 + 3 c0 t(1-t)^2 + 3 c1 t^2(1-t) + z1 t^3 // avec t compris entre 0 et 1. draw(CourbeBezier,2bp+blue); path lignebrisee = z0 -- c0 -- c1 -- z1; draw(lignebrisee,dashed); // en pointillés... dot(lignebrisee,5bp+red); // ... et les points en rouge. // Pour finir, on ajoute le nom des points. label("$z_0$",z0,S); label("$z_1$",z1,S); label("$c_0$",c0,N); label("$c_1$",c1,N); shipout(bbox(3mm,white));