Les sources de Syracuse regle_02.jps
regle_02.jpg

-5 5 setxrange
quadrillage
marks

/regle_graduee_var_dim {
   %% on copie la parametre + les coordonnées du point d'appel, puis
   %% on jette les coordonnees du point.
   3 copy pop pop
   1 add 0 jtoppoint
   -1 -1 jtoppoint
   exchp
} def

/regle_graduee_var {
5 dict begin
/longueur exch def
gsave
   currentpoint ptojpoint stranslate    
   %% le corps de la regle
   -1 -1 longueur 1 add 0 frame
   %% l'etendue de ses graduations
   0 longueur .01 add setxrange
   .1 setxsubtkstep            %% le pas pour les sous-graduations
   %% redef des macros de graduations (chgt de longueur)
   /xtick {4 xt@ck} def
   /xsubtick {2.5 xt@ck} def
   %% du coup on descend l'inscription des marques
   /xmarkstyle {(0 -4) dctext} def
   %% le dessin
   gsave
   0 -4 translate	%% pour que les traits ne depassent pas de la regle
      xticks		%% les graduations
      xmarks		%% les marques
      O xmark		%% et le 0 qui n'est pas marque par defaut
   grestore
   0 -2.5 translate	%% pour que les traits ne depassent pas de la regle
   xsubticks		%% les graduations
grestore
end
} def

8       %% longueur de la regle
O       %% point d'appel
dupp point   %% qu'on represente
()      %% decalage   (option)
[1 dup] %% echelle    (option)
{30}	%% angle de la rotation  (option)
(regle_graduee_var) bcpict

%% une autre
3 
-3 -4
dupp point
(regle_graduee_var) bbpict

%% une dernière
6
-4 4
dupp point
()
[.5 dup]
(regle_graduee_var) drpict

%% allez, encore une petite
6
-2 2
dupp point
[5 dup]
{-45}
(regle_graduee_var) bcpict



Page composée par petitParseur[ps2html] le jeudi 20 novembre 2008.