Dessiner et nommer un point

En Metapost, un point est de type pair.

Ainsi, pour définir les points A, B, C et D, on écrira la ligne :

pair A,B,C,D;

Pour définir leurs coordonnées, on taper par exemple :

A:=(0,0);
B:=(5u,0);
C:=0.5[A,B];
D:=(A+2B)/3;

Remarquez que les coordonnées sont données comme des multiples de l’unité u qui est définie en début de figure.

Pour les dessiner, il y a plusieurs marque possibles que l’on définit par la commande marque_p:=”type de marque” où le type de marque est à choisir parmi :
– “rien” : valeur par défaut ;
– “plein” : disque noir ;
– “creux” : cercle ;
– “croix”.

Pour tracer le point A, on a le choix entre le dessiner uniquement, ou le dessiner en le nommant. Les commandes sont :
pointe(A);
nomme.pos(A);
label.pos(btex $A$ etex,A);

posest à remplacer par les attributs de position de Metapost :
top : en haut ;
bot : en bas ;
rt : à droite ;
lft : à gauche ;
urt : en haut à droite ;
ulft : en haut à gauche
lrt : en bas à droite ;
llft : en bas à gauche.

Voici un exemple d’utilisation.

Les points
Les points
input geometriesyr16.mp ;

%------------------------------------------------------------------------
% Exercice 1
%------------------------------------------------------------------------

u:=1cm;
figure (-8u,-8u,10u,8u);
pair A,B,C,D,E,F,G,H,O;

A:=(0,0);
B:=(6u,0);
C:=(6u,4u);
D:=(0,4u);
E:=0.5[A,B];
F:=0.5[B,C];
G:=0.5[C,D];
H:=0.5[D,A];
O:=0.5[A,C];

marque_p:="plein";
nomme.llft(A);
nomme.lrt(B);
nomme.urt(C);
nomme.ulft(D);

marque_p:="creux";
nomme.bot(E);
nomme.top(G);

marque_p:="croix";
nomme.rt(F);
nomme.lft(H);

pointe(O);



fin;
%-----------------------------------------------------------------------


%-----------------------------------------------------------------------
end ;