/widthangledroit 5 def
%% syntaxe : A B C angledroit --> dessine un angle droit en B
/angledroit {
10 dict begin
dup xcheck {
/widthangledroit exch def
} if
/C defpoint
/B defpoint
/A defpoint
B C vecteur normalize widthangledroit 30 div mulv /u defpoint
B A vecteur normalize widthangledroit 30 div mulv /v defpoint
[B u addv dupp v addv B v addv] ligne
end
} def
%% %% syntaxe : A B C angledroit --> dessine un angle droit en B
%% /angledroit {
%% 10 dict begin
%% /yC exch def
%% /xC exch def
%% /yB exch def
%% /xB exch def
%% /yA exch def
%% /xA exch def
%% /A {xA yA} def
%% /B {xB yB} def
%% /C {xC yC} def
%% /alpha {A B C tripointangle} def
%% gsave
%% newpath
%% B stranslate
%% thin setlinewidth
%% B A A B alpha rotatepoint
%% milieu angle
%% rotate
%% widthangledroit dup moveto
%% widthangledroit dup neg rlineto
%% widthangledroit neg dup rlineto
%% stroke
%% grestore
%% end
%% } def
|