%!PS-Adobe-3.0 EPSF-3.0 CGE61-6A %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark17 where {pop} {userdict /pdfmark17 /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/BEW4/BEW4.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:2021040112000) /ModDate (D:20210401112000) /DOCINFO pdfmark17 [ /View [ /Fit ] /DOCVIEW pdfmark17 %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 /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 /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 /ibLm {160 /TimesB-ISOL1 FS -50 -50 rmoveto show 0 50 rmoveto TS} bind def /ibLn {160 /TimesB-ISOL1 FS -30 -50 rmoveto show 0 50 rmoveto TS} bind def %for Yn or Yu -> sub/(n) ibLnu/(u) ibLnu/w for ityp>=3 /ibLnu {160 /TimesB-ISOL1 FS -30 -50 rmoveto show 0 50 rmoveto TS} bind def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 7 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 /cvsshow2s {/nxx exch def %example nxx=99.12/99,02 nxx 0 le {(-) show} if nxx 100 mul cvi /nxi exch abs 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 /cvsshow3s {/nxx exch def %example nxx=-0,123 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 1000 mul cvi abs def %nxi=123 nxi 100 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(0) show nxi cvishow} if %nxb=012/001/000 nxi 1 ge nxi 9 le and {(00) show nxi cvishow} if %nxb=001/000 nxi 0 eq {(000) 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 /tdw {1 1 1 setrgbcolor} bind def /tdr {1 0 0 setrgbcolor} bind def /tdy {1 1 0 setrgbcolor} bind def /tdg {0 1 0 setrgbcolor} bind def /tdc {0 1 1 setrgbcolor} bind def /tdb {0 0 1 setrgbcolor} bind def /tdm {1 0 1 setrgbcolor} bind def /tdn {0 0 0 setrgbcolor} bind def /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 %*************************************************************** /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 /T*i 404 array def /T*iW 404 array def %needed? /T*iR 404 array def /T*iG 404 array def /T*iB 404 array def /Yn 100 def /Yu 018 def /YnW 100 def /iu 18 def /YnWL 100 def %L=Linear /YnRL 21 def /YnGL 72 def /YnBL 07 def /YnW 100 def %L=Linear /YnR 21 def /YnG 72 def /YnB 07 def %allways %Cn=CIELAB /Ynx 100 def /Cn 116 def /Cd 016 def /c30 3.0 def /c30k 1 c30 div def /1Mc30k 1 c30k sub def %=1Mc30k=1-1/3.0 /c30t (3,0) def /c30kt (1/3,0) def /1Mc30kt (1-(1/3,0)) def /L*WCn YnW YnW div c30k exp Cn mul Cd sub def %7s/d=Yu*b %b=s/(d*Yu) % =0,017/(0,0058*18) % =0,017/0,1044 % =0,1628 %for b=0,1628: %-> d=ln(1,16)=, cx*a=0,0058, a=0,0058/cx %for cx=1,000 -> a=0,0058 =172,41 %for cx=0,86 -> a=0,0058/0,86 =200,48 %for cx=0,66 -> a=0,0058/0,66 =261,23 %for cx=0,43 -> a=0,0058/0,43 =400,95 /a 0.0058 def %allways cx*a=0,0058 %b=s/[(cx*a)*Yu] % =0,017/[0,0058*Yu] % =0,017/[0,1044]=0,1628 %f(x)=(cx*a)*ln(x+b) %for cx=1: %f(x)=172,41*ln(x+b) %f(1)=172,41*ln(1) %f(1)=172,41*0.0=0 %f(5)=172,41*ln(5+b) %f(5)=172,41*1,609=277,89 %f(0,2)=172,41*ln(0,2+b) %f(0,2)=172,41*(-1,609)=-277,89 %for cx=0,6666 %f(5)=258,65*ln(5+b) %f(5)=258,65*1,609=416,17 %f(0,2)=258,65*ln(0,2+b) %f(0,2)=258,65*(-1,609)=-416,17 /Sdx 0 def /bx 0.1628 def /Snx 1 1 bx add ln div def %f1(x)=f(x)/f(x=1) % =[1/ln(1+b)]*ln(x+b) % =Snx*ln(Y/Yu + bx) %dY=Yu*ln(1+b)*(x+b) % =Yu*ln(1+b)*x+Yu*ln(1+b)*b % =ln(1+b)*Y +Yu*ln(1+b)*b %dY =s+c*Y with s=0,017 and c=0,0058 % =[sv+cv*Y] %dY1=s+c*Yu*x with x=Y/Yu %dYu=s+c*Yu for Y=Yu or x=1 % =[sv+cv*Yu] %/fakj 2.3026 def %ln(10)=2,3026 /fakj 1 def /A0 1 def %for ln=2.3036*log /A0D65 0.6667 def %1/1,5 or 1 /A0n A0 A0D65 mul def /sv 0.017 fakj mul def /cv 0.0058 fakj mul def /cvYu cv Yu mul def %0,1044 /scPcvYu sv cvYu add def %0,1214 /proz_Yi_T*i {%BEG proz_Yi_T*i iLABx 0 eq {%iLABx=0 /Yxf YnW fWRGB mul def } {%iLABx=1,2,3 k 0 eq {/Yxf YnW fWRGB mul def} if k 1 eq {/Yxf YnG fWRGB mul def} if k 2 eq {/Yxf YnR fWRGB mul def} if k 3 eq {/Yxf YnB fWRGB mul def} if } ifelse %dY =s+c*Y with s=0,017 and c=0,0058 % =[sv+cv*Y] %Integralformel: %F(x)=Integral[f'(x)/f(x)] % %F(Y)=Integral{[1/cv]*(cv)/[sv+cv*Y]} % =A0n*[1/cv]*Integral{cv/[sv+cv*Y]} % =A0n*[1/cv]*ln[sv+cv*Y] % =A0n*[1/cv]*ln[sv+cv*Yu*(Y/Yu)] % =A0n*[1/cv]*ln[fYi1] %F(x)=A0n*[1/cv]*ln[fYi1] % /fYi1 Yi ik get Yxf div Yu mul cv mul sv add def % T*i ik fYi1 ln cv div A0n mul put %=A0n*ln[A1+A2*cx*Yu(Y/Yu)]/(A2*cx) %F(x)=A0n*ln[cvYu*(Y/Yu)+sv]/cv % =A0n*ln[A1+A2*Y]/A2 % =A0n*ln[A1+A2*Yu*(Y/Yu)]/A2 %dY1=sv+cv*Yu*x with x=Y/Yu %dY1=sv+cvYu*x %F(x)=A0n*ln[A1+A2*Y]/A2 % =A0n*ln[A1+A2*Yu*(Y/Yu)]/A2 %dY1=A0n*[A1+A2*Y] %dY1=A0n*[A1+A2*Yu*(Y/Yu)] % =A0n*[A1+A21*(Y/Yu)] %A2=cv, A21=A2*Yu=cvYu %A1=sv %A2K=1/A2 %cx=0,86, 0,86, 0,66, 0.43, 1.00 /A1 sv def %A1 /A2 cv def %A2 /A2k 1 A2 div def %A2k /A1n sv cx mul def %A1n /A2n cv cx mul def %A2n /A2nk 1 A2n div def %A2nk %[A1n+A2n*Y]/A2n=[A1+A2*Y]/A2 or delta Y-threshold independent! %F(x)=[1/cv]*ln[fYi1] % /fYi1 Yi ik get Yxf div Yu mul cv mul sv add def % T*i ik fYi1 ln cv div put %=A0n*ln[A1n+A2n*Yu(Y/Yu)]/A2n /fYi1 Yi ik get Yxf div Yu mul A2n mul A1n add def T*i ik fYi1 ln A2n div A0n mul put %=A0n*ln[A1n+A2n*Yu(Y/Yu)]/A2n dYi ik Yi ik get Yxf div A2n mul Yu mul A1n add A0n mul put %=A2n*Y+A1n=A21n*x+A1n } bind def %END proz_Yi_T*i 1 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 proz_Yi_T*i ik iu eq {%ik=iu proz_Yi_T*i /T*u T*i ik get def /dYu dYi ik get def } if %ik=iu } if k 1 eq {0 1 0 setrgbcolor Yi ik i YnG mul 100. div put proz_Yi_T*i } if k 2 eq {1 0 0 setrgbcolor Yi ik i YnR mul 100. div put proz_Yi_T*i } if k 3 eq {0 0 1 setrgbcolor Yi ik i YnB mul 100. div put proz_Yi_T*i } if } for %i=1,100 100 k 20 mul sub setlinewidth } bind def %END Yi_T*i_dYi %STOPA2 %************************************************************ %%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 % gsave %XCHA01.PS END 5 /Times-ISOL1 FS %72 85 moveto (CGE61-7R) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale /xwidth 11600 def /ywidth 17100 def 0 setlinewidth 1.0 setgray %0 0 xwidth ywidth rec fill %0 0 xwidth ywidth rec clip 20 setlinewidth 0 setgray %0 0 xwidth ywidth rec stroke /xchartl 5 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 150 /Times-ISOL1 FS 0 setgray 100 -150 moveto %only 0<=xchartl<=7 (CGE61-) show xchartl 1 add cvishow (A) show %A %(_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.5 setgray 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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke tdw /xtr0 400 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 tdn 0 0 moveto 4000 500 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke 4000 550 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill /MULX 1000 def xchartl 1 le {/MULY 5 def} %for linear T* {/MULY 1000 def} ifelse 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 tdw 3300 100 moveto TBIL (Y) show (u) ibLn TBL (=) show Yu cvishow tdn /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 tdw 2600 0 moveto 1300 0 rlineto stroke tdg [100] 0 setdash 2600 0 moveto 1300 0 rlineto stroke [ ] 0 setdash tdw 2600 50 moveto 0 -150 rlineto stroke 2320 100 moveto TBIL (Y) show 0 -50 rmoveto TBS (N) show 0 50 rmoveto TBL (=4) show tdn %!y-Achse: 100 S-Einheiten = 1000 Skalen-Einheiten /j1y 1 def %default /j2y 4 def xchartl 0 eq xchartl 10 eq or {/j1y 1 def /j2y 4 def} if xchartl 2 eq {/j1y 0 def /j2y 3 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 xchartl 2 ge {%xchartl>=2 %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 } if %xchartl>=2 xchartl 1 le {%xchartl<=1 %yshift -1000 0 1000 2000 3000 4000 /ty [( -100)( -50) ( 0) ( 50) ( 100) ( 150)] 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 -470 jyt moveto ty j get show } for } if %xchartl<=1 %******************************************************** %BEG S01_S08 ******************************************** %%STOP0 20 setlinewidth tdw /ytit 3520 def 050 xtr0 sub ytit moveto %allways output term xchartl 00 eq {%xchartl=00 TBIL itT*t show TBL 1500 xtr0 sub ytit 000 sub moveto NameSt show (\255triangle lightness ) showen (\255Dreieckshelligkeit ) showde TBIL itT*t show 1500 xtr0 sub ytit 200 sub moveto TBL (with ) showen (mit ) showde TBIL (Y) show (n) ibLn TBL (=) show TBIL iYL* 0 eq {(Y) show}{(L*) show} ifelse WRGBnibLs WRGBdaten iLABx 0 eq {%iLABx=0 1500 xtr0 sub ytit 400 sub moveto TBL (linear ) showen (lineares ) showde TBIL (L*) show (CIELAB) ibLm TBL ( for ) showen ( f\374r ) showde TBIL (Y) show TBL (<0,88) show } if %iLABx=0 } if %xchartl=00 xchartl 01 eq {%xchartl=01 TBIL itT*t show (/) show itT*t show (u) ibLm TBL 1500 xtr0 sub ytit 000 sub moveto (relative ) showen (Relative ) showde NameSt show (\255triangle lightness ) showen (\255Dreieckshelligkeit ) showde TBIL itT*t show 1500 xtr0 sub ytit 200 sub moveto TBL (with ) showen (mit ) showde TBIL (Y) show (n) ibLn TBL (=) show TBIL iYL* 0 eq {(Y) show}{(L*) show} ifelse WRGBnibLs WRGBdaten iLABx 0 eq {%iLABx=0 1500 xtr0 sub ytit 400 sub moveto TBL (linear ) showen (lineares ) showde TBIL (L*) show (CIELAB) ibLm TBL ( for ) showen ( f\374r ) showde TBIL (Y) show TBL (<0,88) show } if %iLABx=0 } if %xchartl=01 xchartl 02 eq {%xchartl=02 TBL (log ) show SK (D) show 20 0 rmoveto TBIL (Y ) show 2000 xtr0 sub ytit 000 sub moveto TBL NameSt show (\255) show 2000 xtr0 sub ytit 200 sub moveto TBL (tristimulus value difference) showen (Normfarbwertdifferenz) showde 2000 xtr0 sub ytit 400 sub moveto (with ) showen (mit ) showde TBIL (Y) show (n) ibLn TBL (=) show TBIL iYL* 0 eq {(Y) show}{(L*) show} ifelse WRGBnibLs WRGBdaten } if %xchartl=02 xchartl 03 eq {%xchartl=03 TBL (log\050) show SK (D) show 20 0 rmoveto TBIL (Y) show TBL (/) show SK (D) show TBIL (Y) show (u) ibLn TBL (\051 ) show 2000 xtr0 sub ytit 000 sub moveto TBL (relative ) showen (Relative ) showde NameSt show (\255) show 2000 xtr0 sub ytit 200 sub moveto TBL (tristimulus value difference) showen (Normfarbwertdifferenz) showde 2000 xtr0 sub ytit 400 sub moveto (with ) showen (mit ) showde TBIL (Y) show (n) ibLn TBL (=) show TBIL iYL* 0 eq {(Y) show}{(L*) show} ifelse WRGBnibLs WRGBdaten } if %xchartl=03 xchartl 04 eq {%xchartl=04 TBL (log \050) show SK (D) show TBIL (Y/Y\051 ) show TBL 2500 xtr0 sub ytit 000 sub moveto TBL NameSt show (\255) show 2500 xtr0 sub ytit 200 sub moveto TBL (tristimulus value sensitivity) showen (Normfarbwertemfindlichkeit) showde 2500 xtr0 sub ytit 400 sub moveto (with ) showen (mit ) showde TBIL (Y) show (n) ibLn TBL (=) show TBIL iYL* 0 eq {(Y) show}{(L*) show} ifelse WRGBnibLs WRGBdaten } if %xchartl=04 xchartl 05 eq {%xchartl=05 TBL (log [\050) show SK (D) show TBIL (Y/Y) show TBL (\051 / \050) show SK (D) show TBIL (Y) show (u) ibLn TBL (/) show TBIL (Y) show (u) ibLn TBL (\051] ) show 2750 xtr0 sub ytit 000 sub moveto TBL (relative ) showen (Relative ) showde NameSt show (\255) show 2750 xtr0 sub ytit 200 sub moveto TBL (tistimulus value sensitivity) showen (Normfarbwertempfindlichkeit) showde 2750 xtr0 sub ytit 400 sub moveto % (with ) showen % (mit ) showde TBIL (Y) show (n) ibLn TBL (=) show TBIL iYL* 0 eq {(Y) show}{(L*) show} ifelse WRGBnibLs WRGBdaten } if %xchartl=05 xchartl 06 eq {%xchartl=06 TBL (log \050) show TBIL (Y/) show SK (D) show TBIL (Y) show TBL (\051 ) show 2500 xtr0 sub ytit 000 sub moveto TBL NameSt show (\255) show 2500 xtr0 sub ytit 200 sub moveto TBL (tristimulus value contrast) showen (Normfarbwertkontrast) showde 2500 xtr0 sub ytit 400 sub moveto % (with ) showen % (mit ) showde TBIL (Y) show (n) ibLn TBL (=) show TBIL iYL* 0 eq {(Y) show}{(L*) show} ifelse WRGBnibLs WRGBdaten } if %xchartl=06 xchartl 07 eq {%xchartl=07 TBL (log [\050) show TBIL (Y/) show SK (D) show TBIL (Y) show (\051 / \050) show TBIL (Y) show (u) ibLn TBL (/) show SK (D) show TBIL (Y) show (u) ibLn TBL (\051] ) show 2750 xtr0 sub ytit 000 sub moveto TBL (relative ) showen (relative ) showde NameSt show (\255) show 2750 xtr0 sub ytit 200 sub moveto TBL (tistimulus value contrast) showen (Normfarbwertkontrast) showde 2750 xtr0 sub ytit 400 sub moveto % (with ) showen % (mit ) showde TBIL (Y) show (n) ibLn TBL (=) show TBIL iYL* 0 eq {(Y) show}{(L*) show} ifelse WRGBnibLs WRGBdaten } if %xchartl=07 tdw %********************************************************************* /proz_T* {%BEG proz_T* TBIL itT*t show NameSt ibLs TBL (=A) show (2n) ibLs TBL ([ln) show TBL ([\050A) show (1n) ibLs TBL (+A) show (2n) ibLs TBIL (Y) show TBL (\051]/) show TBL (A) show (2n) ibLs TBL (]) show 80 0 rmoveto TBL (\050) show %TBIL (Y) show (u) ibLn %TBL (=) show Yu cvishow (, ) show TBIL (Y) show (n) ibLn TBL (/100<) show TBIL (Y) show TBL (<=) show TBIL (Y) show (n) ibLn TBL (\051) show } bind def %END proz_T* %********************************************************************* /S01_ALOG_T* {%BEG S01_ALOG_T* %/Fx0log -2.0 def %/Fy0log 0.0 def /xtr 2000 def /ytr 1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 3 {/k exch def %k=0,0:W,R,G,B Yi_T*i_dYi /i1 001 def /i2 100 def k 0 eq {%k=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 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul T*i ik get T*u sub 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 } if %k=0 k 1 ge {%k=1,2,3 i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul T*i ik get T*u sub 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 } if %k=1,2,3 %STOPV tdw %S01 /x0 050 def /y0t 2500 def k 0 eq {%k=0 % /T*u T*i iu get def xtr neg ytr neg translate %new cero point x0 y0t 0400 sub moveto TBL (T*90-T*u=) show T*i 90 get T*u sub cvsshow2s TBL (, fakj=) show fakj cvsshow3s TBL (, A0=) show A0 cvsshow3s TBL (, A0D65=) show A0D65 cvsshow3s x0 y0t 0600 sub moveto TBL (T*18-T*u=) show T*i 18 get T*u sub cvsshow2s TBL (, A0n=) show A0n cvsshow3s TBL (, A1n=) show A1n cvsshow3s TBL (, A2n=) show A2n cvsshow3s x0 y0t 0800 sub moveto TBL (T*04-T*u=) show T*i 04 get T*u sub cvsshow2s x0 y0t 1000 sub moveto TBL (T*03-T*u=) show T*i 03 get T*u sub cvsshow2s x0 y0t 1200 sub moveto TBL (T*u=) show T*u cvsshow2s %STOPVx x0 T*i iu get ytrl add MULY mul 100 add moveto TBL (log\050) show TBIL itT*t show (u) ibLm TBL (\051=) show T*i iu get cvsshow2s /FYiu1a T*i iu 1 add get def /FYiu1s T*i iu 1 sub get def TBIL (, m) show (u) ibLs TBL (=) show FYiu1a FYiu1s sub Yi iu 1 add get log Yi iu 1 sub get log sub div cvsshow2s %STOPV1 x0 T*i iu get ytrl add MULY mul 250 sub moveto TBIL (L*) show (u) ibLm TBL (=) show L*u 0.5 add cvishow TBL (, ) show TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow % TBIL (, Y) show (u) ibLn % TBL (=) show Yu cvishow % TBIL (, dY) show (u) ibLn % TBL (=) show dYu cvsshow2s % TBIL (, dY) show (u) ibLn TBL (/Y) show (u) ibLn % TBL (=) show dYu Yu div cvsshow4s xtr ytr translate %new cero point } if %k=0 } for %k=0,3 20 setlinewidth tdw [100] 0 setdash /rYdY T*i iu get T*u sub def -2. MULX mul rYdY MULY mul moveto iu log MULX mul rYdY MULY mul lineto iu log MULX mul -200. MULY mul lineto stroke [ ] 0 setdash %tdw %[100] 0 setdash %-2. MULX mul T*u 1000 mul moveto %iu log MULX mul T*u 1000 mul lineto %iu log MULX mul -1. 1000 mul lineto stroke %[ ] 0 setdash %tdw %[100] 0 setdash %/rYdY 1. def %-2. MULX mul rYdY log 1000 mul moveto %iu log MULX mul rYdY log 1000 mul lineto %iu log MULX mul -1. 1000 mul lineto stroke %[ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tdw /Y001DYu T*i 1 get def Y001DYu 0.001 le {/Y001DYu 0.001 def} if /Y100DYu T*i 100 get def 0 Y001DYu ytrl add MULY mul moveto %1 add because y-cero point=+1000 0 Y100DYu ytrl add MULY mul lineto stroke tdg [100] 0 setdash 0 Y001DYu ytrl add MULY mul moveto 0 Y100DYu ytrl add MULY mul lineto stroke [ ] 0 setdash tdw /x0 050 def /y0 2850 def /x1 800 def /y1 3000 def /xdel 800 def /ydel 300 def x0 y0 moveto TBL NameSt show (\255triangle lightness for colours with ) showen (\255Dreieckshelligkeit f\374r Farben mit ) showde TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow x0 y0 0.8 ydel mul sub moveto proz_T* x0 y0 1.6 ydel mul sub moveto TBIL itT*t show (N) ibLn TBL (=) show T*i 3 get 0.4 mul T*i 4 get 0.6 mul add 0.5 add cvishow (, ) show TBIL itT*t show (Z) ibLn TBL (=) show T*i 18 get 0.5 add cvishow (, ) show TBIL itT*t show (W) ibLn TBL (=) show T*i 90 get 0.5 add cvishow TBL (, ) show TBIL (n) show TBL (=) show cx cvsshow2s TBL (, ) show TBIL (A) show (1) ibLs TBL (=) show A1 cvsshow3s TBL (, ) show TBIL (A) show (2) ibLs TBL (=) show A2 cvsshow3s %F(x)=ln[A1+A2*Y]/A2 % =ln[A1+A2*Yu*(Y/Yu)]/A2 % =A0*ln[A1+A2*Yu*(Y/Yu)] % =A0*ln[A1+A21*(Y/Yu)] %dY1=A1+A2*Y %dY1=A1+A2*Yu*(Y/Yu) % =A1+A21*(Y/Yu) %A2=cv*cx, A21=A2*Yu=cvYu %A1=sv %A0=1/A2 %cx=0,86, 0,86, 0,66, 0.43, 1.00 %/A1 sv def %/A2 cv cx mul def %/A0 1 A2 div def tdw /x0 3550 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TBL (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TBL (bereich) showde } def %END S01_ALOG_T* %********************************************************************* /S02_ALOG_T*n {%BEG S02_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 3 {/k exch def %k=0,0:W,R,G,B Yi_T*i_dYi /i1 001 def /i2 100 def k 0 eq {%k=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 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul T*i ik get T*u sub 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 } if %k=0 k 1 ge {%k=1,2,3 i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul T*i ik get T*u sub 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 } if %k=1,2,3 tdw %S02 /x0 050 def /y0t 2500 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point x0 y0t 0400 sub moveto TBL (T*90-T*u=) show T*i 90 get T*u sub cvsshow2s TBL (, fakj=) show fakj cvsshow3s TBL (, A0=) show A0 cvsshow3s TBL (, A0D65=) show A0D65 cvsshow3s x0 y0t 0600 sub moveto TBL (T*18-T*u=) show T*i 18 get T*u sub cvsshow2s TBL (, A0n=) show A0n cvsshow3s TBL (, A1n=) show A1n cvsshow3s TBL (, A2n=) show A2n cvsshow3s x0 y0t 0800 sub moveto TBL (T*04-T*u=) show T*i 04 get T*u sub cvsshow2s x0 y0t 1000 sub moveto TBL (T*03-T*u=) show T*i 03 get T*u sub cvsshow2s x0 y0t 1200 sub moveto TBL (T*u=) show T*u cvsshow2s %old x0 ytr 100 add moveto TBIL itT*t show TBL (/\050) show TBIL itT*t show (u) ibLm TBL (\051]) show TBL (=1) show /FYiu1a T*i iu 2 add get T*i iu 2 sub get div def /FYiu1s 1 def TBIL (, m) show (u) ibLs TBL (=) show % T*i iu 1 add get T*u sub cvsshow2s % (, ) show % T*i iu 1 sub get T*u sub cvsshow2s % (, ) show % Yi iu 1 add get cvsshow2s % (, ) show % Yi iu 1 sub get cvsshow2s % FYiu1a FYiu1s div % Yi iu 1 add get Yi iu 1 sub get div log div cvsshow2s %Bsp +5 log -10 neg log sub=+5log-(+10log) T*i iu 1 add get T*u sub log T*i iu 1 sub get T*u sub neg log sub Yi iu 1 add get log Yi iu 1 sub get log sub div cvsshow2s x0 ytr 250 sub moveto TBIL (L*) show (u) ibLm TBL (=) show L*u 0.5 add cvishow TBL (, ) show TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow % TBIL (, Y) show (u) ibLn % TBL (=) show Yu cvishow % TBIL (, dY) show (u) ibLn % TBL (=) show dYu cvsshow2s % TBIL (, dY) show (u) ibLn TBL (/Y) show (u) ibLn % TBL (=) show dYu Yu div cvsshow4s xtr ytr translate %new cero point } if %k=0 } for %k=0,3 tdw [100] 0 setdash /rYdY 1. def -2. MULX mul rYdY log 1000 mul moveto iu log MULX mul rYdY log 1000 mul lineto iu log MULX mul -1. 1000 mul lineto stroke [ ] 0 setdash %/i1 18 def %[100] 0 setdash %Fx0log MULX mul T*i i1 get T*u div MULY mul moveto %i1 log MULX mul T*i i1 get T*u div 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 tdw /Y001DYu T*i 1 get T*i i1 get div def Y001DYu 0.001 le {/Y001DYu 0.001 def} if /Y100DYu T*i 100 get T*i i1 get div def 0 Y001DYu ytrl add MULY mul moveto %1 add because y-cero point=+1000 0 Y100DYu ytrl add MULY mul lineto stroke tdg [100] 0 setdash 0 Y001DYu ytrl add MULY mul moveto 0 Y100DYu ytrl add MULY mul lineto stroke [ ] 0 setdash tdw /x0 050 def /y0 2850 def /x1 800 def /y1 2700 def /xdel 800 def /ydel 300 def x0 y0 moveto (relative normalized ) showen (relative normierte ) showde NameSt show ( data) showen (\255Daten) showde x0 y0 ydel 0.8 mul sub moveto TBL NameSt show (\255triangle lightness for colours with ) showen (\255Dreieckshelligkeit f\374r Farben mit ) showde TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow %L*= 50(Y/Yn)**cxkt x0 y0 1.6 ydel mul sub moveto proz_T* tdw /x0 3550 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TBL (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TBL (bereich) showde } def %END S02_ALOG_T*n %********************************************************************* /S03_ALOG_DL {%BEG S03_ALOG_DL /xtr 2000 def /ytr 2000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 3 {/k exch def %k=0,0:W,R,G,B Yi_T*i_dYi /i1 001 def /i2 100 def k 0 eq {%k=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 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res dYi ik get def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=0 k 1 ge {%k=1,2,3 i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res dYi ik get def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=1,2,3 tdw %S03 /x0 0200 def k 0 eq {%k=0 /y0t 2500 def xtr neg ytr neg translate %new cero point x0 y0t 0400 sub moveto TBL (dY90=) show dYi 90 get cvsshow2s TBL (, fakj=) show fakj cvsshow3s TBL (, A0=) show A0 cvsshow3s TBL (, A0D65=) show A0D65 cvsshow3s x0 y0t 0600 sub moveto TBL (dY18=) show dYi 18 get cvsshow2s TBL (, A0n=) show A0n cvsshow3s TBL (, A1n=) show A1n cvsshow3s TBL (, A2n=) show A2n cvsshow3s x0 y0t 0800 sub moveto TBL (dY04=) show dYi 04 get cvsshow2s x0 y0t 1000 sub moveto TBL (dY03=) show dYi 03 get cvsshow2s x0 y0t 1200 sub moveto TBL (dYu=) show dYu cvsshow2s x0 dYi iu get log ytrl add MULY mul 250 sub moveto TBL (log) show TBIL ((dY)) show TBL (=) show dYi iu get cvsshow2s /FYiu1a dYi iu 1 add get def /FYiu1s dYi iu 1 sub get def TBIL (, m) show (u) ibLs TBL (=) show FYiu1a log FYiu1s log sub Yi iu 1 add get log Yi iu 1 sub get log sub div cvsshow2s x0 dYi iu get log ytrl add MULY mul 100 add moveto TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow % TBIL (Y) show (u) ibLn % TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLn TBL (=) show dYu cvsshow2s TBIL (, dY) show (u) ibLn TBIL (/Y) show (u) ibLn TBL (=) show dYu Yu div cvsshow4s xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tdw [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 -2. MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tdw /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 tdg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash /x0 050 def /y0 2850 def /ydel 300 def tdw %L*= 50(Y/Yn)**cxkt x0 y0 moveto proz_T* x0 y0 ydel 0.8 mul sub moveto TBL NameSt show (\255tristimulus value difference) showen (\255Normfarbwertdifferenz) showde /x0 250 def x0 y0 ydel 1.6 mul sub moveto TBIL ((dY)) show TBL (=A) show (0n) ibLs TBL (\050A) show (1n) ibLs TBL (+A) show (2n) ibLs TBIL (Y) show TBL (\051/A) show (2n) ibLs TBL (, A) show (1n) ibLs TBL (=0,017, ) show TBL (A) show (2n) ibLs TBL (=0,0058, ) show TBL (A) show (0) ibLs TBL (=1,5) show x0 y0 ydel 2.4 mul sub moveto TBL (for D65, ) showen (f\374r D65, ) showde TBL (A) show (0) ibLs TBL (=1,0 ) show TBL (for A, see ) showen (f\374r A, siehe ) showde TBL (CIE 230:2019) show tdw /x0 3550 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TBL (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TBL (bereich) showde } def %END S03_ALOG_DL %********************************************************************* /S04_ALOG_DLn {%BEG S04_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 3 {/k exch def %k=0,0:W,R,G,B Yi_T*i_dYi /i1 001 def /i2 100 def k 0 eq {%k=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 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res dYi ik get dYu div def % Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=0 k 1 ge {%k=1,2,3 i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res dYi ik get dYu div def % Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=1,2,3 tdw %S04 /x0 0200 def k 0 eq {%k=0 /y0t 2500 def xtr neg ytr neg translate %new cero point x0 y0t 0400 sub moveto TBL (dY*90/dYu=) show dYi 90 get dYu div cvsshow2s TBL (, fakj=) show fakj cvsshow3s TBL (, A0=) show A0 cvsshow3s TBL (, A0D65=) show A0D65 cvsshow3s x0 y0t 0600 sub moveto TBL (dY*18/dYu=) show dYi 18 get dYu div cvsshow2s TBL (, A0n=) show A0n cvsshow3s TBL (, A1n=) show A1n cvsshow3s TBL (, A2n=) show A2n cvsshow3s x0 y0t 0800 sub moveto TBL (dY*04/dYu=) show dYi 04 get dYu div cvsshow2s x0 y0t 1000 sub moveto TBL (dY*03/dYu=) show dYi 03 get dYu div cvsshow2s x0 y0t 1200 sub moveto TBL (dYu=) show dYu cvsshow2s x0 ytr 250 sub moveto TBL (log[) show TBIL ((dY)) show TBL (/\050) show TBIL (dY) show (u) ibLn 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 cvsshow2s x0 ytr 100 add moveto TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow % TBIL (Y) show (u) ibLn % TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLn TBL (=) show dYu cvsshow2s TBIL (, dY) show (u) ibLn TBIL (/Y) show (u) ibLn TBL (=) show dYu Yu div cvsshow4s xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tdw [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 tdw /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 tdg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash tdw /x0 0050 def /y0 2850 def /ydel 300 def tdw %L*= 50(Y/Yn)**cxkt x0 y0 moveto proz_T* x0 y0 ydel 0.8 mul sub moveto (relative ) showen (Relative ) showde NameSt show (\255tristimulus value difference) showen (\255Normfarbwertdifferenz) showde x0 200 add y0 ydel 1.6 mul sub moveto TBIL ((dY)) show TBL (/) show TBIL ((dY)) show (u) ibLs TBL (=A) show (0n) ibLs TBL ([\050A) show (1n) ibLs TBL (+A) show (2n) ibLs TBIL (Y) show TBL (\051/A) show (2n) ibLs TBL (]/) show TBIL ((dY)) show (u) ibLs tdw /x0 3550 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TBL (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TBL (bereich) showde } def %END S04_ALOG_DLn %********************************************************************* /S05_ALOG_DL_L {%BEG S05_ALOG_DL_L /xtr 2000 def /ytr 3000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 3 {/k exch def %k=0,0:W,R,G,B Yi_T*i_dYi /i1 001 def /i2 100 def k 0 eq {%k=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 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res dYi ik get Yi ik get div def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=0 k 1 ge {%k=1,2,3 i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res dYi ik get Yi ik get div def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=1,2,3 tdw %S05 /x0 0100 def k 0 eq {%k=0 /y0t 2500 def xtr neg ytr neg translate %new cero point x0 y0t 0400 sub moveto TBL ((dY/Y)90) show dYi 90 get Yi 90 get div cvsshow2s TBL (, fakj=) show fakj cvsshow3s TBL (, A0=) show A0 cvsshow3s TBL (, A0D65=) show A0D65 cvsshow3s x0 y0t 0600 sub moveto TBL ((dY/Y)18/u) show dYi 18 get Yi 18 get div cvsshow2s TBL (, A0n=) show A0n cvsshow3s TBL (, A1n=) show A1n cvsshow3s TBL (, A2n=) show A2n cvsshow3s x0 y0t 0800 sub moveto TBL ((dY/Y)04/u) show dYi 04 get Yi 04 get div cvsshow2s x0 y0t 1000 sub moveto TBL ((dY/Y)03/u) show dYi 03 get Yi 03 get div cvsshow2s x0 y0t 1200 sub moveto TBL (dYu=) show dYu cvsshow2s 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 cvsshow2s /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 cvsshow2s x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow % TBIL (Y) show (u) ibLn % TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLn TBL (=) show dYu cvsshow2s TBIL (, dY) show (u) ibLn TBIL (/Y) show (u) ibLn TBL (=) show dYu Yu div cvsshow4s xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tdw /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 -3. MULY mul lineto stroke [ ] 0 setdash ioutc 1 eq {cero_line} if xtr neg ytr neg translate %old cero point tdw /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 tdg [100] 0 setdash 0 Y001DYu log 2 add MULY mul moveto 0 Y100DYu log 2 add MULY mul lineto stroke [ ] 0 setdash tdw /x0 0050 def /y0 2850 def /ydel 300 def tdw %L*= 50(Y/Yn)**cxkt x0 y0 moveto proz_T* x0 y0 ydel 0.8 mul sub moveto TBL NameSt show (\255tristimulus value sensitivity) showen (\255Normfarbwertempfindlichkeit) showde %Sr=dY/Y /x0 250 def x0 y0 1.6 ydel mul sub moveto TBIL (dY/Y) show TBL (=A) show (0n) ibLs TBL ([\050A) show (1n) ibLs TBL (+A) show (2n) ibLs TBIL (Y) show TBL (\051/A) show (2n) ibLs TBL (]/) show TBIL ((Y)) show tdw /x0 3550 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TBL (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TBL (bereich) showde } def %END S05_ALOG_DL_L %********************************************************************* /S06_ALOG_DL_Ln {%BEG S06_ALOG_DL_Ln /xtr 2000 def /ytr 1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 3 {/k exch def %k=0,0:W,R,G,B Yi_T*i_dYi /i1 001 def /i2 100 def k 0 eq {%k=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 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res dYi ik get Yi ik get div dYu Yu div div def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=0 k 1 ge {%k=1,2,3 i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res dYi ik get Yi ik get div dYu Yu div div def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=1,2,3 tdw %S06 /x0 0200 def k 0 eq {%k=0 /y0t 2500 def xtr neg ytr neg translate %new cero point x0 y0t 0400 sub moveto TBL ((dY/Y)90/u) show dYi 90 get Yi 90 get div dYu Yu div div cvsshow2s TBL (, fakj=) show fakj cvsshow3s TBL (, A0=) show A0 cvsshow3s TBL (, A0D65=) show A0D65 cvsshow3s x0 y0t 0600 sub moveto TBL ((dY/Y)18/u) show dYi 18 get Yi 18 get div dYu Yu div div cvsshow2s TBL (, A0n=) show A0n cvsshow3s TBL (, A1n=) show A1n cvsshow3s TBL (, A2n=) show A2n cvsshow3s x0 y0t 0800 sub moveto TBL ((dY/Y)04/u) show dYi 04 get Yi 04 get div dYu Yu div div cvsshow2s x0 y0t 1000 sub moveto TBL ((dY/Y)03/u) show dYi 03 get Yi 03 get div dYu Yu div div cvsshow2s x0 y0t 1200 sub moveto TBL (dYu=) show dYu cvsshow2s x0 ytr 250 sub moveto TBL (log[) show TBIL ((dY/Y)) show TBL (/\050) show TBIL (dY) show (u) ibLn TBIL (/Y) show (u) ibLn 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 cvsshow2s x0 ytr 550 sub moveto TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow % TBIL (Y) show (u) ibLn % TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLn TBL (=) show dYu cvsshow2s TBIL (, dY) show (u) ibLn TBIL (/Y) show (u) ibLn TBL (=) show dYu Yu div cvsshow4s xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tdw /i1 18 def [100] 0 setdash /rYdY Yi i1 get dYi i1 get div Yu dYu div div 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 tdw /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 tdg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash tdw /x0 0050 def /y0 2850 def /ydel 300 def tdw %L*= 50(Y/Yn)**cxkt x0 y0 moveto proz_T* x0 y0 ydel 0.8 mul sub moveto TBL (relative ) showen (Relative ) showde NameSt show (\255tristimulus value sensitivity) showen (\255Normfarbwertempfindlichkeit) showde %Sr= (dY/Y)/(dYu/Yu) /x0 250 def x0 y0 ydel 1.6 mul sub moveto TBIL ((dY/Y)) show TBL (/) show TBIL (\050dY) show (u) ibLs TBL (/) show TBIL (Y) show (u) ibLs TBL (\051) show TBL (=A) show (0n) ibLs TBL ([\050A) show (1n) ibLs TBL (+A) show (2n) ibLs TBIL (Y) show TBL (\051/A) show (2n) ibLs TBL (]/) show TBIL (Y) show TBIL (\050(dY)) show (u) ibLs TBL (/\050) show TBIL (Y) show (u) ibLs TBL (\051) show tdw /x0 3550 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TBL (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TBL (bereich) showde } def %END S06_ALOG_DL_Ln %********************************************************************* /S07_ALOG_L_DL {%BEG S07_ALOG_L_DL /xtr 2000 def %/ytr 0000 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 3 {/k exch def %k=0,0:W,R,G,B Yi_T*i_dYi /i1 001 def /i2 100 def k 0 eq {%k=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 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res Yi ik get dYi ik get div def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=0 k 1 ge {%k=1,2,3 i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res Yi ik get dYi ik get div def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=1,2,3 tdw %S07 /x0 0200 def k 0 eq {%k=0 /y0t 1200 def xtr neg ytr neg translate %new cero point x0 y0t 0400 sub moveto TBL ((Y/dY)90) show Yi 90 get dYi 90 get div cvsshow2s TBL (, fakj=) show fakj cvsshow3s TBL (, A0=) show A0 cvsshow3s TBL (, A0D65=) show A0D65 cvsshow3s x0 y0t 0600 sub moveto TBL ((Y/dY)18) show Yi 18 get dYi 18 get div cvsshow2s TBL (, A0n=) show A0n cvsshow3s TBL (, A1n=) show A1n cvsshow3s TBL (, A2n=) show A2n cvsshow3s x0 y0t 0800 sub moveto TBL ((Y/dY)04) show Yi 04 get dYi 04 get div cvsshow2s x0 y0t 1000 sub moveto TBL ((Y/dY)03) show Yi 03 get dYi 03 get div cvsshow2s x0 y0t 1200 sub moveto TBL (dYu=) show dYu cvsshow2s tdw 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 cvsshow2s /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 cvsshow2s x0 Yi iu get dYi iu get div log ytrl add MULY mul 100 add moveto TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow % TBIL (, Y) show (u) ibLn % TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLn TBL (=) show dYu cvsshow2s TBIL (, Y) show (u) ibLn TBIL (/dY) show (u) ibLn TBL (=) show Yu dYu div cvishow xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tdw /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 tdw /Y001DYu Yi 1 get dYi 1 get div def /Y100DYu Yi 100 get dYi 100 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 tdg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash tdw /x0 0050 def /y0 2850 def /ydel 300 def tdw %L*= 50(Y/Yn)**cxkt x0 y0 moveto proz_T* x0 y0 ydel 0.8 mul sub moveto TBL NameSt show (\255tristimulus value contrast) showen (\255Normfarbwertkontrast) showde %Cr=Y/dY /x0 250 def x0 y0 ydel 1.6 mul sub moveto TBIL ((Y/dY)) show TBL (=) show TBIL (Y) show TBL (/[A) show (0n) ibLs TBL (\050A) show (1n) ibLs TBL (+A) show (2n) ibLs TBIL (Y) show TBL (\051/A) show (2n) ibLs TBL (]) show tdw /x0 3550 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TBL (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TBL (bereich) showde } def %END S07_ALOG_L_DL %********************************************************************* /S08_ALOG_L_DLn {%BEG S08_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 0 1 3 {/k exch def %k=0,0:W,R,G,B Yi_T*i_dYi /i1 001 def /i2 100 def k 0 eq {%k=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 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res Yi ik get dYi ik get div Yu dYu div div def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=0 k 1 ge {%k=1,2,3 i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def Yi ik get log MULX mul /Res Yi ik get dYi ik get div Yu dYu div div def Res 0.001 le {/Res 0.001 def} if Res 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 } if %k=1,2,3 tdw %S08 /x0 0200 def k 0 eq {%k=0 /y0t 2500 def xtr neg ytr neg translate %new cero point x0 y0t 0400 sub moveto TBL ((Y/dY)90/u) show Yi 90 get dYi 90 get div Yu dYu div div cvsshow2s TBL (, fakj=) show fakj cvsshow3s TBL (, A0=) show A0 cvsshow3s TBL (, A0D65=) show A0D65 cvsshow3s x0 y0t 0600 sub moveto TBL ((Y/dY)18/u) show Yi 18 get dYi 18 get div Yu dYu div div cvsshow2s TBL (, A0n=) show A0n cvsshow3s TBL (, A1n=) show A1n cvsshow3s TBL (, A2n=) show A2n cvsshow3s x0 y0t 0800 sub moveto TBL ((Y/dY)04/u) show Yi 04 get dYi 04 get div Yu dYu div div cvsshow2s x0 y0t 1000 sub moveto TBL ((Y/dY)03/u) show Yi 03 get dYi 03 get div Yu dYu div div cvsshow2s x0 y0t 1200 sub moveto TBL (dYu=) show dYu cvsshow2s x0 ytr 100 add moveto TBL (log[) show TBIL ((Y/dY)) show TBL (/\050) show TBIL (Y) show (u) ibLn TBIL (/dY) show (u) ibLn 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 cvsshow2s x0 ytr 250 sub moveto TBIL itT*t show (u) ibLm TBL (=) show T*u 0.5 add cvishow % TBIL (, Y) show (u) ibLn % TBL (=) show Yu cvishow TBIL (, dY) show (u) ibLn TBL (=) show dYu cvsshow2s TBIL (, Y) show (u) ibLn TBIL (/dY) show (u) ibLn TBL (=) show Yu dYu div cvishow xtr ytr translate %new cero point } if %k=0 } for %k=0,0 tdw [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 tdw /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 tdg [100] 0 setdash 0 Y001DYu log ytrl add MULY mul moveto 0 Y100DYu log ytrl add MULY mul lineto stroke [ ] 0 setdash /x0 0050 def /y0 2850 def /ydel 300 def tdw %L*= 50(Y/Yn)**cxkt x0 y0 moveto proz_T* tdw x0 y0 ydel 0.8 mul sub moveto TBL (relative ) showen (Relativer ) showde NameSt show (\255tristimulus value contrast) showen (\255Normfarbwertkontrast) showde %Cr= (Y/dY)/(Yu/dYu) x0 100 add y0 ydel 1.6 mul sub moveto TBIL ((Y/dY)) show TBL (/) show TBIL (\050Y) show (u) ibLs TBL (/) show TBIL (dY) show (u) ibLs TBL (\051) show TBL (=) show TBIL (Y) show TBL (/[A) show (0n) ibLs TBL (\050A) show (1n) ibLs TBL (+A) show (2n) ibLs TBIL (Y) show TBL (\051/A) show (2n) ibLs TBL (]/) show TBIL (\050(Y)) show (u) ibLs TBL (/\050) show TBIL (dY) show (u) ibLs TBL (\051) show tdw /x0 3550 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TBL (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TBL (bereich) showde } def %END S08_ALOG_L_DL %**************************************************************** xchartl 00 eq {100 3200 moveto TBIL itT*t show } if xchartl 01 eq {100 3200 moveto TBIL itT*t show (/) show itT*t show (u) ibLm } if xchartl 02 eq {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) ibLn } if xchartl 04 eq {100 3200 moveto TBIL (S) show (r) ibLs TBL (=\050) show SL (D) show TBIL (Y/Y) show TBL (\051) show } if xchartl 05 eq {100 3200 moveto TBIL (S) show (r) ibLs TBL (/) show TBIL (S) 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) ibLn TBL (\051) show } if xchartl 06 eq {100 3200 moveto TBIL (C) show (r) ibLs TBL (=\050) show TBIL (Y/) show SL (D) show TBIL (Y) show TBL (\051) show } if xchartl 07 eq {100 3200 moveto TBIL (C) show (r) ibLs TBL (/) show TBIL (C) show (ru) ibLs TBL (=\050) show TBIL (Y/) show SL (D) show TBIL (Y) show TBL (\051/\050) show TBIL (Y) show (u) ibLn TBL (/) show SL (D) show TBIL (Y) show (u) ibLn TBL (\051) show } if %************************************************************** xchartl 00 eq {S01_ALOG_T*} if xchartl 01 eq {S02_ALOG_T*n} if xchartl 02 eq {S03_ALOG_DL} if xchartl 03 eq {S04_ALOG_DLn} if xchartl 04 eq {S05_ALOG_DL_L} if xchartl 05 eq {S06_ALOG_DL_Ln} if xchartl 06 eq {S07_ALOG_L_DL} if xchartl 07 eq {S08_ALOG_L_DLn} if %END S01_S08********************************************** %******************************************************** 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 grestore %} for %xchartl=0,07 showpage grestore %%Trailer