%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/hgs5/hgs51-3N.EPS %%BoundingBox: 70 85 421 335 %START PDFDE011.EPS /pdfmark13 where {pop} {userdict /pdfmark13 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostSCTipt pictures: farbe.li.tu-berlin.de/hgs5/hgs5.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:2024110112000) /ModDate (D:20241101112000) /DOCINFO pdfmark13 [ /View [ /Fit ] /DOCVIEW pdfmark13 %END PDFDE011 /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TS {160 /Times-ISOL1 FS} bind def /TL {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 {160 /TimesI-ISOL1 FS} bind def /TIL {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 {160 /TimesB-ISOL1 FS} bind def /TBL {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 {160 /TimesBI-ISOL1 FS} bind def /TBIL {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 /SS {160 /Symbol FS} bind def /SL {200 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -80 rmoveto show 0 80 rmoveto} bind def /eGs {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ibGb {300 /TimesB-ISOL1 FS 0 -80 rmoveto show 0 80 rmoveto} bind def /ebGb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ipG {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /nMs {300 /Times-ISOL1 FS show TM} bind def /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def /eMs {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ibMs {250 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TM} bind def /ebMs {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ipM {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def %40% kleiner /nKs {250 /Times-ISOL1 FS show TK} bind def /kKs {250 /TimesI-ISOL1 FS show TK} bind def /bKs {250 /TimesB-ISOL1 FS show TK} bind def /jKs {250 /TimesBI-ISOL1 FS show TK} bind def /sKs {250 /Symbol FS show TK} bind def /iKs {200 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def /eKs {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ibKs {200 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TK} bind def /ebKs {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ipK {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def %60% kleiner /nLs {200 /Times-ISOL1 FS show TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -40 rmoveto show 0 40 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /jbLs {160 /TimesBI-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def %80% smaller /nSs {160 /Times-ISOL1 FS show TS} bind def /kSs {160 /TimesI-ISOL1 FS show TS} bind def /bSs {160 /TimesB-ISOL1 FS show TS} bind def /jSs {160 /TimesBI-ISOL1 FS show TS} bind def /sSs {160 /Symbol FS show TS} bind def /iSs {130 /Times-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def /eSs {130 /Times-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def /ibSs {130 /TimesB-ISOL1 FS 0 -30 rmoveto show 0 30 rmoveto TS} bind def /ebSs {130 /TimesB-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def /ipS {130 /Times-ISOL1 FS 20 20 rmoveto (\267) show 20 -20 rmoveto TS} bind def /jbSs {130 /TimesBI-ISOL1 FS 0 80 rmoveto show 0 -80 rmoveto TS} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth r g b {setrgbcolor rec fill} bind def /colrecst %x y width heigth r g b {setrgbcolor rec stroke} bind def /rem %x, y width heigth {/heigth exch 0.5 mul def /width exch 0.5 mul def /yleftb exch heigth 0.5 mul add def /xleftb exch width 0.5 mul add def xleftb yleftb moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colremfi %x y width heigth r g b {setrgbcolor rem fill} bind def /colremst %x y width heigth r g b {setrgbcolor rem stroke} bind def /tfr {1.0 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben /tfg {0.0 1.0 0.0 setrgbcolor} bind def /tfb {0.0 0.0 1.0 setrgbcolor} bind def /tfc {0.0 1.0 1.0 setrgbcolor} bind def /tfm {1.0 0.0 1.0 setrgbcolor} bind def /tfy {1.0 1.0 0.0 setrgbcolor} bind def /tfw {1.00 1.00 1.00 setrgbcolor} bind def %Graureihe /tfh {0.75 0.75 0.75 setrgbcolor} bind def /tfz {0.50 0.50 0.50 setrgbcolor} bind def /tfd {0.25 0.25 0.25 setrgbcolor} bind def /tfn {0.00 0.00 0.00 setrgbcolor} bind def %*************************************************** /proc_equaHAU {%BEG proc_equaHAU /x00t 0050 def %La /x0pt 0150 def %equations /x01t 0600 def %phi /x02t 1100 def %CT /x03t 1850 def %S0 /x04t 2600 def %S1 /x05t 3400 def %B0 /x06t 4000 def %B*LY /x07t 4800 def %LLt/sx /x08t 5450 def %(La/Lt)/dx /xt0e 5740 def /yt0t 3750 def %title /yt0e 3200 def %main equations /y00t 2000 def /ydel 0250 def /y00tp 2300 def %top lines /Haub_Laj 7 array def %300 default, index j=jchart=0,6 %j 0 1 2 3 4 5 6 jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if jLaj 2 eq {/Haub_Laj [1500 0300 0030 0003 00.3 0.03 0.003] def} if ifunc 1 ge {0 yt0t 250 add moveto 6000 0 rlineto stroke} if x00t yt0t moveto TBL (Relationship brightness ) showen (Beziehung Hellheit ) showde (B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs} {(YT) ibLs} ifelse 0 30 rmoveto ipu 1 le {%ipu=0 TBL ( and luminance ) showen ( und Leuchtdichte ) showde (L) jLs (T) ibLs }%ipu=0 {%ipu=1 TBL ( and viewing angle ) showen ( & Beobachtungswinkel ) showde SL (j) show } ifelse %ipu=1 TBL ( as function) showen ( als Funktion) showde x00t yt0t 250 sub moveto TBL (of tristimulus value ) showen (von Normfarbwert ) showde (Y) jLs (T) ibLs TBL ( for the adaptation luminance ) showen ( f\374r Adaptationsleuchtdichte ) showde (L) jLs (a) ibLs 20rm (=) bLs 20rm Haub_Laj jchartl get cvishow ( cd/m) bLs (2) ebLs 0 yt0t 250 sub 80 sub moveto 6000 0 rlineto stroke %/iout 1 def %iout 1 eq {%iout=1 x0pt yt0e moveto (B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) ibLs} {(YT) ibLs} ifelse 0 30 rmoveto (\050) bLs (L) jLs (T) ibLs (, ) bLs (L) jLs ifunc 1 le {(a) ibLs} {(r) ibLs} ifelse ifunc 2 eq {(, ) bLs (L) jLs (r) ibLs} if (, ) bLs SL (j) show (\051) bLs ( = ) bLs ifunc 2 eq {([) bLs} if %ifunc>=2 ifunc 0 eq ifunc 2 eq or {%ifunc=0,2 (C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs 20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs (B) jLs ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse (\050) bLs (L) jLs ifunc 0 eq {(a) ibLs}{(r) ibLs} ifelse (, ) bLs SL (j) show (\051) bLs } if %ifunc=0,2 ifunc 1 eq {%ifunc=1 (s) bLs (x) ibLs (\050) bLs SL (j) show (\051) bLs 20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs (d) jLs (xa) ibLs (\050) bLs (L) jLs (a) ibLs (, ) bLs SL (j) show (\051) bLs } if %ifunc=1 ifunc 2 eq {(]) bLs 20rm (B*) jLs -60 0 rmoveto (ra) ibLs} if ifunc 3 eq {%ifunc=3 (s) bLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs 20rm (L) jLs (T) ibLs -60 0 rmoveto (n) ebLs ( - ) bLs (d) jLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs } if %ifunc=3 ifunc 1 le {xt0e 1400 sub yt0e moveto TBL (brightness ) showen (Hellheit ) showde (B*) jLs -60 -30 rmoveto (LT) ibLs} {xt0e 1400 sub yt0e moveto TBL (brightness ) showen (Hellheit ) showde (B*) jLs -60 -30 rmoveto (YT) ibLs } ifelse xt0e yt0e moveto ([1]) bLs x0pt yt0e 300 sub moveto (B) jLs ifunc 1 le {(a) ibLs (\050) bLs (L) jLs (a) ibLs} {(r) ibLs (\050) bLs (L) jLs (r) ibLs} ifelse (, ) bLs SL (j) show (\051) bLs ( = ) bLs (C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs 20rm ([) bLs (S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs (S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs 20rm (L) jLs ifunc 1 le {(a) ibLs}{(r) ibLs} ifelse -60 0 rmoveto (n) ebLs (]) bLs ifunc 1 le {%ifunc<=1,>=2 xt0e 1950 sub yt0e 300 sub moveto (\050n=0,31\051) bLs } {%ifunc>=2 xt0e 2400 sub yt0e 300 sub moveto (\050n=0,31) bLs (, ) bLs (B*) jLs -60 -10 rmoveto (ra) ibLs 0 10 rmoveto (=) bLs (B*) jLs -60 -30 rmoveto (LT,r) ibLs 0 30 rmoveto 20rm (/) bLs (B*) jLs -60 -30 rmoveto (LT,a) ibLs 0 30 rmoveto (\051) bLs } ifelse %ifunc>=2 xt0e yt0e 300 sub moveto ([2]) bLs ifunc 0 eq {%ifunc=0 x0pt yt0e 600 sub moveto (L) jLs (Lt) ibLs (\050) bLs (L) jLs (a) ibLs (, ) bLs SL (j) show (\051) bLs ( = ) bLs ([) bLs (S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs (S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs 20rm (L) jLs (a) ibLs -60 0 rmoveto (n) ebLs (]) bLs 20rm (1/n) ebLs } if %ifunc=0 ifunc 2 eq {%ifunc=2 x0pt yt0e 600 sub moveto (L) jLs (Yt) ibLs (\050) bLs (L) jLs (a) ibLs (, ) bLs SL (j) show (\051) bLs ( = ) bLs ([) bLs (S) jLs (0) ibLs (\050) bLs SL(j) show (\051 + ) bLs (S) jLs (1) ibLs (\050) bLs SL(j) show (\051) bLs 20rm (L) jLs (r) ibLs -60 0 rmoveto (n) ebLs (]) bLs 20rm (1/n) ebLs %20rm (L) bLs (ra) iLs -80 0 rmoveto (n) ebLs 20rm (B*) jLs -60 -10 rmoveto (ra) iLs } if %ifunc=2 ifunc 1 eq {%ifunc=1 x0pt yt0e 600 sub moveto (s) jLs (x) ibLs (\050) bLs SL(j) show (\051) bLs ( = ) bLs (C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs ( [3]) bLs x0pt 1900 add yt0e 600 sub moveto (d) jLs (xa) ibLs (\050) bLs SL(j) show (\051) bLs ( = ) bLs (B) jLs (a) ibLs (\050) bLs (L) jLs (a) ibLs (, ) bLs SL (j) show (\051) bLs ( [4]) bLs } if ifunc 3 eq {%ifunc=3 x0pt yt0e 600 sub moveto (s) jLs (yra) ibLs (\050) bLs SL(j) show (\051) bLs (=) bLs (C) jLs (T) ibLs 20rm (\050) bLs SL (j) show (\051) bLs 20rm (B*) jLs -60 -10 rmoveto (ra) ibLs ( [3]) bLs x0pt 2000 add yt0e 600 sub moveto (d) jLs (yra) ibLs (\050) show SL(j) show (\051) bLs (=) bLs (B) jLs (r) ibLs (\050) bLs (L) jLs (r) ibLs (, ) bLs SL (j) show (\051) bLs 20rm (B*) jLs -60 -10 rmoveto (ra) ibLs ( [4]) bLs } if ifunc 0 eq ifunc 2 eq or {%ifunc=0,2 xt0e 1950 sub yt0e 600 sub moveto (\050) bLs TBL (t=black threshold) showen (t=Schwarzschwelle) showde (\051) bLs } if %ifunc=0,2 ifunc 1 eq ifunc 3 eq or {%ifunc=1,3 xt0e 1350 sub yt0e 600 sub moveto (\050) bLs TBL (s=scaling factor) showen (s=Skalierfaktor) showde (\051) bLs } if %ifunc=1,3 ifunc 0 eq ifunc 2 eq or {%ifunc=0,2 xt0e yt0e 600 sub moveto ([3]) bLs } if %ifunc=0,2 x00t y00tp moveto ifunc 1 le {(L) jLs (T) ibLs} {(Y) jLs (T) ibLs} ifelse x01t y00tp moveto SL (j) show x02t y00tp moveto (C) jLs (T) ibLs (\050) bLs SL (j) show (\051) bLs x03t y00tp moveto TBL (S) show (0) ibLs (\050) bLs SL (j) show (\051) bLs x04t y00tp moveto TBL (S) show (1) ibLs (\050) bLs SL (j) show (\051) bLs x05t 200 sub y00tp moveto ifunc 1 le {(B) jLs (a) ibLs (\050) bLs (L) jLs (a) ibLs (,) bLs SL (j) show (\051) bLs} {(B) jLs (r) ibLs (\050) bLs (L) jLs (r) ibLs (,) bLs SL (j) show (\051) bLs} ifelse x06t y00tp moveto (B*) jLs -60 -30 rmoveto ifunc 1 le {(LT) iLs} {(YT) iLs} ifelse 0 30 rmoveto x07t y00tp moveto ifunc 0 eq {(L) jLs (Lt) ibLs} if ifunc 1 eq {(s) bLs (x) ibLs (\050) bLs SL (j) show (\051) bLs} if ifunc 2 eq {(L) jLs (Yt) ibLs} if ifunc 3 eq {-100 0 rmoveto (s) bLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs} if x08t y00tp moveto ifunc 0 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if ifunc 1 eq {-050 0 rmoveto (d) bLs (xa) ibLs (\050) bLs SL (j) show (\051) bLs} if ifunc 2 eq {(L) jLs (a) ibLs (/) bLs (L) jLs (t) ibLs} if ifunc 3 eq {-100 0 rmoveto (d) bLs (yra) ibLs (\050) bLs SL (j) show (\051) bLs} if %} if %iout=1 } bind def %END proc_equaHAU %*************************************************** %old: proc_functab /proc_funcHAU1 {%BEG proc_funcHAU1 function Haubner 4 versions, ifunc-0 to 3 %from 'hnq5'Y10-3R_R.EPS, line 259:371 /Haubdatj 28 array def %phi, Cr(phi), S0(phi), S1(phi) %BEG Haubdati Table 1, 7x4 data %A Unified Relationship between Brightness an Luminance %P. Haubner, H.-W. Bodmann and A.W. Marsden %Siemens Forsch. u. Entwickl.Ber. Bd. 9 (1980), Nr. 6, p.315-318 /phk 7 array def %form above publication, i=ichart=6,0 10,20,..,120 /CTk 7 array def /S0k 7 array def /S1k 7 array def /Ltk 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis /phi 7 array def %form above publication, i=ichart=0,6 120,90,..,10 /CTi 7 array def /S0i 7 array def /S1i 7 array def /Lti 7 array def %t=black threshold, equ. (71), Haubner, PhD-thesis %Lti=[S0i + S1i*(La)^n]^(1/n) %Table 1 order of Haubner %/phk [010 020 030 060 090 100 120 ] def %/CTk [30.747 27.971 26.235 23.973 23.415 23.128 22.969 ] def %/S0k [0.27308 0.20132 0.17975 0.13133 0.10838 0.07473 0.07186] def %/S1k [0.39842 0.35557 0.31888 0.26578 0.25265 0.24943 0.24481] def %inverse Table 1 order of Haubner, used as default, index i=ichart=0,6 /phi [120 100 090 060 030 020 010 ] def /CTi [22.969 23.128 23.415 23.973 26.235 27.971 30.747 ] def /S0i [0.07186 0.07473 0.10868 0.13133 0.17975 0.20132 0.27308] def /S1i [0.24481 0.24943 0.25265 0.26578 0.31888 0.35557 0.39842] def /Haub_Laj 7 array def %300 default, index j=jchart=0,6 %j 0 1 2 3 4 5 6 jLaj 0 eq {/Haub_Laj [0300 1000 0200 0040 0008 01.6 0.32 ] def} if jLaj 1 eq {/Haub_Laj [1000 0200 0040 0008 01.6 0.32 0.064] def} if jLaj 2 eq {/Haub_Laj [3000 0300 0030 0003 00.3 0.03 0.003] def} if /Haub_n 0.31 def %fix /Haub_1Mn 1 0.31 div def %=3.2268 (1Mn=1-Minus-n) /Haub_B0ij 49 array def %=7x7 options for ichart=0,6 and jchart=0,6 /Haub_Ltij 49 array def %t=black threshold /Haub_B*ij 49 array def %brightness - Hellheit /Laj Haub_Laj jchart get def %a=7 Adaptations white La=300, 1000, ..0.32 /Lajen Laj Haub_n exp def /Lr 300 def %r=reference=La0 /Lren Lr Haub_n exp def %e=exponent /Lrdaj Lr Laj div def /Lrdajen Lrdaj Haub_n exp def /Lajdr Laj Lr div def /Lajdren Lajdr Haub_n exp def /LTj Laj def %0.01Laj < Haub_Laj < 10Laj %or 0,16 <= Haub_Laj <= 5000 cd/m^2 /LTjen LTj Haub_n exp def /LTjdaj LTj Laj div def /LTjdajen LTjdaj Haub_n exp def /Lu Lr 0.18 mul def /Luen Lu Haub_n exp def %B0(Lr ,p)= CTi(p) [S0i(p) + S1i(p) * Lr^n ] %B0(Laj,p)= CTi(p) [S0i(p) + S1i(p) * Laj^n] %B0(Lr,p)/B0(Laj,p)=[S0i(p) + S1i(p) * Lr^n] /[S0i(p) + S1i(p) * Laj^n] %B0(Laj,p)/B0(Lr,p)=[S0i(p) + S1i(p) * Laj^n]/[S0i(p) + S1i(p) * Lr^n ] % %only for phi=120 mit fix constants CTi, S0i & S1i and i=0 /CTLr CTi 0 get def %Lr =reference white 300 cd/m^2 /CTLaj CTi 0 get def %Laj=diffuse white 300,1000,200,40,8 cd/m^2 /B0Lr S0i 0 get S1i 0 get Lren mul add CTi 0 get mul def /B0Laj S0i 0 get S1i 0 get Lajen mul add CTi 0 get mul def %B0LrdLaj=(S0i 0 get S1i 0 get Lren mul add) % /(S0i 0 get S1i 0 get Lajen mul add) /B0LrdLaj B0Lr B0Laj div def /B0LajdLr B0Laj B0Lr div def /B*B0Lr CTi 0 get Lren mul B0Lr sub def %=100 for Lr =300 /B*B0Laj CTi 0 get Lajen mul B0Laj sub def %=145 for Laj=1000 (example) /B*B0LrdLaj B*B0Lr B*B0Laj div def /B*facx B*B0Lr B*B0Laj div def %=100/145 for Lr=300 and Laj=1000 /B*B0Lx CTi 0 get Lajen mul B0Laj sub def %=145 /B*B0Lx CTi 0 get Lajen mul B0Laj sub B*facx mul def %=100 for any Lx /B0ij 49 array def /Brij 49 array def /B*ij 49 array def %original /B*Lij 49 array def %includes La,phi (only) /B*Yij 49 array def %includes La,phi and Lr=300 (r=reference) /Ltij 49 array def /Ytij 49 array def /CTij 49 array def /sxij 49 array def /dxij 49 array def /syij 49 array def /dyij 49 array def /B*LTui 7 array def /B*YTui 7 array def /LTui 7 array def /YTui 7 array def 0 1 6 {/j exch def %j=0,6 0 1 6 {/i exch def %i=0,6 /k i 6 mul j add def %This is for original Haubner for La=300 normalized to B*Lij=B0ij=100 %B0(La,p) = Cri(p) [S0i(p) + S1i(p) * La^n] B0ij k S0i i get S1i i get Lajen mul add CTi i get mul put Brij k S0i i get S1i i get Lren mul add CTi i get mul put sxij k CTi i get put dxij k B0ij k get put syij k CTi i get B*B0LrdLaj mul put dyij k B0ij k get B*B0LrdLaj mul put Ltij k S0i i get S1i i get Lajen mul add Haub_1Mn exp put Ytij k Ltij k get B*B0LrdLaj mul put ifunc 0 eq {B*Lij k CTi i get LTjen mul B0ij k get sub put %B*Yij k CTi i get LTjen mul Brij k get sub put } if ifunc 1 eq {B*Lij k sxij k get LTjen mul dxij k get sub put %B*Yij k CTi i get LTjen mul Brij k get sub put } if ifunc 2 eq {%B*Lij k CTi i get LTjen mul B0ij k get sub put B*Yij k CTi i get LTjen mul Brij k get sub B*B0LrdLaj mul put } if ifunc 3 eq {%B*Lij k syij k get LTjen mul dyij k get sub put B*Yij k CTi i get LTjen mul Brij k get sub B*B0LrdLaj mul put } if CTij k Laj Ltij k get div put } for %i=0,6 } for %j=0,6 %STOPA /Haub_n 0.31 def /Haub_1Mn 1 0.31 div def %for phi 0 get=120'(i=0), B0ij 0 get=34,60 (i=0,j=0), %CTi 0 get (i=0), S0i 0 get (i=0), S1i 0 get (i=0), n=0,31 /phu phi 0 get def %i=0 /CTu CTi 0 get def %i=0 /S0u S0i 0 get def %i=0 /S1u S1i 0 get def %i=0 %/k i 6 mul j add def %phi i=0,1,..,6, Haub_Laj j=0,1,2,3 %STOPB %larger loop ifunc 1 le {%ifunc<=1,>1 ifunc 0 eq {/B0u B0ij 0 get def} if %i=0,j=0,k=6*i+j=0 phi=120', La=0300 ifunc 1 eq {/B0u B0ij 1 get def} if %i=0,j=1,k=6*i+j=1 phi=120', La=1000 ifunc 2 eq {/B0u B0ij 2 get def} if %i=0,j=2,k=6*i+j=2 phi=120', La=0200 ifunc 3 eq {/B0u B0ij 3 get def} if %i=0,j=3,k=6*i+j=3 phi=120', La=0040 %ifunc 0 eq {B*Lij k CTi i get LTjen mul B0ij k get sub put} if %ifunc 1 eq {B*Lij k sxij k get LTjen mul dxij k get sub put} if %ifunc 2 eq {B*Yij k CTi i get LTjen mul B0ij k get sub % Lrdajen mul put} if %ifunc 3 eq {B*Yij k syij k get LTjen mul dyij k get sub put} if %B*Lu=CTu*(LTu)**n-B0u=B*Laj/3. (150->50=150/3) %LTu**n=(B*Lu+B0u)/CTu %LTu =[(B*Lu+B0u)/CTu]**(1/n) %LTu =[(B*Laj/3+B0u)/CTu]**(1/n) %B*Laj=300, 1000, 200, 40 %YTu =LTu/Laj %example B*Lu=50 %/B*Lu 50 def %/LTu B*Lu B0u add CTu div Haub_1Mn exp def %/YTu LTu Laj div 100 mul def %example for B*La=145 (for Laj=1000) /CTp CTi 0 get def /B0p B0Laj def /B*Lp B*B0Laj def %= 145 (p=peak white) /LTp B*Lp B0p add CTp div Haub_1Mn exp def /YTp LTp Laj div 100 mul def /B*del B*Lp 4 div def 0 1 5 {/i exch def %i=0,5 B*LTui i B*Lp B*del 2 mul add i B*del mul sub put B*YTui i B*LTui i get B*B0LrdLaj mul put LTui i B*LTui i get B0u add CTu div Haub_1Mn exp put YTui i LTui i get B*B0LrdLaj mul put } for %i=0,5 B*LTui 6 B*LTui 4 get put B*YTui 6 B*LTui 4 get put LTui 6 LTui 4 get put YTui 6 YTui 4 get put %STOP1X }%ifunc<=1 {%ifunc=2,3 %B*Yu=[CTu*(LTu)**n-B0u]*Lrda**n %B*Yu/Lrda**n=CTu*(LTu)**n-B0u %LTu**n=[B*Yu/Lrda**n + B0u]/CTu %LTu ={[B*Yu/Lrda**n + B0u]/CTu}**(1/n) %LTu ={[50 /Lrda**n + B0u]/CTu}**(1/n) %YTu =LTu/Laj %for B*Yu=50: ifunc 0 eq {/Lrdaen Lr Haub_Laj 0 get div Haub_n exp def} if ifunc 1 eq {/Lrdaen Lr Haub_Laj 1 get div Haub_n exp def} if ifunc 2 eq {/Lrdaen Lr Haub_Laj 2 get div Haub_n exp def} if ifunc 3 eq {/Lrdaen Lr Haub_Laj 3 get div Haub_n exp def} if %exmple for 50: %/B*Yu 50 def %/YTu 50 Lrdaen div B0u add CTu div Haub_1Mn exp def %example for B*La=145 (for Laj=1000) /CTp CTi 0 get def /B0p B0Laj def /B*Lp B*B0Laj def %= 145 (p=peak white) /LTp B*Lp B0p add CTp div Haub_1Mn exp def /YTp LTp Laj div 100 mul def /B*del B*Lp 4 div def 0 1 5 {/i exch def %i=0,5 B*LTui i B*Lp B*del 2 mul add i B*del mul sub put B*YTui i B*LTui i get B*B0LrdLaj mul put LTui i B*LTui i get B0u add CTu div Haub_1Mn exp put YTui i LTui i get B*B0LrdLaj mul put } for %i=0,5 B*LTui 6 B*LTui 4 get put B*YTui 6 B*LTui 4 get put LTui 6 LTui 4 get put YTui 6 YTui 4 get put } ifelse %ifunc=2,3 ipu 0 eq {%ipu=0 /j jchart def 0 1 7 {/i exch def %i=0,7 /k i 6 mul j add def /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def x00t y00ti moveto Haub_Laj j get cvishow i 6 le {%i<=6,7 x01t y00ti moveto phi i get cvishow (') show x02t y00ti moveto CTi i get cvsshow3x x03t y00ti moveto S0i i get cvsshow4x x04t y00ti moveto S1i i get cvsshow4x x05t y00ti moveto ifunc 1 le {B0ij i get cvsshow2x} {Brij i get cvsshow2x} ifelse }%i<=6 {%i=7 x01t y00ti moveto phi 0 get cvishow (') show x02t y00ti moveto CTi 0 get cvsshow3x x03t y00ti moveto S0i 0 get cvsshow4x x04t y00ti moveto S1i 0 get cvsshow4x x05t y00ti moveto ifunc 1 le {B0ij 0 get cvsshow2x} {Brij 0 get cvsshow2x} ifelse } ifelse %i<=6,7 i 7 eq {/k jchart def} if x06t y00ti moveto ifunc 1 le {B*Lij k get cvsshow2x} {B*Yij k get cvsshow2x} ifelse x07t y00ti moveto ifunc 0 eq {Ltij k get cvsshow2x} if ifunc 1 eq {sxij k get cvsshow2x} if ifunc 2 eq {Ytij k get cvsshow2x} if ifunc 3 eq {syij k get cvsshow2x} if x08t y00ti moveto ifunc 0 eq {CTij k get cvsshow2x} if ifunc 1 eq {dxij k get cvsshow2x} if ifunc 2 eq {CTij k get cvsshow2x} if ifunc 3 eq {dyij k get cvsshow2x} if } for %i=0,7 } if %ipu=0 ipu 1 eq {%ipu=1 /j jchart def 0 1 7 {/i exch def %i=0,7 /k i 6 mul j add def /y00ti y00t i i 7 eq {0.3 add} if ydel mul sub def i 5 le {%i<=5 x00t y00ti moveto ifunc 1 le {LTui i get cvishow} {YTui i get cvishow} ifelse } if %i<=5 i 6 eq {%i=6 x00t y00ti moveto ifunc 2 le {Ltij 0 get cvsshow2x} {Ytij 0 get cvsshow2x} ifelse } if %i=6 i 7 eq {%i=7 x00t y00ti moveto ifunc 1 le {LTui 4 get cvishow} {YTui 4 get cvishow} ifelse } if %i<=7 x01t y00ti moveto phi 0 get cvishow (') show x02t y00ti moveto CTi 0 get cvsshow3x x03t y00ti moveto S0i 0 get cvsshow4x x04t y00ti moveto S1i 0 get cvsshow4x x05t y00ti moveto ifunc 1 le {B0ij i get cvsshow2x} {Brij i get cvsshow2x} ifelse x06t y00ti moveto i 5 le {%i<=5 ifunc 1 le {B*LTui i get cvsshow2x} {B*YTui i get cvsshow2x} ifelse } if %i<=5 i 6 eq {0 cvsshow2x} if i 7 eq {%i=7 ifunc 1 le {B*LTui 4 get cvsshow2x} {B*YTui 4 get cvsshow2x} ifelse } if %i=7 x07t y00ti moveto ifunc 0 eq {Ltij 0 get cvsshow2x} if ifunc 1 eq {sxij 0 get cvsshow2x} if ifunc 2 eq {Ytij 0 get cvsshow2x} if ifunc 3 eq {syij 0 get cvsshow2x} if x08t y00ti moveto ifunc 0 eq {CTij 0 get cvsshow2x} if ifunc 1 eq {dxij 0 get cvsshow2x} if ifunc 2 eq {CTij 0 get cvsshow2x} if ifunc 3 eq {dyij 0 get cvsshow2x} if } for %i=0,7 } if %ipu=1 %calculation and output for B*Lu=0.5 B*La and B*Yu = 50 /ioute 0 def %ioute 1 eq {%ioute=1 %output for B*Yu = 50 %for u: i=0, j=0,1,2,3 %/j 0 def % /y00ti y00t 6.3 ydel mul sub def % x00t y00ti moveto % ifunc 0 eq {LTu 0 get cvsshow1x} if % ifunc 1 eq {LTu 0 get cvsshow1x} if % ifunc 2 eq {YTu 0 get cvsshow1x} if % ifunc 3 eq {YTu 0 get cvsshow1x} if % x01t y00ti moveto % phu cvishow (') show % x02t y00ti moveto % CTu cvsshow3x % x03t y00ti moveto % S0u cvsshow4x % x04t y00ti moveto % S1u cvsshow4x % x05t y00ti moveto % B0u cvsshow2x % x06t y00ti moveto % ifunc 0 eq {B*LTui 0 get cvsshow2x} if % ifunc 1 eq {B*LTui 0 get cvsshow2x} if % ifunc 2 eq {B*YTui 0 get cvsshow2x} if % ifunc 3 eq {B*YTui 0 get cvsshow2x} if % x07t y00ti moveto % ifunc 0 eq {LTui 0 get cvsshow2x} if %% ifunc 1 eq {sxu cvsshow2x} if % ifunc 2 eq {YTui 0 get cvsshow2x} if %% ifunc 3 eq {syu cvsshow2x} if % x08t y00ti moveto % ifunc 0 eq {CTu cvsshow2x} if %% ifunc 1 eq {dxu cvsshow2x} if % ifunc 2 eq {CTu cvsshow2x} if %% ifunc 3 eq {dyu cvsshow2x} if %} if %ioute=1 } bind def %END proc_funcHAU function Haubner 7x7 versions, ifunc-0 to 3 %*************************************************** %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (F) (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 /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def /Fxx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def /Fxx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def /Fxx (d) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def /Fxx (e) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def /Fxx (-) def} if %always independent of intended output 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END /cvishow0 {cvi 6 string cvs show} def 72 90 translate 0.010 MM dup scale /xbtex0 1 def %xbtex=0 for files Y1(0/1)-(3/7)n.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 08550 def /xmax1 12250 def 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto (hgs50-3R_R) show } if %xbtex0=1 /ipu 0 def %0:phi change 120'>=10', 1:La change 1000, 200, 40, 8 example /xpos [00100 06150 00100 06150] def /ypos [04480 04480 00220 00220] def /x00t 0400 def %xpos for BEG equations /x01t 1900 def %xpos for shift equations /x00e 5250 def %xpos for Num equations /jLaj 1 def %0:300,1000,200,40 %1:1000,200,40,8 %2:3000,300,30,3 /jchartl 2 def %0 1 3 {/jchartl exch def %jchartl=0,3 jchartl 0 eq {/jchart 0 def} if %0300 cd/m^2 jchartl 1 eq {/jchart 1 def} if %1000 cd/m^2 jchartl 2 eq {/jchart 2 def} if %0200 cd/m^2 jchartl 3 eq {/jchart 3 def} if %0040 cd/m^2 /xchartl 2 def %0 1 3 {/xchartl exch def %xchartl=0,3 /ifuncl 0 def 0 1 3 {/ifuncl exch def %ifuncl=0,3 gsave /ifunc ifuncl def ifunc 0 eq {/kchartl 0 def /pchartl 0 def} if %0,0:left top page ifunc 1 eq {/kchartl 1 def /pchartl 0 def} if %1,0:right top page ifunc 2 eq {/kchartl 0 def /pchartl 4 def} if %0,4:left down page ifunc 3 eq {/kchartl 1 def /pchartl 4 def} if %1,4:right down page 20 setlinewidth xpos ifuncl get ypos ifuncl get translate 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto (hgs5) show 0 xchartl 2 ge {1 add} if cvishow0 (-) show ifuncl 1 add xchartl 1 eq xchartl 3 eq or {4 add} if cvishow0 (a) show %a /xwidth 6000 def /ywidth 4000 def 25 setlinewidth 1 1 1 setrgbcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill %0 setlinewidth %0 0 moveto xwidth 0 rlineto 0 ywidth rlineto % xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke %BEG ifunc=0,1,2,3 ******************************************** proc_equaHAU proc_funcHAU1 TK 0 setgray 150 /Times-ISOL1 FS 1000 -140 moveto (j=) nSs jchart cvishow (, ) nSs (L) jSs (r) iSs (=) nSs Lr cvishow (, ) nSs (L) jSs (aj) iSs (=) nSs Laj cvishow (, ) nSs %(n) jSs (=0,31, ) nSs SS (j) show (=) nSs phi 0 get cvishow (', ) show ifunc 0 eq {(B) jSs (a) iSs (=) nSs B0ij jchart get cvsshow2x (, ) nSs (B*) jSs -60 -30 rmoveto (LT) iSs 0 30 rmoveto (=) nSs B*Lij jchart get cvsshow2x } if ifunc 1 eq {(B) jSs (a) iSs (=) nSs B0ij jchart get cvsshow2x (, ) nSs (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs B*Lij jchart get cvsshow2x (, ) nSs (s) jSs (x) iSs (=) nSs sxij jchart get cvsshow2x (, ) nSs (d) jSs (xa) iSs (=) nSs dxij jchart get cvsshow2x } if ifunc 2 eq {(B) jSs (r) iSs (=) nSs Brij jchart get cvsshow2x (, ) nSs (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs B*Yij jchart get cvsshow2x } if ifunc 3 eq {(B) jSs (r) iSs (=) nSs Brij jchart get cvsshow2x (, ) nSs (B*) jSs -60 -30 rmoveto (YT) iSs 0 30 rmoveto (=) nSs B*Yij jchart get cvsshow2x (, ) nSs (s) jSs (yra) iSs (=) nSs syij jchart get cvsshow2x (, ) nSs (d) jSs (yra) iSs (=) nSs dyij jchart get cvsshow2x } if xpos ifuncl get neg ypos ifuncl get neg translate grestore } for %ifuncl=0,3 %} for %xchartl=0,3 %} for %jchartl=0,3 showpage grestore %%Trailer