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.

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 ;
