%!PS-Adobe-3.0 EPSF-3.0 ggv80-3n.EPS %%BoundingBox: 70 82 415 320 %START PDFDE011.EPS /pdfmark03 where {pop} {userdict /pdfmark03 /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/ggv8/ggv8.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:2024080112200) /ModDate (D:20240801112200) /DOCINFO pdfmark03 [ /View [ /Fit ] /DOCVIEW pdfmark03 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string} bind def /A4querL {598 0 translate 90 rotate} 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 /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 %*********************************************************** /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 /RW {120 /Times-Roman FS} bind def /RV {150 /Times-Roman FS} bind def /RL {200 /Times-Roman FS} bind def /RIW {120 /Times-Italic FS} bind def /RIV {150 /Times-Italic FS} bind def /RIL {200 /Times-Italic FS} bind def /RBW {120 /Times-Bold FS} bind def /RBV {150 /Times-Bold FS} bind def /RBL {200 /Times-Bold FS} bind def /RBIW {120 /Times-BoldItalic FS} bind def /RBIV {150 /Times-BoldItalic FS} bind def /RBIL {200 /Times-BoldItalic FS} bind def /TW {120 /Times-ISOL1 FS} bind def /TV {150 /Times-ISOL1 FS} bind def /TL {200 /Times-ISOL1 FS} bind def /TIW {120 /TimesI-ISOL1 FS} bind def /TIV {150 /TimesI-ISOL1 FS} bind def /TIL {200 /TimesI-ISOL1 FS} bind def /TBW {120 /TimesB-ISOL1 FS} bind def /TBV {150 /TimesB-ISOL1 FS} bind def /TBL {200 /TimesB-ISOL1 FS} bind def /TBIW {120 /TimesBI-ISOL1 FS} bind def /TBIV {150 /TimesBI-ISOL1 FS} bind def /TBIL {200 /TimesBI-ISOL1 FS} bind def /SW {120 /Symbol FS} bind def /SV {150 /Symbol FS} bind def /SL {200 /Symbol FS} bind def /ishowRV {RW -00 -30 rmoveto show 00 30 rmoveto RV} def /jshowRV {RBW -00 -30 rmoveto show 00 30 rmoveto RBV} def /ishowTV {TW -00 -30 rmoveto show 00 30 rmoveto TV} def /jshowTV {TBW -00 -30 rmoveto show 00 30 rmoveto TBV} def /ishowRL {RV -00 -30 rmoveto show 00 30 rmoveto RL} def /jshowRL {RBV -00 -30 rmoveto show 00 30 rmoveto RBL} def /ishowTL {TV -00 -30 rmoveto show 00 30 rmoveto TL} def /jshowTL {TBV -00 -30 rmoveto show 00 30 rmoveto TBL} def /cvishow {cvi 6 string cvs show} def /cvsshow0 {10 mul 0.5 add cvi 0.1 mul 10 string cvs show} def /cvsshow1 {10 mul 0.5 add cvi 0.1 mul %new980310 dup 0 ge {( ) show} if dup abs 10 lt {( ) show} if 10 string cvs show} def /cvsshow2 {100 mul 0.5 add cvi 0.01 mul %new980310 dup 0 ge {( ) show} if dup abs 10 lt {( ) show} if 10 string cvs show} def /cvsshow3 {1000 mul 0.5 add cvi 0.001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 10 mul cvi /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 100 mul cvi /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 1000 mul cvi /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 %%EndProlog gsave /lanind 1 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 /showfr {2 lanind eq {show} {pop} ifelse} bind def /showes {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 /showm {6 lanind eq {show} {pop} ifelse} bind def %default values /lanind1 0 def /lanind2 0 def /lanindd 01 def /lanindm 01 def /colorm1 00 def /colorm2 00 def /colormd 01 def /colormm 01 def /deintp1 00 def /deintp2 00 def /deintpd 01 def /deintpm 01 def /xcolor1 03 def /xcolor2 03 def /xcolord 01 def /xcolorm 01 def /xchart1 00 def /xchart2 00 def /xchartd 01 def /xchartm 01 def /pchart1 00 def /pchart2 02 def /pchartd 01 def /pchartm 01 def /colsep1 00 def /colsep2 00 def /colsepd 01 def /colsepm 01 def /pmetam1 00 def /pmetam2 00 def /pmetamd 01 def /pmetamm 01 def /xchart3 00 def /xchart4 00 def /xchart5 00 def %usual change of default values /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def /lanindm lanindmf def} if /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def /colormm colormmf def} if /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def /deintpm deintpmf def} if /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def /xcolorm xcolormf def} if /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchartmf def} if /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def /pchartm pchartmf def} if /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def /colsepm colsepmf def} if /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def /pmetamm pmetammf def} if /xchart3f where {pop /xchart3 xchart3f def} if /xchart4f where {pop /xchart4 xchart4f def} if /xchart5f where {pop /xchart5 xchart5f def} if /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 /gammaFi 21 array def /gammaFi %rel. gamma according to ISO 9241-306:2018 %0/8 1/9 2/10 3/11 4/12 5/13 6/14 7/15 [0.475 0.550 0.625 0.700 0.775 0.849 0.924 1.000 1.000 1.081 1.176 1.290 1.428 1.600 1.818 2.105 %additional gammaFi 16 17 18 19 20 2.000 0.500 1.500 0.666 1.000] def /xchartl xchart def /ilin 0 def %0:without 1:with linearisation /ireal 1 def %0:real=red, %1:real=blue /k0 0 def %k0= 0:start, 1:real, 2:inverse, 3:linearized /k2 0 def %k3= 0:start, 1:real, 2:inverse, 3:linearized /kinv 0 def %kinv=1: then calulation and plot, only if k2=1 72 90 translate 0.020 MM dup scale %attention different scale 20 setlinewidth 0 setgray RW 100 -110 moveto (ggv80-3n) show 1 setgray 0 0 moveto 6000 0 rlineto 0 4000 rlineto %relatives Bildfeld 60 x 40mm -6000 0 rlineto closepath fill 0 setgray 0 0 moveto 6000 0 rlineto 0 4000 rlineto %relatives Bildfeld 60 x 40mm -6000 0 rlineto closepath stroke 0 setgray 1600 0400 translate %Nullpunkt Zeichnung -800 0 moveto 4800 0 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TV 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -300 -300 moveto (N 0,0) show 700 -300 moveto (0,25) show 1500 -300 moveto (0,50) show 2300 -300 moveto (0,75) show 3100 -300 moveto (1,00 W) show -800 0 translate %BEG cero transfer 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -530 -60 moveto (N 0,00) show -350 740 moveto (0,25) show -350 1540 moveto (0,50) show -350 2340 moveto (0,75) show -530 3140 moveto (W 1,00) show -750 2900 moveto TBIL (w*') show (output) jshowTL -750 2700 moveto TBIL (w'*) show (output) jshowTL 800 0 translate %END cero transfer 1500 150 moveto TBIL (w*) show (input) jshowTL TBL ( = ) show TBIL (rgb*) show TBW ( (= 0, 0,125, 0,250,..,0,875, 1)) show /xpol -700 def /ypol 2400 def /xpor 2300 def /ypor 0550 def /xptr 3050 def /yptr 2600 def /xpar xptr 550 add def /ypar yptr 040 sub def /ydr 200 def k0 1 k2 {/k exch def %k=k0,k2 0 setgray TW k 0 eq {/indexFi 07 def 0 0 0 setrgbcolor %0 %start /xshift -550 def [ ] 0 setdash} if %1 k 1 eq {/indexFi 16 def 1 0 0 setrgbcolor %2 %real /xshift 080 def [100] 0 setdash} if %3 k 2 eq {/indexFi 17 def 0 0 1 setrgbcolor %4 %inverse /xshift -550 def [ ] 0 setdash} if %5 /gamma gammaFi indexFi get def 0 1 8 {/i exch def /xw i 8 div def /yw xw gamma exp def xw 3200 mul yw 3200 mul i 0 eq { moveto} {lineto} ifelse } for stroke %i 0 1 8 {/i exch def /xw i 8 div def /yw xw gamma exp def xw 3200 mul yw 3200 mul 50 0 360 arc fill } for %i 0 1 4 {/i exch def /xw i 4 div def /yw xw gamma exp def xw 3200 mul xshift add k 0 eq i 0 eq and {050 add} if k 0 eq i 1 eq and {250 add} if k 0 eq i 2 eq and {250 add} if k 0 eq i 3 eq and {250 add} if k 0 eq i 4 eq and {400 add} if yw 3200 mul 50 sub k 0 eq i 0 eq and {100 sub} if k 0 eq i 1 eq and {150 sub} if k 0 eq i 2 eq and {150 sub} if k 0 eq i 3 eq and {150 sub} if k 0 eq i 4 eq and {130 add} if k 1 eq i 0 eq and {100 sub} if k 2 eq i 0 eq and {100 add} if moveto xw cvsshow2x (, ) show yw cvsshow2x } for %i k 0 eq ilin 1 eq and {%k=0, ilin=1 /gamma gammaFi indexFi get def [100] 0 setdash 0 0.9 0 setrgbcolor 0 1 8 {/i exch def /xw i 8 div def /yw xw gamma exp def xw 3200 mul yw 3200 mul i 0 eq { moveto} {lineto} ifelse } for stroke TBV xptr yptr ydr 3 mul sub moveto 500 0 rlineto stroke xpar ypar ydr 3 mul sub moveto (linearized) showen (linearisiert) showde 0 0 0 setrgbcolor } if %k=0, ilin=1 k 0 eq {%k=0 0 0 0 setrgbcolor xpol ypol 300 sub moveto TBIL (w'*) show (output) jshowTL TBL ( = [) show TBIL (w*) show (input) jshowTL TBL (] ) show 0 60 rmoveto TBW 1 cvsshow3x 0 -60 rmoveto TBL xpol ypol 600 sub moveto TBL (= ) show TBIL (w*') show (output) jshowTL [ ] 0 setdash TBV xpar 300 sub ypar ydr 1 mul add moveto (output) showen (Ausgabe) showde TBV xptr yptr ydr 0 mul sub moveto 500 0 rlineto stroke xpar ypar ydr 0 mul sub moveto (start) showen (Start) showde } if %k=0 k 1 eq {%k=1 1 0 0 setrgbcolor xpor ypor moveto TBIL (w*') show (output) jshowTL TBL ( = [) show TBIL (w*) show (input) jshowTL TBL (] ) show 0 60 rmoveto TBW gamma cvsshow3x 0 -60 rmoveto TBL [ ] 0 setdash TBV ireal 1 eq {0 0 1 setrgbcolor} if xptr yptr ydr 1 mul sub moveto 500 0 rlineto stroke xpar ypar ydr 1 mul sub moveto (real) show } if %k=1 k 2 eq {%k=2 0 0 1 setrgbcolor xpol ypol moveto TBIL (w'*) show (output) jshowTL TBL ( = [) show TBIL (w*) show (input) jshowTL TBL (] ) show 0 60 rmoveto TBW gamma cvsshow3x 0 -60 rmoveto TBL TBV [100] 0 setdash ireal 1 eq {1 0 0 setrgbcolor} if xptr yptr ydr 2 mul sub moveto 500 0 rlineto stroke xpar ypar ydr 2 mul sub moveto (inverse) showen (invers) showde } if %k=2 } for %k=%k=k0,k3 0 setgray -1550 3430 moveto TBL (Colour management for output linearization ) showen (of a 9 step grey scale) showen (Farbmanagement Ausgabelinearisierung ) showde (einer 9stufigen Grauskala) showde (Para salida linealizada de los 9 pasos de gris de ) showes (Pour la linearized output de la 9 palier de gris in ) showfr (Per l'uscita linearizzada dei 9 passaggi di gridio nella ) showit (For linearized utgang av 9 gra tinnene i ) showjp 0 0 1 setrgbcolor xpol 3250 moveto RBIV ('* (Strich-Stern)-Koordinaten um die) showde ('* (dash-star) coordinates to reach) showen ('* (dash-star) coordenadas para illegar a la) showes ('* (dash-star) coordonne pour atteindre la) showfr ('* (dash-stelle) coordinates per raggiungere) showit ('* (dash-sterners) koordinater for linearized) showjp xpol 3050 moveto RBIV (linearisierte Ausgabe mit realer Display-) showde TBIV (the linearized output with the real) showen (salida linealizada con la pandala real) showes (sortie linearized output avec reflet) showfr (l'uscita linearizzato con il display) showit (linearized utgang med ekte vise refleksjon) showjp xpol 2850 moveto TBIV (Reflexion im B\374roraum zu erreichen;) showde (display reflection in office room;) showen (reflexi\363n en la sala de la oficina;) showes (r\351el dans la chambre bureau;) showfr (reale riflesso in ufficio;) showit RBIV (refleksjon i office-rommet;) showjp xpol 2650 moveto TBIV (hellere (positive P) Ausgabe) showde (lighter (positiv P) output) showen (salida (positiv P) encendedor) showes (plus claire sortie (positiv P)) showfr (uscita (positiv P) accendisigari) showit (lettere (positiv P) utgang) showjp 0 0 1 setrgbcolor /xpor 2300 def xpor 1400 moveto RBIV (*' (Stern-Strich)-Koordinaten) showde (*' (star-dash) coordinates) showen (*' (star-dash) coordenadas) showes (*' (star-dash)) showfr TBIV ( coordonn\351es) showfr RBIV (*' (stelle-dash) coordinate) showit (*' (sterners-dash) koordinatene) showjp xpor 1200 moveto TBIV (von realer Ausgabe mit realer) showde (of real output with real) showen (de la producci\363n real con pantalla) showes (de la production r\351el reflet) showfr (della produzione reale con display) showit (of real output with real til real\255) showjp xpor 1000 moveto TBIV (Displayreflexion im B\374roraum;) showde (display reflection in office room;) showen (real reflexi\363n en la sala de la oficina;) showes (dans la chambe de bureau;) showfr (reale riflessione in ufficio stanzza;) showit RBIV (utgang med virkelig vise refleksjon) showjp xpor 0800 moveto TBIV (dunklere (negative N) Ausgabe) showde (darker (negativ N) output) showen (m\341s oscuro (negativo N) salida) showes (plus fonc\351s sortie (n\351gative N)) showfr (pi\371 scuro (negativo N) output) showit (morkere (negativ N) utgang) showjp %************************************************************* k2 1 eq kinv 1 eq and {%k2=1 and kinv=1 %STOPX /xrej 9 array def %re=real, j=0,8 /yrej 9 array def /xinj 9 array def %in=invers, j=0,8 /yinj 9 array def /ydd 200 def /yw0 00 def /FF_LM_invers {%BEG /FF_LM_invers 240715 /yre exch def yre 0 eq {/yre 0.0001 def} if yre 1 eq {/yre 0.9999 def} if 0 1 7 {/i exch def %i=0,7 yre visevDi i get ge {/im i def} if } for %i=0,7 /yinvt yre visevDi im get sub visevDi im 1 add get visevDi im get sub div def /xinvg im yinvt add 0.125 mul def xinj j yinvt j 7 le {yre add} if put yinj j xinvg put xinvg } def %END /FF_LM_invers 240705 /indexDi 1 def /visevDi 9 array def indexDi 0 eq {%indexDi=0 % 0 1 2 3 4 5 6 7 8 /visevDi [0.000 0.125 0.250 0.375 0.500 0.625 0.750 0.875 1.000] def /gamma 1.0 def } if %indexDi=0 indexDi 1 eq {%indexDi=1 /visevDi [0.000 0.015 0.062 0.140 0.250 0.390 0.562 0.765 1.000] def /gamma 2.0 def } if %indexDi=1 indexDi 2 eq {%indexDi=2 /visevDi [0.000 0.353 0.500 0.612 0.707 0.790 0.866 0.935 1.000] def /gamma 0.5 def } if %indexDi=2 indexDi 3 eq {%indexDi=3 /visevDi [0.000 0.044 0.125 0.229 0.353 0.494 0.649 0.818 1.000] def /gamma 1.5 def } if %indexDi=3 %calculation of xw, yw and transfer by FF_LM_invers to xinj,yinj 0 1 8 {/j exch def %j /xw j 8 div def /yw xw gamma exp def yw FF_LM_invers %output: xinj & yinj (j=0,8) } for stroke %j /k 2 def k 2 eq {/xshift -550 150 sub def [100] 0 setdash} if %former for k=2 TBV [100] 0 setdash xptr yptr ydr 2 mul sub moveto 500 0 rlineto stroke xpar ypar ydr 2 mul sub moveto (inverse) showen (invers) showde TW 0 1 8 {/j exch def %j=0,8 xinj j get 3200 mul yinj j get 3200 mul j 0 eq { moveto} {lineto} ifelse } for stroke %j=0,8 0 1 8 {/j exch def %j=0,8 xinj j get 3200 mul yinj j get 3200 mul 50 0 360 arc fill } for %j=0,8 0 2 8 {/j exch def %j=0,2,8 xinj j get 3200 mul xshift add 100 add yinj j get 3200 mul 50 sub k 2 eq j 0 eq and {100 add} if moveto xinj j get cvsshow2x (, ) show yinj j get cvsshow2x } for %j=0,2,8 0 setgray [50] 0 setdash 1 1 7 {/j exch def %j=1,7 xinj j get 3200 mul yinj j get 3200 mul moveto j 0.125 mul 3200 mul visevDi j get 3200 mul lineto stroke } for %j=1,7 } if %k2=1 and kinv=1 -1200 -0400 translate %Nullpunkt Zeichnung showpage grestore %%Trailer