%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/feu0/feu00-1n
%%BoundingBox: 70 85 226 206

%START PDFDE011.EPS
/pdfmark01 where {pop} {userdict /pdfmark01 /cleartomark load put} ifelse
/languagelevel where {pop languagelevel} {1} ifelse
2 lt { userdict (<<) cvn ([) cvn load put
       userdict (>>) cvn (]) cvn load put} if
[/Title (PostScript pictures: farbe.li.tu-berlin.de/feu0/feu0.htm)
 /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1)
 /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de)
 /Keywords (image reproduction, colour devices)
 /Creator (klaus.richter@mac.com)
 /CreationDate (D:2024040112200)
 /ModDate (D:20240401112200)
/DOCINFO pdfmark01
[ /View [ /Fit ]
/DOCVIEW pdfmark01
%END  PDFDE011

/FS {findfont exch scalefont setfont} bind def
/MM {72 25.4 div mul} def /str {8 string } bind def

/languagelevel where {pop languagelevel} {1} ifelse
                     /PSL12 exch def
/dictende {counttomark 2 idiv dup dict begin {def}
           repeat pop currentdict end} bind def

/Times-Roman findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/Times-ISOL1 exch definefont pop

/Times-Italic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesI-ISOL1 exch definefont pop

/Times-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesB-ISOL1 exch definefont pop

/Times-BoldItalic findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/TimesBI-ISOL1 exch definefont pop

/TS {200 /Times-ISOL1 FS} bind def
/TK {250 /Times-ISOL1 FS} bind def
/TM {300 /Times-ISOL1 FS} bind def
/TG {350 /Times-ISOL1 FS} bind def

/TIS {200 /TimesI-ISOL1 FS} bind def
/TIK {250 /TimesI-ISOL1 FS} bind def
/TIM {300 /TimesI-ISOL1 FS} bind def
/TIG {350 /TimesI-ISOL1 FS} bind def

/TBS {200 /TimesB-ISOL1 FS} bind def
/TBK {250 /TimesB-ISOL1 FS} bind def
/TBM {300 /TimesB-ISOL1 FS} bind def
/TBG {350 /TimesB-ISOL1 FS} bind def

/TBIS {200 /TimesBI-ISOL1 FS} bind def
/TBIK {250 /TimesBI-ISOL1 FS} bind def
/TBIM {300 /TimesBI-ISOL1 FS} bind def
/TBIG {350 /TimesBI-ISOL1 FS} bind def

/Courier findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/Courier-ISOL1 exch definefont pop

/Courier-Bold findfont dup length dict  begin
{1 index /FID ne {def} {pop pop} ifelse }forall
/Encoding ISOLatin1Encoding def
currentdict end

/CourierB-ISOL1 exch definefont pop

/CKK {100 /Courier-ISOL1 FS} bind def
/CK {125 /Courier-ISOL1 FS} bind def
/CM {150 /Courier-ISOL1 FS} bind def
/CG {175 /Courier-ISOL1 FS} bind def

/CBKK {100 /CourierB-ISOL1 FS} bind def
/CBK {125 /CourierB-ISOL1 FS} bind def
/CBM {150 /CourierB-ISOL1 FS} bind def
/CBG {175 /CourierB-ISOL1 FS} bind def
%***********************************************************

/nshow {300 /Times-ISOL1 FS  show} bind def
/kshow {300 /TimesI-ISOL1 FS  show} bind def
/bshow {300 /TimesB-ISOL1 FS  show} bind def
/jshow {300 /TimesBI-ISOL1 FS  show} bind def
/sshow {300 /Symbol FS  show} bind def
/ishow {220 /Times-ISOL1 FS -00 -50 rmoveto show 00 50 rmoveto} bind def
/eshow {220 /Times-ISOL1 FS 0 100 rmoveto show 0 -100 rmoveto} bind def


/cvishow {0.5 add cvi 6 string cvs show} def
/cvsshow1 {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def
/cvsshow2 {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def
/cvsshow3 {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def

%%EndProlog
gsave

/lanind 0 def
/lantex [(G) (E) (S) (N) (I) (J) (M)] def
/showde {0 lanind eq {show} {pop} ifelse} bind def
/showen {1 lanind eq {show} {pop} ifelse} bind def
/showes {2 lanind eq {show} {pop} ifelse} bind def
/showfr {3 lanind eq {show} {pop} ifelse} bind def
/showit {4 lanind eq {show} {pop} ifelse} bind def
/showjp {5 lanind eq {show} {pop} ifelse} bind def
/showm {6 lanind eq {show} {pop} ifelse} bind def
/lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def}
               {/lanind1 1 def /lanind2 1 def} ifelse
/colormg where {pop /colorm1 colormg def /colorm2 colormg def}
               {/colorm1 0 def /colorm2 0 def} ifelse
/xcolorg where {pop /xcolor1 xcolorg def /xcolor2 xcolorg def}
               {/xcolor1 0 def /xcolor2 0 def} ifelse
/xchartg where {pop /xchart1 xchartg def /xchart2 xchartg def}
               {/xchart1 0 def /xchart2 0 def} ifelse
/lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage
/colorm colorm1 def %colorm1 1 colorm2 {/colorm exch def %output showpage
/xcolor xcolor1 def %xcolor1 1 xcolor2 {/xcolor exch def %output showpage
/xchart xchart1 def %xchart1 1 xchart2 {/xchart exch def %output showpage

/GSS$ where {pop /LSS$ GSS$ def}
            {/LSS$ (1) def} ifelse
/GSC$ where {pop /LSC$ GSC$ def}
            {/LSC$ (N) def} ifelse
/GSX$ where {pop /LSX$ GSX$ def}
            {/LSX$ (0) def} ifelse
/GSY$ where {pop /LSY$ GSY$ def}
            {/LSY$ (0) def} ifelse
/GEX$ where {pop /LEX$ GEX$ def}
            {/LEX$ (P.PS./PDF) def} ifelse
/GEY$ where {pop /LEY$ GEY$ def}
            {/LEY$ (P.DAT) def} ifelse
/IMES where {pop %/IMES IMES def
            }
            {/IMES 0 def} ifelse
      
/xchartg where {pop /xchart   xchartg def} {/xchart   0 def} ifelse
/xcolorg where {pop /xcolor   xcolorg def} {/xcolor   0 def} ifelse

72 90 translate

0.01 MM dup scale

/ichart 0 def %0 1 7 {/ichart exch def %ichart=0,7

130 /Times-ISOL1 FS
50 -130 moveto
    (feu01-7r) show
%%%%ichart 1 add cvishow

gsave

20 setlinewidth
1.0 setgray
0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
closepath fill

0.0 setgray
0 0  moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto
closepath stroke

0100 3600 moveto TBM (Colorimetric transformation) showen
(Farbmetrische Transformation) showde
TBIM ( i) show TBM ( = ) show ichart cvishow
0100 3200 moveto
TBIM (c*) show
TBS -140 -90 rmoveto (i) show 140 90 rmoveto
TBM ( = ) show
TBIM (c*) show
TBS -140 -90 rmoveto ichart cvishow 140 90 rmoveto
TBM ( = ) show TBIM (a c*) show
0 100 rmoveto TBK (b) show 0 -100 rmoveto
TBM ( with ) showen ( mit ) showde

/atex [(1,00) (1,00) (1,00) (1,00) (0,75) (0,50) (0,25) (0,00)] def
/anum [ 1.00   1.00   1.00   1.00   0.75   0.50   0.25   0.00 ] def
/btex [(1,00) (0,75) (0,50) (2,00) (1,00) (1,00) (1,00) (1,00)] def
/bnum [ 1.00   0.75   0.50   2.00   1.00   1.00   1.00   1.00 ] def

TBIM (a) show TBM ( = ) show atex ichart get show (; ) show
TBIM (b) show TBM ( = ) show btex ichart get show

0 1 1 {/n exch def %n=0,1
TM
/xp  0400 n 2600 mul add def
/yp  2500 def

xp 350 sub yp 100 sub moveto
(W) show
xp 2100 add yp 1100 sub moveto
(X) show
xp 300 sub yp 2100 sub moveto
(N) show


xp yp 2000 sub moveto 2000 1000 rlineto -2000 1000 rlineto closepath stroke
TM
xp 1000 add yp 0350 sub moveto (5 steps) showen 
                               (5 Stufen) showde
%xp 1000 add yp 1850 sub moveto (5 steps) showen
%                               (5 Stufen) showde
%xp 1300 sub yp 1200 sub moveto (5 steps) showen (5 Stufen) showde

/xpN xp def
/ypN yp 2000 sub def
/xpW xp def
/ypW yp def
/xpC xp 2000 add def
/ypC yp 1000 sub def

%n*
TK
n 0 eq {%n=0
xpN 1800 add ypN 0700 add moveto TIK (n*) show TK (=1) show
xpN 1400 add ypN 0500 add moveto TIK (n*) show TK (=0,75) show 
xpN 1000 add ypN 0300 add moveto TIK (n*) show TK (=0,50) show 
xpN 0600 add ypN 0100 add moveto TIK (n*) show TK (=0,25) show 
       } if %n=0
%axis
TM
xpW ypW moveto 0  300 rlineto stroke
xpW 30 sub ypW 300 add 50 sub moveto xpW ypW 300 add lineto
xpW 30 add ypW 300 add 50 sub lineto

xpN ypN moveto 2200 0 rlineto stroke
xpN 50 sub 2200 add ypN 30 add moveto xpN 2200 add ypN lineto
xpN 50 sub 2200 add ypN 30 sub lineto

xpW 300 sub ypW  200 add moveto TIM (t*) show
xpN 150 add ypN 1950 add moveto TK (1) show TM
xpN 075 sub ypN 2000 add moveto 150 0 rlineto stroke

xpN 1950 add ypN 150 add moveto TIM (c*) show
xpN 2000 add ypN 075 add moveto 0 -150 rlineto stroke
xpN 1950 add ypN 330 sub moveto TK (1) show TM

/n* 15 array def
/c* 15 array def
/t* 15 array def
/n*' 15 array def
/c*' 15 array def
/t*' 15 array def

/n* [ 0.00 0.00 0.00 0.00 0.00
      0.25 0.25 0.25 0.25
      0.50 0.50 0.50
      0.75 0.75
      1.00
     ] def

/c* [ 0.00 0.25 0.50 0.75 1.00
      0.00 0.25 0.50 0.75
      0.00 0.25 0.50
      0.00 0.25
      0.00
    ] def
    
%t = 1 - n* -0.5 c*

0 1 14 {/i exch def %i=0,14
        t* i 1 n* i get sub 0.5 c* i get mul sub put
       } for %i=0,14

0 1 14 {/i exch def %i=0,14
        c*' i anum ichart get c* i get mul 0.000001 add
              bnum ichart get exp put
       } for %i=0,14

newpath
/xm 2000 def
/ym ypN def
/ixf 2000 def
/iyf 2000 def

%n*=0, c*=0 to 1
0 1 4 {/i exch def %i=0,4
       /ix c* i get def
       /iy t* i get def
       xpN ix ixf mul add
       ypN iy iyf mul add 050 0 360 arc fill
       i 1 ge {/ix1 c* i 1 sub get def
               /iy1 t* i 1 sub get def
               /ix2 c* i get def
               /iy2 t* i get def
               xpN ix1 ixf mul add
               ypN iy1 iyf mul add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto stroke
              } if
      } for %i=0,4

%n*=0.25, c*=0 to 0.75
5 1 8 {/i exch def  %i=5,8
       /ix c* i get def
       /iy t* i get def
       xpN ix ixf mul add
       ypN iy iyf mul add 050 0 360 arc fill
       i 6 ge {/ix1 c* i 1 sub get def
               /iy1 t* i 1 sub get def
               /ix2 c* i get def
               /iy2 t* i get def
               xpN ix1 ixf mul add
               ypN iy1 iyf mul add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto stroke
              } if
      } for %i=5,8

%n*=0.50, c*=0 to 0.50
9 1 11 {/i exch def  %i=9,11
        /ix c* i get def
        /iy t* i get def
        xpN ix ixf mul add
        ypN iy iyf mul add 050 0 360 arc fill
        i 10 ge {/ix1 c* i 1 sub get def
                 /iy1 t* i 1 sub get def
                 /ix2 c* i get def
                 /iy2 t* i get def
                 xpN ix1 ixf mul add
                 ypN iy1 iyf mul add moveto
                 xpN ix2 ixf mul add
                 ypN iy2 iyf mul add lineto stroke
                } if
      } for %i=9,11
      
%n*=0.75, c*=0 to 0.25
12 1 13 {/i exch def  %i=12,13
         /ix c* i get def
         /iy t* i get def
         xpN ix ixf mul add
         ypN iy iyf mul add 050 0 360 arc fill
         i 13 ge {/ix1 c* i 1 sub get def
                  /iy1 t* i 1 sub get def
                  /ix2 c* i get def
                  /iy2 t* i get def
                  xpN ix1 ixf mul add
                  ypN iy1 iyf mul add moveto
                  xpN ix2 ixf mul add
                  ypN iy2 iyf mul add lineto stroke
                 } if
      } for %i=12,13
      
%n*=1.0, c*=0
/i 14 def
/ix c* i get def
/iy t* i get def
xpN ix ixf mul add
ypN iy iyf mul add 050 0 360 arc fill


n 1 eq ichart 3 le and {%n=1, ichart<=3 and

%t*' = (1-c*')/(1-c*) (t*-0,5) + 0,5 for i#4
%t*' = t* for i=4
0 1 14 {/i exch def %i=0,14
        i 4 ne {t*' i 1 c*' i get sub 
                      1 c*  i get sub div
                      t* i get 0.5 sub mul
                      0.5 add put}
               {t*' 4 t* 4 get put} ifelse
       } for %i=0,14

1 0 0 setrgbcolor
bnum ichart get 1 le {%bum<=1
        0 1 14 {/i exch def %i=0,14
                /ix c*' i get def
                /iy t*' i get def
                xpN ix ixf mul add
                ypN iy iyf mul add 090 0 360 arc stroke
               } for %i=0,14
        
        ichart 0 gt {%ichart>0, no arows for ichart=0
        1 1 3 {/i exch def %i=1 3
               /ix1 c* i get def
               /iy1 t* i get def
               /ix2 c*' i get def
               /iy2 t*' i get def
               xpN ix1 ixf mul add
               ypN iy1 iyf mul add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto stroke
               xpN ix2 ixf mul add 50 sub
               ypN iy2 iyf mul add 00 add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto
               xpN ix2 ixf mul add 40 sub
               ypN iy2 iyf mul add 40 add lineto stroke
              } for %i=1,3
              
        8 1 13 {/i exch def %i=8,13
                i 8 eq i 11 eq or i 13 eq or {%i=8 or 11 or 13
               /ix1 c* i get def
               /iy1 t* i get def
               /ix2 c*' i get def
               /iy2 t*' i get def
               xpN ix1 ixf mul add
               ypN iy1 iyf mul add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto stroke
               xpN ix2 ixf mul add 50 sub
               ypN iy2 iyf mul add 00 add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto
               xpN ix2 ixf mul add 40 sub
               ypN iy2 iyf mul add 40 sub lineto stroke
               } if %i=8 or 11 or 13
              } for %i=8,13
              
        /i 7 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 50 sub
        ypN iy2 iyf mul add 30 add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 50 sub
        ypN iy2 iyf mul add 30 sub lineto stroke
        
        /i 6 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 40 sub
        ypN iy2 iyf mul add 35 add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 50 sub
        ypN iy2 iyf mul add 20 sub lineto stroke
        
         /i 10 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 50 sub
        ypN iy2 iyf mul add 20 add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 40 sub
        ypN iy2 iyf mul add 35 sub lineto stroke
        } if %ichart>0, no arows for ichart=0
        } %bnum <=1
        { %bnum >1
        0 1 14 {/i exch def %i=0,14
                /ix c*' i get def
                /iy t*' i get def
                xpN ix ixf mul add
                ypN iy iyf mul add 090 0 360 arc stroke
               } for %i=0,14
        
        1 1 3 {/i exch def %i=1 3
               /ix1 c* i get def
               /iy1 t* i get def
               /ix2 c*' i get def
               /iy2 t*' i get def
               xpN ix1 ixf mul add
               ypN iy1 iyf mul add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto stroke
               xpN ix2 ixf mul add 50 add
               ypN iy2 iyf mul add 00 add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto
               xpN ix2 ixf mul add 40 add
               ypN iy2 iyf mul add 40 sub lineto stroke
              } for %i=1,3
              
        8 1 13 {/i exch def %i=8,13
                i 8 eq i 11 eq or i 13 eq or {%i=8 or 11 or 13
               /ix1 c* i get def
               /iy1 t* i get def
               /ix2 c*' i get def
               /iy2 t*' i get def
               xpN ix1 ixf mul add
               ypN iy1 iyf mul add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto stroke
               xpN ix2 ixf mul add 50 add
               ypN iy2 iyf mul add 00 add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto
               xpN ix2 ixf mul add 40 add
               ypN iy2 iyf mul add 40 add lineto stroke
               } if %i=8 or 11 or 13
              } for %i=8,13
              
        /i 7 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 30 add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 30 sub lineto stroke
        
        /i 6 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 40 add
        ypN iy2 iyf mul add 35 sub moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 20 add lineto stroke
        
         /i 10 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 20 sub moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 40 add
        ypN iy2 iyf mul add 35 add lineto stroke
        } ifelse %bnum <=1, >1

        0 0 0 setrgbcolor
       } if %n=1, ichart<=3 and
       
n 1 eq ichart 3 gt and {%n=1, ichart>3 and
        0 1 14 {/i exch def %i=0,14
                t*' i t* i get put
               } for %i=0,14
        1 0 0 setrgbcolor
        0 1 14 {/i exch def %i=0,14
                /ix c*' i get def
                /iy t*' i get def
                xpN ix ixf mul add
                ypN iy iyf mul add 090 0 360 arc stroke
               } for %i=0,14
               
        1 1 3 {/i exch def %i=1 3
               /ix1 c* i get def
               /iy1 t* i get def
               /ix2 c*' i get def
               /iy2 t*' i get def
               xpN ix1 ixf mul add
               ypN iy1 iyf mul add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto stroke
               xpN ix2 ixf mul add 50 add
               ypN iy2 iyf mul add 30 add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto
               xpN ix2 ixf mul add 50 add
               ypN iy2 iyf mul add 30 sub lineto stroke
              } for %i=1,3
              
        4 1 13 {/i exch def %i=8,14
                i 4 eq i 8 eq or i 11 eq or i 13 eq or {%i=4 or 8 or 11 or 13
               /ix1 c* i get def
               /iy1 t* i get def
               /ix2 c*' i get def
               /iy2 t*' i get def
               xpN ix1 ixf mul add
               ypN iy1 iyf mul add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto stroke
               xpN ix2 ixf mul add 50 add
               ypN iy2 iyf mul add 30 add moveto
               xpN ix2 ixf mul add
               ypN iy2 iyf mul add lineto
               xpN ix2 ixf mul add 50 add
               ypN iy2 iyf mul add 30 sub lineto stroke
               } if %i=8 or 11 or 13 0r 14
              } for %i=8,14
              
        /i 7 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 30 add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 30 sub lineto stroke
        
        /i 6 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 30 add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 30 sub lineto stroke
        
         /i 10 def
        /ix1 c* i get def
        /iy1 t* i get def
        /ix2 c*' i get def
        /iy2 t*' i get def
        xpN ix1 ixf mul add
        ypN iy1 iyf mul add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto stroke
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 30 add moveto
        xpN ix2 ixf mul add
        ypN iy2 iyf mul add lineto
        xpN ix2 ixf mul add 50 add
        ypN iy2 iyf mul add 30 sub lineto stroke
        
        0 0 0 setrgbcolor
       } if %n=1 ichart>3 and
        
} for %n=0,1

showpage
grestore

%} for %ichart=0,7

%%Trailer