%% /arrowpointe 12.5 def
%% /arrowplume 2.5 def
%% /arrow@ngle 60 def
%% /arrowscale {1 1} def
%% /arrowangle 0 def %% pour l'utilisateur
%%
%% /arrow {
%% gsave
%% arrowscale scale
%% arrowangle rotate
%% newpath
%% 0 0 moveto
%% arrowpointe neg 0 rmoveto %% ainsi c'est la pointe qui est en (0, 0)
%% %% le pt extremal arriere haut
%% arrowplume neg %% l'abscisse
%% arrow@ngle sin arrow@ngle cos div arrowplume mul %% l'ordonnee
%% rlineto
%% arrowplume arrowpointe add
%% arrow@ngle sin arrow@ngle cos div arrowplume mul neg
%% rlineto
%% arrowplume arrowpointe add neg
%% arrow@ngle sin arrow@ngle cos div arrowplume mul neg
%% rlineto
%% closepath fill
%% grestore
%% } def
/arrowlength 15 def
/arrowsize 8.5 def
/arrowinset 2.5 def
/arrowscale {1 1} def
/arrowangle 0 def %% pour l'utilisateur
/arrow {
gsave
arrowscale scale
arrowangle rotate
newpath
0 0 moveto
arrowlength neg arrowsize 2 div rlineto
arrowinset arrowsize 2 div neg rlineto
arrowinset neg arrowsize 2 div neg rlineto
closepath fill
stroke
grestore
} def
%/ahalpha 35 def
/ahlength 7 def
%% %% syntaxe : C B A Arrow --> fleche d'extremite A
%% /Arrow {
%% 8 dict begin
%% /A defpoint
%% /B defpoint
%% /C defpoint
%% /alpha ahalpha 2 div def
%% C A alpha rotatepoint /C0 defpoint
%% B A alpha rotatepoint /B0 defpoint
%% C A alpha neg rotatepoint /C1 defpoint
%% B A alpha neg rotatepoint /B1 defpoint
%% C C0 C1 axesympoint /C2 defpoint
%% newpath
%% C0 smoveto
%% [C0 .. B0 .. A] draw_
%% [A .. B1 .. C1] draw_
%% C2 C C2 vecteur addv slineto
%% closepath
%% gsave fill grestore
%% stroke
%% end
%% } def
|