Exemplu de programare

%--- Declaratii
/cm { 28.346456 mul } def
/Sistem-Coordonate
{ /Intre exch def

 

% Axe-de-coordonate
newpath
Intre 0 gt 
{ 0.015 cm setlinewidth } 
{ 0.04 cm setlinewidth } ifelse
-1 cm 0 cm moveto
10 cm 0 cm rlineto
0 cm -1 cm moveto
0 cm 10 cm rlineto
0 setgray
stroke
% Scalare-Axe
newpath 
Intre 0 gt 
 { 0.015 cm setlinewidth } 
 { 0.04 cm setlinewidth } ifelse
 -1 cm 0 cm moveto
 10 cm 0 cm rlineto
 0 cm -1 cm moveto
 0 cm 10 cm rlineto
 0 setgray
 stroke

 

 % Scalare-Axe
 Intre 0 gt 
 { 0.015 cm setlinewidth } 
 { 0.025 cm setlinewidth } ifelse
 0.0 cm 1.0 cm 8 cm % variabila de control pentru moveto
 { dup  % variabila de control pentru lineto
 -0.10 cm moveto
 0.10 cm lineto % linie verticala
 } for
 0.0 cm 1.0 cm 8 cm % variabila de control pentru moveto
 { dup  % variabila de control pentru lineto
 -0.10 cm exch moveto
 0.10 cm exch lineto % linie orizontala
 } for
 stroke
} def

 

/Obiect
{ /Latime-linie exch def
 /Nivel-gri exch def
 /Intre exch def
 /Times-BoldItalic findfont
 7.0 cm scalefont 
 setfont
newpath
 1.2 cm 1 cm moveto
 (EPS) true charpath
 gsave 
 Nivel-gri setgray 
 fill 
 grestore
 Intre 0 gt 
 { Latime-linie setlinewidth }
 { 3.5 setlinewidth } ifelse
 stroke
} def
%--- Program principal
6.3 cm 13 cm translate

 

%-- Inceput imagine
% 0 Sistem-Coordonate
0 0.70 1.0 Obiect

 

 

%-- Imagini intermediare
gsave
 1 1 72
 { 0 rotate
 0.9 0.9 scale
 -0.6 cm 1.3 cm translate
 % 1 Sistem-Coordonate
 1 1.0 1.5 Obiect
 pop
 } for
grestore
gsave
 1 1 72
 { 5 rotate
 0.9 0.9 scale
 -0.9 cm -0.6 cm translate
 % 1 Sistem-Coordonate
 1 0.90 0.015 cm Obiect
 pop
 } for
grestore

 

%-- Sfirsit imagine
0 0.70 1.0 Obiect

 

/Times-BoldItalic findfont
1.5 cm scalefont 
setfont

 

newpath
-1.0 cm -5.3 cm moveto
(encapsulated PostScript) show

 

 

/#copies 1 def
showpage

(C) Copyright Computer Press Agora