Tracé d’un caractère par des courbes de Bézier

Auteur ou autrice : Jacques André.

Mise en ligne le 11 avril 2023

Image du résultat de l’exemple

C'est un exemple très simple d'emploi de Metapost, ressemblant un peu aux exemples 40 et 45 du Manuel MetaPost. Il reprend les données utilisées par Yves Soulet dans son introduction à Tikz: Yves Soulet, Manuel de prise en main pour TikZ, Cahier GUTenberg no 50 (2008), p. 5-87 (voir page 80).

Code


beginfig(2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Programme e-garamond
%% Auteur : Jacques André
%% email = Jacques.AndreNN@gmail.com avec NN=35

%%%%%%%%%%%%%% Déclaration des points de contrôle 
z0=(91,276);
z1=(402, 276);
z2=(399, 380);
z3=( 334, 458);
z4=( 226, 458);
z5=(102, 458);
z6=( 22, 356);
z7=( 22, 214);
z8=(22, 95);
z9=( 97, -10);
z10=(212, -10);
z11=(312, -10);
z12= (390, 68);
z13=( 421,158);
z14=(405,164);
z15=(374,109);
z16=( 319,55);
z17= (253,57);
z18=(140, 57);
z19=( 92, 181);
z20= (91, 276);
z21=(94, 308);
z22=(103, 372);
z23=( 134, 424); 
z24=(204, 423);
z25=(270, 423);
z26=( 297, 366);
z27=( 300, 308);
%


%%%%%%%%%%%%%%%%%%%%%%%%% Tracé des contours et remplissage

fill z0--z1 ..controls z2and z3 .. z4
..controls z5 and z6..z7
..controls z8 and z9..z10
..controls z11 and z12..z13--z14
..controls z15 and z16..z17
.. controls z18. and z19..z20--cycle withcolor .7white ;
unfill  z21.. controls z22 and z23..z24
.. controls z25 and z26..z27--cycle;

%%%%%%%%%%%%%%%%%%%%%%%%% Tracé des tangentes
ahangle := 20; ahlength:=15bp;
drawarrow z1--z2;
drawdblarrow z3--z5;
drawdblarrow z6--z8;
drawdblarrow z9--z11;
drawarrow z13--z12;
drawarrow z14--z15;
drawdblarrow z16--z18;
drawarrow z20--z19;
drawarrow z21--z22;
drawdblarrow z23--z25;
drawarrow z27--z26;
 
%%%%%%%%%%%%%%%%%%%%%% Noms des points de contrôle
dotlabeldiam:=4bp;labeloffset:=3mm;
defaultscale:=2;
dotlabel.lrt("z0",z0);
dotlabel.rt("z1",z1);
dotlabel.rt("z2",z2);
dotlabel.rt("z3",z3);
dotlabel.top("z4",z4);
dotlabel.urt("z5",z5);
dotlabel.lft("z6",z6);
dotlabel.lft("z7",z7);
dotlabel.lft("z8",z8);
dotlabel.lft("z9",z9);
dotlabel.bot("z10",z10);
dotlabel.rt("z11",z11);
dotlabel.rt("z12",z12);
dotlabel.rt("z13",z13);
dotlabel.urt("z14",z14);
dotlabel.lft("z15",z15);
dotlabel.urt("z16",z16);
dotlabel.urt("z17",z17);
dotlabel.urt("z18",z18);
dotlabel.rt("z19",z19);
dotlabel.urt("z20",z20);
dotlabel.urt("z21",z21);
%dotlabel.urt("z22",z22);
%dotlabel.urt("z23",z23);
dotlabel.bot("z24",z24);
%dotlabel.urt("z25",z25);
%dotlabel.urt("z26",z26);
dotlabel.ulft("z27",z27);

endfig;
end.

Mots clés : typographieBéziertangentedotlabelcontrolsarrow

Fichiers

Télécharger l’archive complète