%!PS-Adobe-3.0 EPSF-3.0 WG160-7R %%BoundingBox: 70 82 405 580 %START PDFDE011.EPS /pdfmark07 where {pop} {userdict /pdfmark07 /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: http://130.149.60.45/~farbmetrik/WG16/) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://www.ps.bam.de or http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices, colour vision) /Creator (klaus.richter@me.com) /CreationDate (D:2015020112000) /ModDate (D:2015020112000) /DOCINFO pdfmark07 [ /View [ /FitB ] /DOCVIEW pdfmark07 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 1 sub /Symbol FS} bind def /SK {250 1 sub /Symbol FS} bind def /SM {300 1 sub /Symbol FS} bind def /SG {350 1 sub /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 -90 rmoveto show 0 90 rmoveto} bind def /eGs {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ibGb {300 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 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 /kM2 {300 /TimesI-ISOL1 FS show TM} bind def /bM2 {300 /TimesB-ISOL1 FS show TM} bind def /jM2 {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 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 -70 rmoveto show 0 70 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 -60 rmoveto show 0 60 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 -60 rmoveto show 0 60 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 TS} bind def /kLs {200 /TimesI-ISOL1 FS show TS} bind def /bLs {200 /TimesB-ISOL1 FS show TS} bind def /jLs {200 /TimesBI-ISOL1 FS show TS} bind def /sLs {200 /Symbol FS show TS} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TS} bind 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 c m y k {setcmyk_olvcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmyk_olvcolor 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 c m y k {setcmykcolor rem fill} bind def /colremst %x y width heigth c m y k {setcmykcolor rem stroke} bind def /tzr {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzg {1.0 0.0 1.0 0.0} bind def /tzb {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tfr {0.0 1.0 1.0 0.0 setcmyk_olvcolor} bind def %Reproduktionsfarben /tfg {1.0 0.0 1.0 0.0 setcmyk_olvcolor} bind def /tfb {1.0 1.0 0.0 0.0 setcmyk_olvcolor} bind def /tfc {1.0 0.0 0.0 0.0 setcmyk_olvcolor} bind def /tfm {0.0 1.0 0.0 0.0 setcmyk_olvcolor} bind def /tfy {0.0 0.0 1.0 0.0 setcmyk_olvcolor} bind def /tfn {0.0 0.0 0.0 1.00 setcmyk_olvcolor} bind def %Graureihe /tfd {0.0 0.0 0.0 0.75 setcmyk_olvcolor} bind def /tfz {0.0 0.0 0.0 0.50 setcmyk_olvcolor} bind def /tfh {0.0 0.0 0.0 0.25 setcmyk_olvcolor} bind def /tfw {0.0 0.0 0.0 0.00 setcmyk_olvcolor} bind def /Yi 404 array def %101(W)+3*101(R,G,B) /dYi 404 array def /L*i 404 array def /L*iW 404 array def %needed? /L*iR 404 array def /L*iG 404 array def /L*iB 404 array def /YnW 100 def %CIELAB /YnR 21 def /YnG 72 def /YnB 07 def /c24 2.4 def %LINYAB /e10D24 1.0 2.4 div def /e14D24 1.4 2.4 div def /c30 3.0 def %CIELAB /e10D30 1.0 3.0 div def /e20D30 2.0 3.0 div def /MULX 1000 def /MULY 1000 def /econst 2.71828182 def /W2 2 sqrt def /FL 0.0001 def /ioutc 0 def /cero_line {%BEG cero_line %1. log line = cero line tfr -2. MULX mul 1. log MULY mul moveto 0. MULX mul 1. log MULY mul lineto stroke tfw %2. log line = +1 line tfg -2. MULX mul 10. log MULY mul moveto 0. MULX mul 10. log MULY mul lineto stroke tfw } bind def %cero line %Yn=100, L*u=50 %Yu=Yn*[(L*u+16)/116]**3 %dYu=3*[Yn**(1/3)/116*Yu**(2/3)] /Yn 100 def /L*u 50 def /Yu L*u 16 add 116 div 3 exp 100 mul def /dYu Yn e10D30 exp 116 div 3 mul Yu e20D30 exp mul def /iu 18 def %************************************************* /Yi_L*i_dYi_C_0 {%BEG Yi_L*i_dYi_C_0 C=CIELAB 0 1 100 {/i exch def %i=0,100 /ik i k 101 mul add def k 0 eq {1 1 1 setrgbcolor Yi ik i YnW mul 100. div put L*i ik Yi ik get YnW div e10D30 exp 116 mul 16 sub put dYi ik Yi ik get YnW div e20D30 exp c30 mul 100 mul 116 div put } if k 1 eq {1 0 0 setrgbcolor Yi ik i YnR mul 100. div put L*i ik Yi ik get YnR div e10D30 exp 116 mul 16 sub put dYi ik Yi ik get YnR div e20D30 exp c30 mul 100 mul 116 div put } if k 2 eq {0 1 0 setrgbcolor Yi ik i YnG mul 100. div put L*i ik Yi ik get YnG div e10D30 exp 116 mul 16 sub put dYi ik Yi ik get YnG div e20D30 exp c30 mul 100 mul 116 div put } if k 3 eq {0 0 1 setrgbcolor Yi ik i YnB mul 100. div put L*i ik Yi ik get YnB div e10D30 exp 116 mul 16 sub put dYi ik Yi ik get YnB div e20D30 exp c30 mul 100 mul 116 div put } if } for %i=0,100 } bind def %END Yi_L*i_dYi_C_0 C=CIELAB %*************************************************** %EMPTY /Yi_L*i_dYi_S_0 {%BEG Yi_L*i_dYi_S_0 S=LINYAB } bind def %END Yi_L*i_dYi_S_0 S=LINYAB %%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 5 /Times-ISOL1 FS 175 85 moveto (WG160-7R) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 40 setlinewidth 20 setlinewidth %0 0 25000 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 25000 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz 0 0 11600 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey 0 0 11600 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz /xchartl xchart def 0 1 07 {/xchartl exch def %xchartl=0,15 gsave xchartl 0 eq { 100 13000 translate} if xchartl 1 eq { 6100 13000 translate} if xchartl 2 eq { 100 08750 translate} if xchartl 3 eq { 6100 08750 translate} if xchartl 4 eq { 100 4500 translate} if xchartl 5 eq { 6100 4500 translate} if xchartl 6 eq { 100 0250 translate} if xchartl 7 eq { 6100 0250 translate} if xchartl 8 eq {13500 13000 translate} if xchartl 9 eq {19500 13000 translate} if xchartl 10 eq {13500 08750 translate} if xchartl 11 eq {19500 08750 translate} if xchartl 12 eq {13500 4500 translate} if xchartl 13 eq {19500 4500 translate} if xchartl 14 eq {13500 0250 translate} if xchartl 15 eq {19500 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(WG160-) show} {(WG161-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.5 setcmykcolor 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 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black tfw /xtr0 680 def /ytr0 280 def xtr0 ytr0 translate 50 setlinewidth 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3000 rlineto stroke 40 setlinewidth /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 %********************************************************************* 40 setlinewidth tfn 0 0 moveto 4000 250 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke 4000 250 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /tx [(-2) (-1) ( 0) ( 1) ( 2)] def /txl [( ) (0,1) ( 1) ( 10) (100)] def %!x-Achse: 100 Einheiten = 0600 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1000 mul add} def /ixl { 000 i 1000 mul add} def ixt -250 moveto tx i get exec show i 1 ge {ixt 100 moveto txl i get exec show} if ixl 60 moveto 0 -120 rlineto stroke } for tfw 3300 100 moveto TBIL (Y) show (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto TBL (log\050) show TBIL (Y) show TBL (\051) show /iytt 050 def ixtt 200 add iytt moveto TBIL (Y) show tfw 2000 0 moveto 1900 0 rlineto stroke tfg [100] 0 setdash 2000 0 moveto 1900 0 rlineto stroke [ ] 0 setdash tfn %!y-Achse: 100 S-Einheiten = 1000 Skalen-Einheiten /j1y 1 def %default /j2y 4 def xchartl 0 eq xchartl 10 eq or {/j1y 2 def /j2y 5 def} if xchartl 4 eq xchartl 12 eq or {/j1y 0 def /j2y 3 def} if xchartl 7 eq xchartl 15 eq or {/j1y 2 def /j2y 5 def} if TBL %yshift -1000 0 1000 2000 3000 4000 /ty [( -2)( -1) ( 0) ( 1) ( 2) ( 3)] def /tyl[(0,01)(0,1) (1) (10) (100) (1000) ] def j1y 1 j2y {/j exch def /jyt {-50 j j1y sub 1000 mul add} def /jyl {000 j j1y sub 1000 mul add} def -370 jyt moveto ty j get show j j1y 1 add ge {050 jyt moveto tyl j get show} if -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** 20 setlinewidth tfw 050 xtr0 sub 3725 ytr0 sub moveto xchartl 00 eq {%xchartl=00 TBK (log \050) show TBIK (L*) show TBK (\051 ) show (CIELAB lightness) showen (CIELAB Helligkeit) showde } if %xchartl=00 xchartl 01 eq {%xchartl=01 TBK (log \050) show TBIK (L*/L*) show (u) ibMs TBK (\051 ) show (relative CIELAB lightness) showen (Relative CIELAB Helligkeit) showde } if %xchartl=01 xchartl 02 eq {%xchartl=02 TBK (log ) show SM (D) show 20 0 rmoveto TBIK (Y ) show TBK (CIE tristimulus value) showen TBIK ( Y ) showen TBK (difference) showen (CIE\255) showde TBIK (Y\255) showde TBK (Normfarbwertdifferenz) showde } if %xchartl=02 xchartl 03 eq {%xchartl=03 TBK (log\050) show SM (D) show 20 0 rmoveto TBIK (Y) show TBK (/) show SM (D) show TBIK (Y) show (u) ibMs TBK (\051 ) show 2000 xtr0 sub 3725 ytr0 sub 000 sub moveto (relative CIE tristimulus) showen (Relative CIE\255) showde TBIK (Y\255) showde TBK (Normfarb\255) showde 2000 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (value) showen TBIK ( Y ) show TBK (difference) showen (wertdifferenz) showde } if %xchartl=03 xchartl 04 eq {%xchartl=04 TBK (log \050) show SM (D) show TBIK (Y/Y\051 ) show TBK 2500 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE tristimulus) showen (CIE\255Normfarb\255) showde 2500 xtr0 sub 3725 ytr0 sub 250 sub moveto (value) showen TBIK ( Y ) show TBK (contrast) showen (wert\255kontrast) showde } if %xchartl=04 xchartl 05 eq {%xchartl=05 TBK (log [\050) show SM (D) show TBIK (Y/Y) show TBK (\051 / \050) show SM (D) show TBIK (Y) show (u) ibMs TBK (/) show TBIK (Y) show (u) ibMs TBK (\051] ) show 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (relative CIE tristimulus) showen (Relativer CIE\255) showde TBIK (Y\255) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto (value) showen TBIK ( Y ) show TBK (contrast) showen (Normfarbwert\255Kontrast) showde } if %xchartl=05 xchartl 06 eq {%xchartl=06 TBK (log \050) show TBIK (Y/) show SM (D) show TBIK (Y) show TBK (\051 ) show 2000 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE tristimulus) showen (CIE\255Normfarb\255) showde 2000 xtr0 sub 3725 ytr0 sub 250 sub moveto (value) showen TBIK ( Y ) show TBK (sensitivity) showen (wert\255Empindfindlichkeit) showde } if %xchartl=06 xchartl 07 eq {%xchartl=07 TBK (log [\050) show TBIK (Y/) show SM (D) show TBIK (Y) show (\051 / \050) show TBIK (Y) show (u) ibMs TBK (/) show SM (D) show TBIK (Y) show (u) ibMs TBK (\051] ) show 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (relative CIE tristimulus) showen (Relative CIE\255Normfarb\255) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto (value) showen TBIK ( Y ) show TBK (sensitivity) showen (wert\255Empindfindlichkeit) showde } if %xchartl=07 %********************************************************************* /C01_ALOG_T* {%BEG C01_ALOG_T* /Fx0log -2.0 def /Fy0log 0.0 def /xtr 2000 def /ytr 0000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 0 {/k exch def %k=0,0:W,R,G,B Yi_L*i_dYi_C_0 50 setlinewidth 0 1 1 {/j exch def %j=0,1 j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if /i1 001 def /i2 100 def i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul L*i ik get log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 } for %j=0,1 [ ] 0 setdash 40 setlinewidth 1 1 1 setrgbcolor %C01 /x0 400 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point x0 L*i iu get log MULY mul 250 sub moveto TBL (log) show TBIL (\050L*) show (u) ibLs TBL (\051=) show L*i iu get log cvsshow2 /FY20 L*i 20 get def /FYiu L*i iu get def TBIL (, m) show (u) ibLs TBL (=) show FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2 x0 L*i iu get log ytrl add MULY mul 100 add moveto TBIL (L*) show (u) ibLs TBL (=) show L*u cvishow TBIL (, Y) show (u) ibLs TBL (=) show Yu cvishow % TBIL (, dY) show (u) ibLs % TBL (=) show dYu cvsshow2 % TBIL (, dY) show (u) ibLs TBL (/Y) show (u) ibLs % TBL (=) show dYu Yu div cvsshow3 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 [100] 0 setdash Fx0log MULX mul L*u log MULY mul moveto iu log MULX mul L*u log MULY mul lineto iu log MULX mul Fy0log MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tfw /Y001DYu L*i 1 get def /Y100DYu L*i 100 get def 0 Y001DYu log MULY mul moveto %1 add because y-cero point=+1000 0 Y100DYu log MULY mul lineto stroke tfg [100] 0 setdash 0 Y001DYu log MULY mul moveto 0 Y100DYu log MULY mul lineto stroke [ ] 0 setdash tfw %/L*D L*i iu get def %0300 L*D log MULY mul 100 add moveto %TBL (log[) show TBIL (L*) show (u) ibLs TBL (]) show %TBL (=) show L*D log cvsshow2 %TBL TBIL (, L*) show (u) ibLs %TBL (=) show L*u cvishow /x0 0500 def /y0 3000 def /x1 800 def /y1 3000 def /xdel 800 def /ydel 300 def x0 y0 moveto TBL (CIELAB lightness for all colours) showen (CIELAB\255Helligkeit f\374r alle Farben) showde TBIL (, L*) show (W) ibLs TBL (=100:) show %L*= 116(Y/Yn)**(1/3)-16 x1 y0 0.9 ydel mul sub moveto TBIL (L*) show TBL ( = 116 \050) show TBIL (Y/Y) show (n) ibLs TBL (\051) show (1/3) ebLs TBL ( - 16) show TBL ( \050) show TBIL (Y) show (n) ibLs TBL (=100, ) show TBIL ( Y ) show TBL (> 1\051) show tfw /x0 3600 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen TS (bereich) showde } def %END C01_ALOG_T* %********************************************************************* /C02_ALOG_T*DT*u {%BEG C02_ALOG_T*DTu* /Fx0log -2.0 def /Fy0log -1.0 def /xtr 2000 def /ytr 1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 0 {/k exch def %k=0,0:W,R,G,B Yi_L*i_dYi_C_0 50 setlinewidth 0 1 1 {/j exch def %j=0,1 j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if /i1 001 def /i2 100 def i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul L*i ik get L*u div log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 } for %j=0,1 [ ] 0 setdash 40 setlinewidth 1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point x0 ytr 250 sub moveto TBL (log[) show TBIL ((L*)) show TBL (/\050) show TBIL (L*) show (u) ibLs TBL (\051]) show TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def TBIL (, m) show (u) ibLs TBL (=) show FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2 x0 ytr 100 add moveto TBIL (L*) show (u) ibLs TBL (=) show L*u cvishow TBIL (, Y) show (u) ibLs TBL (=) show Yu cvishow % TBIL (, dY) show (u) ibLs % TBL (=) show dYu cvsshow2 % TBIL (, dY) show (u) ibLs TBL (/Y) show (u) ibLs % TBL (=) show dYu Yu div cvsshow3 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 /i1 18 def [100] 0 setdash Fx0log MULX mul L*i i1 get L*u div log MULY mul moveto i1 log MULX mul L*i i1 get L*u div log MULY mul lineto i1 log MULX mul Fy0log MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tfw /Y001DYu L*i 1 get L*i i1 get div def /Y100DYu L*i 100 get L*i i1 get div def 0 Y001DYu log ytrl add MULY mul moveto %1 add because y-cero point=+1000 0 Y100DYu log ytrl add MULY mul lineto stroke tfg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash tfw /x0 0500 def /y0 2600 def /x1 800 def /y1 2700 def /xdel 800 def /ydel 300 def x0 y0 ydel add moveto (relative normalized CIELAB data) showen (relative normierte CIELAB\255Daten) showde x0 y0 moveto TBL (CIELAB lightness for all colours) showen (CIELAB\255Helligkeit f\374r alle Farben) showde TBIL (, L*) show (W) ibLs TBL (=100:) show %L*= 116(Y/Yn)**(1/3)-16 x1 y0 0.9 ydel mul sub moveto TBIL (L*) show TBL ( = 116 \050) show TBIL (Y/Y) show (n) ibLs TBL (\051) show (1/3) ebLs TBL ( - 16) show TBL ( \050) show TBIL (Y) show (n) ibLs TBL (=100, ) show TBIL ( Y ) show TBL (> 1\051) show tfw /x0 3600 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen TS (bereich) showde } def %END C02_ALOG_T*DT*u %********************************************************************* /C03_ALOG_DL {%BEG C03_ALOG_DL /xtr 2000 def /ytr 1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point %L*=116*(Y/100)**(1/3)-16. %delta_L*/delta_Y=116*(1/3)*(Y/100)**(-2/3)*(1/100) %delta_Y=1/[116*(1/3)*(Y/100)**(-2/3)*(1/100)]=3*100/116*(Y/100)**(2/3) %delta_Y=3*100/116*(Y/Yn)**(2/3) 0 1 0 {/k exch def %k=0,0:W,R,G,B Yi_L*i_dYi_C_0 50 setlinewidth 0 1 1 {/j exch def %j=0,1 j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if /i1 001 def /i2 100 def i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul dYi ik get log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 } for %j=0,1 [ ] 0 setdash 40 setlinewidth 1 1 1 setrgbcolor %C03 /x0 0200 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point x0 ytr 300 sub moveto TBL (log) show TBIL ((dY)) show TBL (=) show dYi iu get cvsshow2 /FY20 dYi 20 get def /FYiu dYi iu get def TBIL (, m) show (u) ibLs TBL (=) show FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2 x0 dYi iu get log ytrl add MULY mul 100 add moveto % TBIL (L*) show (u) ibLs % TBL (=) show L*u cvishow TBIL (Y) show (u) ibLs TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLs TBL (=) show dYu cvsshow2 TBIL (, dY) show (u) ibLs TBL (/Y) show (u) ibLs TBL (=) show dYu Yu div cvsshow3 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tfw [100] 0 setdash /rYdY dYi iu get def -2. MULX mul rYdY log MULY mul moveto iu log MULX mul rYdY log MULY mul lineto iu log MULX mul -1. MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tfw /Y001DYu dYi 1 get def /Y100DYu dYi 100 get def 0 Y001DYu log ytrl add MULY mul moveto %1 add because y-cero point=+1000 0 Y100DYu log ytrl add MULY mul lineto stroke tfg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash /x0 0200 def /y0 2400 def /ydel 300 def tfw x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 TBIL (L*) show TBL ( = 116 \050) show TBIL (Y/Y) show (n) ibLs TBL (\051) show (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIELAB) showen (Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto TBL (log) show TBIL ((dY)) show x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show TBIL (Y) show (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show TBIL (Y/Y) show (n) ibLs TBL (\051) show x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show TBIL (Y) show (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show TBIL (Y) show TBL (\051) show tfw /x0 3600 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen TS (bereich) showde } def %END C03_ALOG_DL %********************************************************************* /C04_ALOG_DLn {%BEG C04_ALOG_DLn /xtr 2000 def /ytr 1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point %L*=116*(Y/100)**(1/3)-16. %delta_L*/delta_Y=116*(1/3)*(Y/100)**(-2/3)*(1/100) %delta_Y=1/[116*(1/3)*(Y/100)**(-2/3)*(1/100)]=3*100/116*(Y/100)**(2/3) %delta_Y=3*100/116*(Y/Yn)**(2/3) 0 1 0 {/k exch def %k=0,0:W,R,G,B Yi_L*i_dYi_C_0 50 setlinewidth 0 1 1 {/j exch def %j=0,1 j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if /i1 001 def /i2 100 def i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul dYi ik get dYu div log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 } for %j=0,1 [ ] 0 setdash 40 setlinewidth 1 1 1 setrgbcolor %C04 /x0 0200 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point x0 ytr 250 sub moveto TBL (log[) show TBIL ((dY)) show TBL (/\050) show TBIL (dY) show (u) ibLs TBL (\051]) show TBL (=0) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def TBIL (, m) show (u) ibLs TBL (=) show FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2 x0 ytr 100 add moveto % TBIL (L*) show (u) ibLs % TBL (=) show L*u cvishow TBIL (Y) show (u) ibLs TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLs TBL (=) show dYu cvsshow2 TBIL (, dY) show (u) ibLs TBL (/Y) show (u) ibLs TBL (=) show dYu Yu div cvsshow3 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tfw [100] 0 setdash /rYdY 1. def -2. MULX mul rYdY log MULY mul moveto iu log MULX mul rYdY log MULY mul lineto iu log MULX mul -1. MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %new cero point tfw /Y001DYu dYi 1 get dYu div def /Y100DYu dYi 100 get dYu div def 0 Y001DYu log ytrl add MULY mul moveto %1 add because y-cero point=+1000 0 Y100DYu log ytrl add MULY mul lineto stroke tfg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash tfw /x0 0200 def /y0 2400 def /ydel 300 def tfw x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 TBIL (L*) show TBL ( = 116 \050) show TBIL (Y/Y) show (n) ibLs TBL (\051) show (1/3) ebLs TBL ( - 16) show x0 y0 moveto (relative tristimulus difference according to CIELAB) showen (relative Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto TBL (log) show TBIL ((dY)) show x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show TBIL (Y) show (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show TBIL (Y/Y) show (n) ibLs TBL (\051) show x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show TBIL (Y) show (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show TBIL (Y) show TBL (\051) show tfw /x0 3600 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen TS (bereich) showde } def %END C04_ALOG_DLn %********************************************************************* /C05_ALOG_DL_L {%BEG C05_ALOG_DL_L /xtr 2000 def /ytr 2000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point %L*=116*(Y/100)**(1/3)-16. %delta_L*/delta_Y=116*(1/3)*(Y/100)**(-2/3)*(1/100) %delta_Y=1/[116*(1/3)*(Y/100)**(-2/3)*(1/100)]=3*100/116*(Y/100)**(2/3) %delta_Y=3*100/116*(Y/Yn)**(2/3) 0 1 0 {/k exch def %k=0,0:W,R,G,B Yi_L*i_dYi_C_0 50 setlinewidth 0 1 1 {/j exch def %j=0,1 j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if /i1 001 def /i2 100 def i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul dYi i get Yi i get div log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 } for %j=0,1 [ ] 0 setdash 40 setlinewidth 1 1 1 setrgbcolor %C05 /x0 0300 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto TBL (log\050) show TBIL (dY/Y) show TBL (\051) show TBL (=) show dYi iu get Yi iu get div log cvsshow2 /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def TBIL (, m) show (u) ibLs TBL (=) show FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2 x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto % TBIL (L*) show (u) ibLs % TBL (=) show L*u cvishow TBIL (Y) show (u) ibLs TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLs TBL (=) show dYu cvsshow2 TBIL (, dY) show (u) ibLs TBL (/Y) show (u) ibLs TBL (=) show dYu Yu div cvsshow3 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tfw /i1 18 def [100] 0 setdash /rYdY dYi i1 get Yi i1 get div def -2. MULX mul rYdY log MULY mul moveto i1 log MULX mul rYdY log MULY mul lineto i1 log MULX mul -2. MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tfw /Y001DYu dYi 1 get Yi 1 get div def /Y100DYu dYi 100 get Yi 100 get div def 0 Y001DYu log 2 add MULY mul moveto %1 add because y-cero point=+2000 0 Y100DYu log 2 add MULY mul lineto stroke tfg [100] 0 setdash 0 Y001DYu log 2 add MULY mul moveto 0 Y100DYu log 2 add MULY mul lineto stroke [ ] 0 setdash tfw /x0 0100 def /y0 2500 def /ydel 300 def x0 y0 moveto TBL (tristimulus value contrast according to CIELAB) showen (Normfarbwertkontrast nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto TBL (log[\050) show TBIL (dY/Y) show TBL (\051 = log\0503 \050) show TBIL (Y) show (n) ibLs (1/3) ebLs TBL (\051/116\051) show TBL ( - (1/3) log) show TBIL (Y) show tfw /x0 3600 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen TS (bereich) showde } def %END C05_ALOG_DL_L %********************************************************************* /C06_ALOG_DL_Ln {%BEG C06_ALOG_DL_Ln /xtr 2000 def /ytr 1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point %L*=116*(Y/100)**(1/3)-16. %delta_L*/delta_Y=116*(1/3)*(Y/100)**(-2/3)*(1/100) %delta_Y=1/[116*(1/3)*(Y/100)**(-2/3)*(1/100)]=3*100/116*(Y/100)**(2/3) %delta_Y=3*100/116*(Y/Yn)**(2/3) 0 1 0 {/k exch def %k=0,0:W,R,G,B Yi_L*i_dYi_C_0 50 setlinewidth 0 1 1 {/j exch def %j=0,1 j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if /i1 001 def /i2 100 def i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul dYi ik get Yi ik get div dYu Yu div div log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 } for %j=0,1 [ ] 0 setdash 40 setlinewidth 1 1 1 setrgbcolor %C06 /x0 0200 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point x0 ytr 250 sub moveto TBL (log[) show TBIL ((dY/Y)) show TBL (/\050) show TBIL (dY) show (u) ibLs TBIL (/Y) show (u) ibLs TBL (\051]) show TBL (=0) show /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def TBIL (, m) show (u) ibLs TBL (=) show FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2 x0 ytr 550 sub moveto % TBIL (L*) show (u) ibLs % TBL (=) show L*u cvishow TBIL (Y) show (u) ibLs TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLs TBL (=) show dYu cvsshow2 TBIL (, dY) show (u) ibLs TBL (/Y) show (u) ibLs TBL (=) show dYu Yu div cvsshow3 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tfw /i1 18 def [100] 0 setdash /rYdY Yi i1 get dYi i1 get div Yu dYu div div e10D30 exp def -2. MULX mul rYdY log MULY mul moveto iu log MULX mul rYdY log MULY mul lineto iu log MULX mul -1. MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tfw /Y001DYu dYi 1 get Yi 1 get div dYu Yu div div def /Y100DYu dYi 100 get Yi 100 get div dYu Yu div div def 0 Y001DYu log ytrl add MULY mul moveto %1 add because y-cero point=+1000 0 Y100DYu log ytrl add MULY mul lineto stroke tfg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash tfw /x0 0100 def /y0 2500 def /ydel 300 def x0 y0 moveto TBL (relative tristimulus value contrast according CIELAB) showen (relativer Hellbezugswert\255Kontrast nach CIELAB) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 0.9 ydel mul sub moveto TBL (log\050) show TBIL (dY/Y) show TBL (\051/\050) show TBIL (dY) show (u) ibLs TBL (/) show TBIL (Y) show (u) ibLs TBL (\051] ) show TBL ( = log\050) show TBIL (Y) show TBL (/) show TBIL (Y) show (u) ibLs TBL (\051) show (-1/3) ebLs tfw /x0 3600 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen TS (bereich) showde } def %END C06_ALOG_DL_Ln %********************************************************************* /C07_ALOG_L_DL {%BEG C07_ALOG_L_DL /xtr 2000 def %/ytr 1000 def %/ytrl ytr 1000 div def %log shift /ytr 0000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point %L*=116*(Y/100)**(1/3)-16. %delta_L*/delta_Y=116*(1/3)*(Y/100)**(-2/3)*(1/100) %delta_Y=1/[116*(1/3)*(Y/100)**(-2/3)*(1/100)]=3*100/116*(Y/100)**(2/3) %delta_Y=3*100/116*(Y/Yn)**(2/3) 0 1 0 {/k exch def %k=0,0:W,R,G,B Yi_L*i_dYi_C_0 50 setlinewidth 0 1 1 {/j exch def %j=0,1 j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if /i1 001 def /i2 100 def i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul Yi ik get dYi ik get div log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 } for %j=0,1 [ ] 0 setdash 40 setlinewidth 1 1 1 setrgbcolor %C07 /x0 0200 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point tfw x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto TBL (log\050) show TBIL (Y/dY) show TBL (\051) show TBL (=) show Yi iu get dYi iu get div log cvsshow2 /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def TBIL (, m) show (u) ibLs TBL (=) show FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2 x0 Yi iu get dYi iu get div log ytrl add MULY mul 100 add moveto TBIL (L*) show (u) ibLs TBL (=) show L*u cvishow TBIL (, Y) show (u) ibLs TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLs TBL (=) show dYu cvsshow2 TBIL (, Y) show (u) ibLs TBL (/dY) show (u) ibLs TBL (=) show Yu dYu div cvishow xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tfw /i1 18 def [100] 0 setdash /rYdY Yi i1 get dYi i1 get div def -2. MULX mul rYdY log MULY mul moveto i1 log MULX mul rYdY log MULY mul lineto i1 log MULX mul -1. MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tfw /Y001DYu Yi 1 get dYi 1 get div def /Y100DYu Yi 100 get dYi 100 get div def 0 Y001DYu log MULY mul moveto %1 add because y-cero point=+1000 0 Y100DYu log MULY mul lineto stroke tfg [100] 0 setdash 0 Y001DYu log MULY mul moveto 0 Y100DYu log MULY mul lineto stroke [ ] 0 setdash tfw /x0 0100 def /y0 2700 def /ydel 300 def x0 y0 moveto TBL (tristimulus value sensitivity according to CIELAB) showen (Hellbezugswert\255Empfindlichkeit nach CIELAB) showde x0 500 add y0 ydel sub moveto TBL (log) show TBIL ((Y/dY)) show x0 500 add 750 add y0 ydel sub moveto TBL ( = log[\0501/3\051) show TBL ( \050116/) show TBIL (Y) show (n) ibLs TBL (\051]) show TBL ( + (1/3) log\050) show TBIL (Y/Y) show (n) ibLs TBL (\051) show x0 500 add 750 add y0 ydel 2 mul sub moveto TBL ( = log[(1/3) \050116/\050) show TBIL (Y) show (n) ibLs (1/3) ebLs TBL (\051]) show TBL ( + (1/3) log\050) show TBIL (Y) show TBL (\051) show tfw /x0 3600 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen TS (bereich) showde } def %END C07_ALOG_L_DL %********************************************************************* /C08_ALOG_L_DLn {%BEG C08_ALOG_L_DLn /xtr 2000 def %/ytr 2000 def %/ytrl ytr 1000 div def %log shift /ytr 1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point %L*=116*(Y/100)**(1/3)-16. %delta_L*/delta_Y=116*(1/3)*(Y/100)**(-2/3)*(1/100) %delta_Y=1/[116*(1/3)*(Y/100)**(-2/3)*(1/100)]=3*100/116*(Y/100)**(2/3) %delta_Y=3*100/116*(Y/Yn)**(2/3) 0 1 0 {/k exch def %k=0,0:W,R,G,B Yi_L*i_dYi_C_0 50 setlinewidth 0 1 1 {/j exch def %j=0,1 j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if /i1 001 def /i2 100 def i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul Yi ik get dYi ik get div Yu dYu div div log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 } for %j=0,1 [ ] 0 setdash 40 setlinewidth 1 1 1 setrgbcolor %C08 /x0 0300 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point 0300 ytr 100 add moveto TBL (log[) show TBIL ((Y/dY)) show TBL (/\050) show TBIL (Y) show (u) ibLs TBIL (/dY) show (u) ibLs TBL (\051]) show TBL (=0) show /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def TBIL (, m) show (u) ibLs TBL (=) show FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2 x0 ytr 400 add moveto TBIL (L*) show (u) ibLs TBL (=) show L*u cvishow TBIL (, Y) show (u) ibLs TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLs TBL (=) show dYu cvsshow2 TBIL (, Y) show (u) ibLs TBL (/dY) show (u) ibLs TBL (=) show Yu dYu div cvishow xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tfw [100] 0 setdash /rYdY 1 def -2. MULX mul rYdY log MULY mul moveto iu log MULX mul rYdY log MULY mul lineto iu log MULX mul -1. MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tfw /Y001DYu Yi 1 get dYi 1 get div Yu dYu div div def /Y100DYu Yi 100 get dYi 100 get div Yu dYu div div def 0 Y001DYu log ytrl add MULY mul moveto %log-shift=1 for ytr=+1000 0 Y100DYu log ytrl add MULY mul lineto stroke tfg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash /x0 0100 def /y0 2700 def /ydel 300 def tfw x0 y0 moveto TBL (relative tristimulus value sensitivity of CIELAB) showen (relative Hellbezugswert\255EMpfindlichkeit nach CIELAB) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto TBL (log[\050) show TBIL (Y/) show SL (D) show TBIL (Y) show TBL (\051/\050) show TBIL (Y) show (u) ibLs TBL (/) show SL (D) show TBIL (Y) show (u) ibLs TBL (\051] ) show TBL ( = log\050) show TBIL (Y/Y) show (u) ibLs TBL (\051) show (1/3) ebLs x0 500 add y0 2.0 ydel mul sub moveto TBIL (L*) show (u) ibLs TBL (=) show L*u cvishow TBIL (, Y) show (u) ibLs TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLs TBL (=) show dYu cvsshow2 tfw /x0 3600 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen TS (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** xchartl 00 eq {-650 3200 moveto TBL (log\050) show TBIL (L*) show TBL (\051) show 100 3200 moveto TBIL (L*) show } if xchartl 01 eq {100 3200 moveto TBIL (L*/L*) show (u) ibLs } if xchartl 02 eq {-650 3200 moveto TBL (log\050) show SL (D) show TBIL (Y) show TBL (\051) show 100 3200 moveto SL (D) show TBIL (Y) show } if xchartl 03 eq {100 3200 moveto SL (D) show TBIL (Y) show TBL (/) show SL (D) show TBIL (Y) show (u) ibLs } if xchartl 04 eq {-650 3200 moveto TBL (log\050) show TBIL (C) show (r) ibLs TBL (\051) show 100 3200 moveto TBIL (C) show (r) ibLs TBL (=\050) show SL (D) show TBIL (Y/Y) show TBL (\051) show } if xchartl 05 eq {100 3200 moveto TBIL (C) show (r) ibLs TBL (/) show TBIL (C) show (ru) ibLs TBL (=\050) show SL (D) show TBIL (Y/Y) show TBL (\051/\050) show SL (D) show TBIL (Y/Y) show (u) ibLs TBL (\051) show } if xchartl 06 eq {-650 3200 moveto TBL (log\050) show TBIL (S) show (r) ibLs TBL (\051) show 100 3200 moveto TBIL (S) show (r) ibLs TBL (=\050) show TBIL (Y/) show SL (D) show TBIL (Y) show TBL (\051) show } if xchartl 07 eq {-650 3200 moveto TBL (log\050) show TBIL (S) show (r) ibLs TBL (\051) show 100 3200 moveto TBIL (S) show (r) ibLs TBL (/) show TBIL (S) show (ru) ibLs TBL (=\050) show TBIL (Y/) show SL (D) show TBIL (Y) show TBL (\051/\050) show TBIL (Y) show (u) ibLs TBL (/) show SL (D) show TBIL (Y) show (u) ibLs TBL (\051) show } if %************************************************************** xchartl 00 eq {C01_ALOG_T*} if xchartl 01 eq {C02_ALOG_T*DT*u} if xchartl 02 eq {C03_ALOG_DL} if xchartl 03 eq {C04_ALOG_DLn} if xchartl 04 eq {C05_ALOG_DL_L} if xchartl 05 eq {C06_ALOG_DL_Ln} if xchartl 06 eq {C07_ALOG_L_DL} if xchartl 07 eq {C08_ALOG_L_DLn} if %END C01_C08********************************************** %******************************************************** xtr0 neg ytr0 neg translate %************************************************************** %special space for 'xm03'PROZ0.COM 2x before/after xchartl xchartl 0 eq { 100 neg 13000 neg translate} if xchartl 1 eq { 6100 neg 13000 neg translate} if xchartl 2 eq { 100 neg 08750 neg translate} if xchartl 3 eq { 6100 neg 08750 neg translate} if xchartl 4 eq { 100 neg 4500 neg translate} if xchartl 5 eq { 6100 neg 4500 neg translate} if xchartl 6 eq { 100 neg 0250 neg translate} if xchartl 7 eq { 6100 neg 0250 neg translate} if xchartl 8 eq {13500 neg 13000 neg translate} if xchartl 9 eq {19500 neg 13000 neg translate} if xchartl 10 eq {13500 neg 08750 neg translate} if xchartl 11 eq {19500 neg 08750 neg translate} if xchartl 12 eq {13500 neg 4500 neg translate} if xchartl 13 eq {19500 neg 4500 neg translate} if xchartl 14 eq {13500 neg 0250 neg translate} if xchartl 15 eq {19500 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %%Trailer