%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/Y10E00NA.PS6 %%BoundingBox: 07 04 414 292 /pdfmark where {pop} {userdict /pdfmark /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://farbe.li.tu-berlin.de/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark [ /View [ /Fit ] /DOCVIEW pdfmark /sfgray {setgray} bind def %Early Frame File (f) definition /sfrgbcolor {setrgbcolor} bind def /sfcmykcolor {setcmykcolor} bind def %line 20****************************************************** %BEG CET5/OUTLIN10.PS Emty 20210418 %END CET5/OUTLIN10.PS Emty 20210418 %BEG CET5/OUTLIN1X.PS 20210418 %EMPTY %END CET5/OUTLIN1X.PS 20210418 %BEG CET5/OUTLIN1Y2.PS Emty 20210418 %END CET5/OUTLIN1Y2.PS Emty 20210418 /BeginEPSF {% def % Prepare for EPS file /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def /op_count count 1 sub def % Count objects on op stack userdict begin % Make userdict current dict /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath /languagelevel where % If level not equal to 1 then {pop languagelevel where % If level not equal to 1 then 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /EndEPSF {% def % End for EPS file count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat % Clean up dict stack b4_Inc_state restore } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def % !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 /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-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 /TBK {250 /TimesB-ISOL1 FS} bind def /TBM {300 /TimesB-ISOL1 FS} bind def /TBG {350 /TimesB-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 %ANFA CMYKDEF %CMYKDEA0 (A0=Standard-Drucker-CMYKDEF) 15.3.97 /tzac [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzam [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzay [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tzan [1.000 0.933 0.867 0.800 0.733 0.667 0.600 0.533 0.467 0.400 0.333 0.267 0.200 0.132 0.067 0.000 1.000 0.750 0.500 0.250 0.000] def /tza0 [0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000] def /tza1 [1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000] def %ENDE CMYKD /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 /colrecfiLAB* %x y width heigth LAB* { setcolor rec fill} bind def /colrecstLAB* %x y width heigth LAB* { setcolor rec stroke} bind def /colrecficmyn* %x y width heigth cmy0* or 000n* { setcmykcolor rec fill} bind def /colrecstcmyn* %x y width heigth cmy0* or 000n* { setcmykcolor rec stroke} bind def /colrecfiw* %x y width heigth w* { setgray rec fill} bind def /colrecstw* %x y width heigth w* { setgray rec stroke} bind def /colrecfiolv* %x y width heigth olv* { setrgbcolor rec fill} bind def /colrecstolv* %x y width heigth olv* { setrgbcolor rec stroke} bind def /tzocmy0* {0.0 1.0 1.0 0.0} bind def %Reproduction colours /tzlcmy0* {1.0 0.0 1.0 0.0} bind def %cmyn* setcmykcolor /tzvcmy0* {1.0 1.0 0.0 0.0} bind def /tzccmy0* {1.0 0.0 0.0 0.0} bind def /tzmcmy0* {0.0 1.0 0.0 0.0} bind def /tzycmy0* {0.0 0.0 1.0 0.0} bind def /tzoolv* {1.0 0.0 0.0} bind def %Reproduction colours /tzlolv* {0.0 1.0 0.0} bind def %olv* setrgbcolor /tzvolv* {0.0 0.0 1.0} bind def /tzcolv* {0.0 1.0 1.0} bind def /tzmolv* {1.0 0.0 1.0} bind def /tzyolv* {1.0 1.0 0.0} bind def /tzoLAB* [53.34 72.46 50.66] def %Reproduction colours /tzlLAB* [84.93 -79.83 74.80] def %LAB* setcolor /tzvLAB* [32.20 24.88 -37.89] def /tzcLAB* [88.10 -44.88 -13.36] def /tzmLAB* [59.66 90.32 -19.65] def /tzyLAB* [93.76 -20.24 85.93] def /tzncmy0* {1.00 1.00 1.00 0.00} bind def %grey series /tzdcmy0* {0.75 0.75 0.75 0.00} bind def %cmy0* setcmykcolor /tzzcmy0* {0.50 0.50 0.50 0.00} bind def /tzhcmy0* {0.25 0.25 0.25 0.00} bind def /tzwcmy0* {0.00 0.00 0.00 0.00} bind def /tzn000n* {0.00 0.00 0.00 1.00} bind def %grey series 000n* /tzd000n* {0.00 0.00 0.00 0.75} bind def %000n* setcmykcolor /tzz000n* {0.00 0.00 0.00 0.50} bind def /tzh000n* {0.00 0.00 0.00 0.25} bind def /tzw000n* {0.00 0.00 0.00 0.00} bind def /tznw* {0.00} bind def %grey series /tzdw* {0.25} bind def %w* setgray /tzzw* {0.50} bind def /tzhw* {0.75} bind def /tzww* {1.00} bind def /tznolv* {0.00 0.00 0.00} bind def %grey series /tzdolv* {0.25 0.25 0.25} bind def %olv* setrgbcolor /tzzolv* {0.50 0.50 0.50} bind def /tzholv* {0.75 0.75 0.75} bind def /tzwolv* {1.00 1.00 1.00} bind def /tznLAB* [18.01 0.00 0.00] def %grey series /tzdLAB* [37.36 0.00 0.00] def %LAB* setcolor /tzzLAB* [56.71 0.00 0.00] def /tzhLAB* [76.06 0.00 0.00] def /tzwLAB* [95.41 0.00 0.00] def /tfn {0 setgray} bind def /tfw {1 setgray} bind def /A4quer {598 0 translate 90 rotate} def /cvishow {cvi 6 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 %%EndProlog %*********************************************************** %%BeginPageSetup /#copies 1 def %A4querF 0.5 0.5 scale /pgsave save def %%EndPageSetup /SS$ [(G) (E) (S) (F) (I) (J) (M)] def /SC$ [(N) (F) (S) (D) (T) (E) (C)] def /SX$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def /SY$ [(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (A) (B) (C) (D) (E) (F)] def % 0 1 2 3 4 5 % 6 7 8 /EX$ [(1.TXT /.PS) (B.BMP /.PS) (G.GIF /.PS) (H.HTM /.PS) (I.HTM /.PS) (J.JPE /.PS) (P.PDF /.PS) (T.TIF /.PS)] def /EY$ [(1.DAT) (B.DAT) (G.DAT) (H.DAT) (I.DAT) (J.DAT) (P.DAT) (T.DAT)] def %******************************************************************* /lanind1f 01 def /lanind2f 01 def /laninddf 01 def /colorm1f 00 def /colorm2f 00 def /colormdf 01 def /deintp1f 00 def /deintp2f 00 def /deintpdf 01 def /xcolor1f 00 def /xcolor2f 00 def /xcolordf 01 def %2/10 degree observer /xchart1f 00 def /xchart2f 00 def /xchartdf 01 def %1 illuminants /xchart3f 01 def /xchart4f 00 def /xchart5f 00 def %3f:0/1=M/O 5f:1/2=M,M&T /pchart1f 03 def /pchart2f 03 def /pchartdf 01 def %=3 for sRGB, Lr=0 /colsep1f 00 def /colsep2f 00 def /colsepdf 01 def /pmetam1f 00 def /pmetam2f 00 def /pmetamdf 01 def %/lanindf lanind1f def % /lanindf lanind1f def %/lanind1f laninddf lanind2f {/lanindf exch def %/colormf colorm1f def % /colormf colorm1f def %/colorm1f colormdf colorm2f {/colormf exch def %/deintpf deintp1f def % /deintpf deintp1f def %/deintp1f deintpdf deintp2f {/deintpf exch def %/xcolorf xcolor1f def % /xcolorf xcolor1f def %/xcolor1f xcolordf xcolor2f {/xcolorf exch def %/xchartf xchart1f def % /xchartf xchart1f def %/xchart1f xchartdf xchart2f {/xchartf exch def %/pchartf pchart1f def % /pchartf pchart1f def %/pchart1f pchartdf pchart2f {/pchartf exch def %/colsepf colsep1f def % /colsepf colsep1f def %/colsep1f colsepdf colsep2f {/colsepf exch def /lanind lanindf def /colorm colormf def /deintp deintpf def /xcolor xcolorf def /xchart xchartf def /xchartm xchart2f xchart1f sub 1 add def /xchart3 xchart3f def /xchart4 xchart4f def /xchart5 xchart5f def /pchart pchartf def /colsep colsepf def %/pmetamf pmetam1f def % /pmetamf pmetam1f def %pmetam1f pmetamdf pmetam2f {/pmetamf exch def /pmetam pmetamf def %************************************************************* /setgray {sfgray} bind def /setrgbcolor {sfrgbcolor} bind def /setcmykcolor {sfcmykcolor} bind def %72 90 translate %0.01 MM dup scale %0 0 moveto 24600 0 rlineto 0 17220 rlineto % -24600 0 rlineto closepath stroke %000 -240 moveto %240 /Times-ISOL1 FS %lanindf cvishow (-) show %colormf cvishow %deintpf cvishow %xcolorf cvishow %xchartf cvishow %pchartf cvishow %colsepf cvishow (-F) show pmetamf cvishow %grestore gsave /GSS$ SS$ lanind get def /GSC$ SC$ colorm get def /GSX$ SX$ xcolor xcolor 16 idiv 16 mul sub get def /GSY$ SY$ xchart xchart 16 idiv 16 mul sub get def /GEX$ EX$ 0 get def /GEY$ EY$ 0 get def %01 %02 %03 %04 %05 %06 %07 %08 %09 %10 /12RN {12 /Times-Roman FS} bind def /10RN {10 /Times-Roman FS} bind def /12RI {12 /Times-Italic FS} bind def /10RI {10 /Times-Italic FS} bind def /12RB {12 /Times-Bold FS} bind def /10RB {10 /Times-Bold FS} bind def /12RBI {12 /Times-BoldItalic FS} bind def /10RBI {10 /Times-BoldItalic FS} bind def /12TN {12 /Times-ISOL1 FS} bind def /10TN {10 /Times-ISOL1 FS} bind def /12TI {12 /TimesI-ISOL1 FS} bind def /10TI {10 /TimesI-ISOL1 FS} bind def /12TB {12 /TimesB-ISOL1 FS} bind def /10TB {10 /TimesB-ISOL1 FS} bind def /12TBI {12 /TimesBI-ISOL1 FS} bind def /10TBI {10 /TimesBI-ISOL1 FS} bind def %gsave BeginEPSF 28 MM 197 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 10 %line 329 %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 11 %line 339 %!PS-Adobe-3.0 EPSF-3.0 CET50-1, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET50-1,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 12 %line 349 %!PS-Adobe-3.0 EPSF-3.0 CET50-2, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET50-2,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 13 %line 359 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/Y10E00NA.PS3A.PS %%BoundingBox: 70 85 395 335 %%old BoundingBox: 00 00 352 246 /pdfmark03 where {pop} {userdict /pdfmark03 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: http://farbe.li.tu-berlin.de/CET5/CET5.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:2022050112000) /ModDate (D:2022050112000) /DOCINFO pdfmark03 [ /View [ /Fit ] /DOCVIEW pdfmark03 %Y10E00NA.PS3A %BEG CET5/OUTLIN10.PS Emty 20210418 %END CET5/OUTLIN10.PS Emty 20210418 %BEG CET5/OUTLIN1X.PS 20210418 %EMPTY %END CET5/OUTLIN1X.PS 20210418 %BEG CET5/OUTLIN1Y2.PS Emty 20210418 %END CET5/OUTLIN1Y2.PS Emty 20210418 %line 20****************************************************** /BeginEPSF {% def % Prepare for EPS file /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def /op_count count 1 sub def % Count objects on op stack userdict begin % Make userdict current dict /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath /languagelevel where % If level not equal to 1 then {pop languagelevel where % If level not equal to 1 then 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /EndEPSF {% def % End for EPS file count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat % Clean up dict stack b4_Inc_state restore } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def % !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 %%EndProlog %*********************************************************** %%BeginPageSetup /#copies 1 def %A4querF 1.0 dup scale %no change with PXXYYJPGAN_199.COM /pgsave save def %%EndPageSetup %******************************************************************* /lanind1 01 def /lanind2 01 def /laninddf 01 def /lanindmf 01 def /lanind lanind1 def gsave %01 option of further text in frame %02 %03 %04 %05 %06 %07 %08 /xd3 320 2 idiv 1 sub def %160 /yd3 240 2 idiv 1 sub def %119 /xd0 09 def /yd0 11 def /xti 7 array def /yti 7 array def xti 0 xd0 xd3 0.0 mul add put %left top yti 0 yd0 yd3 1.0 mul add put xti 1 xd0 xd3 1.0 mul add put %right top yti 1 yd0 yd3 1.0 mul add put xti 2 xd0 xd3 0.0 mul add put %left down yti 2 yd0 yd3 0.0 mul add put xti 3 xd0 xd3 1.0 mul add put %rigth down yti 3 yd0 yd3 0.0 mul add put 70 85 translate 01 05 translate /xwidth 320 def /ywidth 240 def 1 1 0.5 setrgbcolor 00 00 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 00 00 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke 02 -4 moveto 4 /Times-Roman FS (CET50-3N) show -1 -5 translate -70 -85 translate BeginEPSF 70 85 translate %left top xti 0 get yti 0 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 30 %line 139 %!PS-Adobe-3.0 EPSF-3.0 CET50-3N %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark03 where {pop} {userdict /pdfmark03 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: farbe.li.tu-berlin.de/CET5/CET5.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 pdfmark03 [ /View [ /Fit ] /DOCVIEW pdfmark03 %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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 /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 /tdz {0.5 setgray} bind def %%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 1 def /lanind2 1 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 0 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 4 /Times-ISOL1 FS 72 86 moveto (CET50-1A CES00-3N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke 30 setlinewidth 050 3825 moveto tdw TBL (CIELAB\255Helligkeit) showde (CIELAB lightness) showen TBIL ( L* ) show TBL (as function of CIE tristimulus value) showen (als Funktion des Normfarbwertes) showde TBIL ( Y) show 050 3600 moveto TBL (Koordinaten) showde (coordinates) showen ( L*) jLs TBL ( und) showde ( and) showen ( Y ) jLs TBL (f\374r unbunte Farben) showde (for achromatic colours) showea 680 280 translate 30 setlinewidth tdn 0 0 moveto 3000 250 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke 3000 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 /txw [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 0600 Skalen-Einheiten 0 1 5 {/i exch def /ixt {-150 i 600 mul add} def /ixl { 000 i 600 mul add} def ixt -250 moveto txw i get exec show ixl 60 moveto 0 -120 rlineto stroke } for /ixtt 5 600 mul def /iytt -200 def ixtt 200 add iytt moveto (Y) jLs %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -370 iyt moveto tye i get show -60 iyl moveto 120 0 rlineto stroke } for /i 5 def -300 130 i 0600 mul add moveto TBIL (L*) show /Yi 101 array def /L*i 101 array def /e1D3 1. 3. div def 1 1 100 {/i exch def %i=0,100 L*i i i 100. div e1D3 exp 116 mul 16 sub put } for %i=0,100 0000 0000 translate %new cero point /MULX 30 def /MULY 30 def tdw 30 setlinewidth /i1 000 def /i2 100 def L*i 0 0. put i1 1 i2 {/i exch def %i=i1,i2 i MULX mul L*i i get 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 /L*N L*i 3 get 0.4 mul L*i 4 get 0.6 mul add def /YN 3.6 def /L*u L*i 18 get def /Yu 18 def /L*W L*i 90 get def /YW 90 def tdw %x-axis mark YN MULX mul 0 MULY mul moveto YW MULX mul 0 MULY mul lineto stroke %y-axis mark 0 MULX mul L*N MULY mul moveto 0 MULX mul L*W MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN MULX mul 0 MULY mul moveto YW MULX mul 0 MULY mul lineto stroke %y-axis mark 0 MULX mul L*N MULY mul moveto 0 MULX mul L*W MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash 0 MULX mul L*u MULY mul moveto Yu MULX mul L*u MULY mul lineto Yu MULX mul 0. MULY mul lineto stroke [ ] 0 setdash -400 1500 060 sub moveto (49,4) bLs 050 1500 060 add moveto (L*) jLs -20 0 rmoveto (u) ibLs 600 020 add 100 moveto (Y) jLs (u) ibLs (=18) bLs newpath tdn YN MULX mul L*N MULY mul 100 0 360 arc fill tdw Yu MULX mul L*u MULY mul 110 0 360 arc fill tdz Yu MULX mul L*u MULY mul 090 0 360 arc fill tdw YW MULX mul L*W MULY mul 100 0 360 arc fill TBL YN MULX mul 150 add L*N MULY mul 50 sub moveto YN cvsshow1x (, ) show L*N cvsshow1x Yu MULX mul 150 add L*u MULY mul 50 sub moveto Yu cvsshow1x (, ) show L*u cvsshow1x YW MULX mul 150 add L*W MULY mul 80 sub moveto YW cvsshow1x (, ) show L*W cvsshow1x 0000 neg 0000 neg translate %old cero point /x0 2000 def /y0 1800 def /ydel 300 def x0 y0 moveto TBL (CIELAB lightness:) showen (CIELAB\255Helligkeit:) showde %L*= 116(Y/Yn)**(1/3)-16 x0 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 %(Yn=100, Y>1) x0 y0 1.9 ydel mul sub moveto TBL (\050) show TBIL (Y) show (n) ibLs TBL (=100, ) show TBIL (Y) show TBL (>1\051) show tdw /x0 3600 def /y0 1000 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 TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %right top xti 1 get yti 1 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 31 %line 149 %!PS-Adobe-3.0 EPSF-3.0 CET50-4N %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark04 where {pop} {userdict /pdfmark04 /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/CET5/CET5.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 pdfmark04 [ /View [ /Fit ] /DOCVIEW pdfmark04 %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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 /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 /tdz {0.5 setgray} bind def %%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 1 def /lanind2 1 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 0 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 4 /Times-ISOL1 FS 72 86 moveto (CET50-2A CES00-4N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke 30 setlinewidth 050 3825 moveto tdw TBL (CIELAB\255Helligkeit) showde (CIELAB lightness) showen TBIL ( L* ) show TBL (as function of log) showen (als Funktion von log) showde 20 0 rmoveto TBIL (Y) show 050 3600 moveto TBL (Koordinaten ) showde (coordinates ) showen TBIL (L* ) jLs TBL ( und ) showde ( and ) showen (log) bLs 20 0 rmoveto (Y) jLs TBL ( f\374r unbunte Farben) showde ( for achromatic colours) showea 680 280 translate 30 setlinewidth tdn 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 /ty [( -1) ( 0) ( 1) ( 2) ] def /txl [( ) (0,1) ( 1) ( 10) (100)] def /tyl [( ) (1) (10) (100) ] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (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 /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20 0 rmoveto (Y) jLs /iytt 050 def ixtt 200 add iytt moveto (Y) jLs tdn %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -370 iyt moveto tye i get show -60 iyl moveto 120 0 rlineto stroke } for /i 5 def -300 130 i 0600 mul add moveto TBIL (L*) show /Yi 101 array def /L*i 101 array def /e1D3 1. 3. div def 1 1 100 {/i exch def %i=0,100 L*i i i 100. div e1D3 exp 116 mul 16 sub put } for %i=0,100 2000 0000 translate %new cero point /MULX 1000 def /MULY 30 def tdw 30 setlinewidth /i1 001 def /i2 100 def %L*i 0 0. put i1 1 i2 {/i exch def %i=i1,i2 i log MULX mul L*i i get 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 /L*N L*i 3 get 0.4 mul L*i 4 get 0.6 mul add def /YN 3.6 def /L*u L*i 18 get def /Yu 18 def /L*W L*i 90 get def /YW 90 def tdw %x-axis mark YN log MULX mul 0 MULY mul moveto YW log MULX mul 0 MULY mul lineto stroke %y-axis mark -2 MULX mul L*N MULY mul moveto -2 MULX mul L*W MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN log MULX mul 0 MULY mul moveto YW log MULX mul 0 MULY mul lineto stroke %y-axis mark -2 MULX mul L*N MULY mul moveto -2 MULX mul L*W MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash -2 MULX mul L*u MULY mul moveto Yu log MULX mul L*u MULY mul lineto Yu log MULX mul 0. MULY mul lineto stroke [ ] 0 setdash -2.4 MULX mul 1500 060 sub moveto (49,4) bLs -1.9 MULX mul 1500 060 add moveto (L*) jLs -20 0 rmoveto (u) ibLs Yu log MULX mul 30 add 100 moveto (Y) jLs (u) ibLs (=18) bLs newpath tdn YN log MULX mul L*N MULY mul 100 0 360 arc fill tdw Yu log MULX mul L*u MULY mul 110 0 360 arc fill tdz Yu log MULX mul L*u MULY mul 090 0 360 arc fill tdw YW log MULX mul L*W MULY mul 100 0 360 arc fill TBL YN log 1 sub MULX mul 150 add L*N MULY mul 50 sub moveto YN log cvsshow1x (, ) show L*N cvsshow1x Yu log MULX mul 150 add L*u MULY mul 50 sub moveto Yu log cvsshow1x (, ) show L*u cvsshow1x YW log 1 sub MULX mul 150 add L*W MULY mul 80 sub moveto YW log cvsshow1x (, ) show L*W cvsshow1x 2000 neg 0000 neg translate %old cero point /x0 1000 def /y0 2800 def /ydel 300 def x0 y0 moveto TBL (CIELAB lightness:) showen (CIELAB\255Helligkeit:) showde %L*= 116(Y/Yn)**(1/3)-16 x0 y0 0.9 ydel mul sub moveto (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs %(Yn=100, Y>1) x0 y0 1.9 ydel mul sub moveto (\050) bLs (Y) jLs (n) ibLs (=100, ) bLs (Y) jLs (>1\051) bLs tdw /x0 3600 def /y0 1000 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 TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %left down xti 2 get yti 2 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 32 %line 159 %!PS-Adobe-3.0 EPSF-3.0 CET50-5N %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark05 where {pop} {userdict /pdfmark05 /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/CET5/CET5.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 pdfmark05 [ /View [ /Fit ] /DOCVIEW pdfmark05 %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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 /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 /tdz {0.5 setgray} bind def %%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 1 def /lanind2 1 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 0 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 4 /Times-ISOL1 FS 72 86 moveto (CET50-3A CES00-5N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke 30 setlinewidth 050 3825 moveto tdw TBL (CIELAB\255Helligkeit log) showde (CIELAB lightness log) showen 20 0 rmoveto TBIL (L* ) show TBL (as function of log) showen (als Funktion von log) showde 20 0 rmoveto TBIL (Y) show 050 3600 moveto TBL (Koordinaten) showde (coordinates) showen ( log) bLs 20 0 rmoveto (L*) jLs TBL ( und ) showde ( and ) showen (log) bLs 20 0 rmoveto (Y ) jLs TBL (f\374r unbunte Farben) showde (for achromatic colours) showea 680 280 translate 30 setlinewidth tdn 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 /ty [( -1) ( 0) ( 1) ( 2) ] def /txl [( ) (0,1) ( 1) ( 10) (100)] def /tyl [( ) (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 /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20 0 rmoveto (Y) jLs /iytt 050 def ixtt 200 add iytt moveto (Y) jLs tdn %!y-Achse: 100 S-Einheiten = 1000 Skalen-Einheiten TBL 0 1 3 {/i exch def /iyt {-70 i 1000 mul add} def /iyl {000 i 1000 mul add} def -370 iyt moveto ty i get show i 1 ge {050 iyt moveto tyl i get show} if -60 iyl moveto 120 0 rlineto stroke } for /i 3 def -650 130 i 1000 mul add moveto TBL (log) show 40 0 rmoveto TBIL (L*) show 100 130 i 1000 mul add moveto TBIL (L*) show /Yi 101 array def /L*i 101 array def /e1D3 1. 3. div def 1 1 100 {/i exch def %i=0,100 L*i i i 100. div e1D3 exp 116 mul 16 sub put } for %i=0,100 2000 1000 translate %new cero point /MULX 1000 def /MULY 1000 def tdw 30 setlinewidth /i1 001 def /i2 100 def %L*i 0 0. put i1 1 i2 {/i exch def %i=i1,i2 i log MULX mul L*i i 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 /L*N L*i 3 get 0.4 mul L*i 4 get 0.6 mul add def /YN 3.6 def /L*u L*i 18 get def /Yu 18 def /L*W L*i 90 get def /YW 90 def tdw %x-axis mark YN log MULX mul -1 MULY mul moveto YW log MULX mul -1 MULY mul lineto stroke %y-axis mark -2 MULX mul L*N log MULY mul moveto -2 MULX mul L*W log MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN log MULX mul -1 MULY mul moveto YW log MULX mul -1 MULY mul lineto stroke %y-axis mark -2 MULX mul L*N log MULY mul moveto -2 MULX mul L*W log MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash -2 MULX mul L*u log MULY mul moveto Yu log MULX mul L*u log MULY mul lineto Yu log MULX mul -1 MULY mul lineto stroke [ ] 0 setdash -2.4 MULX mul L*u log MULY mul 060 sub moveto (49,4) bLs -1.9 MULX mul L*u log MULY mul 060 add moveto (L*) jLs -20 0 rmoveto (u) ibLs Yu log MULX mul 020 add 900 neg moveto (Y) jLs (u) ibLs (=18) bLs tdw [100] 0 setdash -1000 1000 moveto 3000 1000 rlineto stroke [ ] 0 setdash -1500 0800 moveto TBIL (m) show TBL (=1/3) show newpath tdn YN log MULX mul L*N log MULY mul 100 0 360 arc fill tdw Yu log MULX mul L*u log MULY mul 110 0 360 arc fill tdz Yu log MULX mul L*u log MULY mul 090 0 360 arc fill tdw YW log MULX mul L*W log MULY mul 100 0 360 arc fill TBL YN log MULX mul 250 sub L*N log MULY mul 350 sub moveto YN cvsshow1x (, ) show L*N cvsshow1x Yu log MULX mul 150 add L*u log MULY mul 100 sub moveto Yu cvsshow1x (, ) show L*u cvsshow1x YW log MULX mul 400 sub L*W log MULY mul 150 add moveto YW cvsshow1x (, ) show L*W cvsshow1x 2000 neg 1000 neg translate %old cero point /x0 0300 def /y0 1300 def /ydel 300 def x0 y0 moveto TBL (CIELAB lightness:) showen (CIELAB\255Helligkeit:) showde %L*= 116(Y/Yn)**(1/3)-16 x0 y0 0.9 ydel mul sub moveto (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs %(Yn=100, Y>1) x0 y0 1.9 ydel mul sub moveto (\050) bLs (Y) jLs (n) ibLs (=100, ) bLs (Y) jLs (>1\051) bLs tdw /x0 3600 def /y0 1000 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 TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %right down xti 3 get yti 3 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 33 %!PS-Adobe-3.0 EPSF-3.0 CET50-7N %%BoundingBox: 70 85 228 206 %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: farbe.li.tu-berlin.de/CET5/CET5.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 pdfmark07 [ /View [ /Fit ] /DOCVIEW pdfmark07 %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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 /ibLs {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 /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 /tdz {0.5 setgray} bind def %%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 1 def /lanind2 1 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 0 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 4 /Times-ISOL1 FS 72 86 moveto (CET50-4A CES00-7N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke 20 setlinewidth 050 3825 moveto tdw TBL (log) show 20 0 rmoveto (C) jLs (r) ibLs ( = log [\050) bLs 20 0 rmoveto (Y/) jLs (D) sLs (Y) jLs (\051/\050) bLs (Y/) jLs (D) sLs (Y) jLs (\051) bLs (u) ibLs TBL (]) show TBL ( relativer CIE\255Kontrast) showde ( relative CIE contrast) showen 050 3600 moveto TBL (Koordinaten) showde (coordinates) showen ( log) bLs 20 0 rmoveto (C) jLs (r) ibLs TBL ( und ) showde ( and ) showen (log) bLs 20 0 rmoveto (Y) jLs TBL ( f\374r unbunte Farben) showde ( for achromatic colours) showea 680 280 translate 30 setlinewidth tdn 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 /ty [( -1) ( 0) ( 1) ( 2) ] def /txl [( ) (0,1) ( 1) ( 10) (100)] def /tyl [( ) (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 /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20 0 rmoveto (Y) jLs /iytt 050 def ixtt 200 add iytt moveto (Y) jLs tdn %!y-Achse: 100 S-Einheiten = 1000 Skalen-Einheiten TBL 0 1 3 {/i exch def /iyt {-70 i 1000 mul add} def /iyl {000 i 1000 mul add} def -370 iyt moveto ty i get show i 1 ge {050 iyt moveto tyl i get show} if -60 iyl moveto 120 0 rlineto stroke } for tdn /i 3 def -650 130 i 1000 mul add moveto TBL (log) show 20 0 rmoveto TBIL (C) show (r) ibLs 100 130 i 1000 mul add moveto TBIL (C) show (r) ibLs /Yi 101 array def /dYi 101 array def /L*i 101 array def /L*iW 101 array def /L*iR 101 array def /L*iG 101 array def /L*iB 101 array def /YnW 100 def %CIELAB /YnR 21 def /YnG 72 def /YnB 07 def /c24 2.4 def %sRGB /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 /Yu 18 def /MULX 1000 def /MULY 1000 def 2000 1000 translate %new cero point %L*=116*(Y/100)**(1/3)-16. %delta_L*/delta_Y=116*(1/3)*(Y/100)**(-2/3) %delta_Y=1/[116*(1/3)*(Y/100)**(-2/3)]=3/116*(Y/100)**(2/3) %delta_Y=3/116*(Y/Yn)**(2/3) 0 1 0 {/k exch def %k=0,3:W,R,G,B %only W 0 1 100 {/i exch def %i=0,100 k 0 eq {1 1 1 setrgbcolor Yi i i YnW mul 100. div put dYi i Yi i get YnW div e20D30 exp c30 mul 116 div put } if k 1 eq {1 0 0 setrgbcolor Yi i i YnR mul 100. div put dYi i Yi i get YnR div e14D24 exp c24 mul put } if k 2 eq {0 1 0 setrgbcolor Yi i i YnG mul 100. div put dYi i Yi i get YnG div e14D24 exp c24 mul put } if k 3 eq {0 0 1 setrgbcolor Yi i i YnB mul 100. div put dYi i Yi i get YnB div e14D24 exp c24 mul put } if } for %i=0,100 40 setlinewidth /i1 001 def /i2 100 def /Yu 18 def /dYu dYi 18 get def L*i 0 0. put i1 1 i2 {/i exch def %i=i1,i2 Yi i get log MULX mul Yi i get dYi i 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 %k=0,0 /CrN3 Yi 3 get dYi 3 get div Yu dYu div div def /CrN4 Yi 4 get dYi 4 get div Yu dYu div div def /CrN CrN3 0.4 mul CrN4 0.6 mul add def /YN 3.6 def /Cru Yi 18 get dYi 18 get div Yu dYu div div def /Yu 18 def /CrW Yi 90 get dYi 90 get div Yu dYu div div def /YW 90 def tdw %x-axis mark YN log MULX mul -1 MULY mul moveto YW log MULX mul -1 MULY mul lineto stroke %y-axis mark -2 MULX mul CrN log MULY mul moveto -2 MULX mul CrW log MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN log MULX mul -1 MULY mul moveto YW log MULX mul -1 MULY mul lineto stroke %y-axis mark -2 MULX mul CrN log MULY mul moveto -2 MULX mul CrW log MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash -2 MULX mul Cru log MULY mul moveto Yu log MULX mul Cru log MULY mul lineto Yu log MULX mul -1 MULY mul lineto stroke [ ] 0 setdash %-2.4 MULX mul Cru log MULY mul 060 sub moveto (49,4) bLs -1.8 MULX mul Cru log MULY mul 080 add moveto (C) jLs -20 0 rmoveto (ru) ibLs Yu log MULX mul 020 add 900 neg moveto (Y) jLs (u) ibLs (=18) bLs newpath tdn YN log MULX mul CrN log MULY mul 100 0 360 arc fill tdw Yu log MULX mul Cru log MULY mul 110 0 360 arc fill tdz Yu log MULX mul Cru log MULY mul 090 0 360 arc fill tdw YW log MULX mul CrW log MULY mul 100 0 360 arc fill TBL YN log MULX mul 250 sub CrN log MULY mul 350 sub moveto YN cvsshow1x (, ) show CrN cvsshow1x Yu log MULX mul 150 add Cru log MULY mul 100 sub moveto Yu cvsshow1x (, ) show Cru cvsshow1x YW log MULX mul 400 sub CrW log MULY mul 150 add moveto YW cvsshow1x (, ) show CrW cvsshow1x 2000 neg 1000 neg translate %old cero point /x0 0800 def /y0 2800 def /ydel 300 def x0 y0 moveto TBL (CIELAB relative contrast:) showen (CIELAB relativer Kontrast:) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto (C) jLs (r) ibLs TBL ( = log\050) show TBIL (Y/Y) show (u) ibLs TBL (\051) show (1/3) ebLs tdw /x0 3600 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 TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer %line 169 %%EndDocument EndEPSF grestore gsave showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 14 %line 369 %!PS-Adobe-3.0 EPSF-3.0 CET50-4, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET50-4,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 28 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 15 %line 379 %!PS-Adobe-3.0 EPSF-3.0 CET50-5, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET50-5,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 16 %line 389 %!PS-Adobe-3.0 EPSF-3.0 CET50-6, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET50-6,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF /xc1 16 def /yc1 12 def /xt 1 def xchart 1 eq {/xt 1 def} if 28 MM xt 0 eq {16 MM sub} if 20 MM xt 0 eq {12 MM sub} if translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %line 399 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/Y10E00NA.PS3A.PS %%BoundingBox: 70 85 395 335 %%old BoundingBox: 00 00 352 246 /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://farbe.li.tu-berlin.de/CET5/CET5.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:2022050112000) /ModDate (D:2022050112000) /DOCINFO pdfmark07 [ /View [ /Fit ] /DOCVIEW pdfmark07 %Y10E00NA.PS3A %BEG CET5/OUTLIN10.PS Emty 20210418 %END CET5/OUTLIN10.PS Emty 20210418 %BEG CET5/OUTLIN1X.PS 20210418 %EMPTY %END CET5/OUTLIN1X.PS 20210418 %BEG CET5/OUTLIN1Y2.PS Emty 20210418 %END CET5/OUTLIN1Y2.PS Emty 20210418 %line 20****************************************************** /BeginEPSF {% def % Prepare for EPS file /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def /op_count count 1 sub def % Count objects on op stack userdict begin % Make userdict current dict /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath /languagelevel where % If level not equal to 1 then {pop languagelevel where % If level not equal to 1 then 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /EndEPSF {% def % End for EPS file count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat % Clean up dict stack b4_Inc_state restore } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def % !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 %%EndProlog %*********************************************************** %%BeginPageSetup /#copies 1 def %A4querF 1.0 dup scale %no change with PXXYYJPGAN_199.COM /pgsave save def %%EndPageSetup %******************************************************************* /lanind1 01 def /lanind2 01 def /laninddf 01 def /lanindmf 01 def /lanind lanind1 def gsave %01 option of further text in frame %02 %03 %04 %05 %06 %07 %08 /xd3 320 2 idiv 1 sub def %160 /yd3 240 2 idiv 1 sub def %119 /xd0 09 def /yd0 11 def /xti 7 array def /yti 7 array def xti 0 xd0 xd3 0.0 mul add put %left top yti 0 yd0 yd3 1.0 mul add put xti 1 xd0 xd3 1.0 mul add put %right top yti 1 yd0 yd3 1.0 mul add put xti 2 xd0 xd3 0.0 mul add put %left down yti 2 yd0 yd3 0.0 mul add put xti 3 xd0 xd3 1.0 mul add put %rigth down yti 3 yd0 yd3 0.0 mul add put 70 85 translate 01 05 translate /xwidth 320 def /ywidth 240 def 1 1 0.5 setrgbcolor 00 00 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 00 00 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke 02 -4 moveto 4 /Times-Roman FS (CET50-7N) show -1 -5 translate -70 -85 translate BeginEPSF 70 85 translate %left top xti 0 get yti 0 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 30 %line 139 %!PS-Adobe-3.0 EPSF-3.0 CET51-3N %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark13 where {pop} {userdict /pdfmark13 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: farbe.li.tu-berlin.de/CET5/CET5.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 pdfmark13 [ /View [ /Fit ] /DOCVIEW pdfmark13 %END PDFDE011 /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 /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 /tdz {0.5 setgray} bind def %%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 1 def /lanind2 1 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 0 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 4 /Times-ISOL1 FS 72 86 moveto (CET50-5A CES01-3N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke /cvishow {cvi 6 string cvs show} def 20 setlinewidth 050 3825 moveto tdw TBL (IECsRGB\255Dreieckshelligkeit) showde (IECsRGB\255triangle lightness) showen ( T* ) jLs TBL (as function of CIE) showen (als Funktion von CIE) showde ( Y) jLs 050 3600 moveto TBL (Koordinaten) showde (coordinates) showen ( T*) jLs TBL ( und) showde ( and) showen ( Y ) jLs TBL (for 4 colours) showen (f\374r 4 Farben) showde ( W) jLs tdr (R) jLs tdg (G) jLs tdb (B) jLs tdw 680 280 translate 40 setlinewidth tdn 0 0 moveto 3000 250 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke 3000 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 /txw [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (100)] def %!x-Achse: 100 Einheiten = 0600 Skalen-Einheiten 0 1 5 {/i exch def /ixt {-150 i 600 mul add} def /ixl { 000 i 600 mul add} def ixt -250 moveto txw i get exec show ixl 60 moveto 0 -120 rlineto stroke } for /ixtt 5 600 mul def /iytt -200 def ixtt 200 add iytt moveto (Y) jLs %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -370 iyt moveto tye i get show -60 iyl moveto 120 0 rlineto stroke } for /i 5 def -300 130 i 0600 mul add moveto TBIL (T*) show /Yi 101 array def /L*i 101 array def /L*iW 101 array def /L*iR 101 array def /L*iG 101 array def /L*iB 101 array def /YnW 100 def %sRGB /YnR 21 def /YnG 72 def /YnB 07 def /e1D24 1. 2.4 div def 0 1 3 {/k exch def %k=0,3:W,R,G,B 0 1 100 {/i exch def %i=0,100 k 0 eq {1 1 1 setrgbcolor Yi i i YnW mul 100. div put L*i i Yi i get YnW div e1D24 exp 100 mul put } if k 1 eq {1 0 0 setrgbcolor Yi i i YnR mul 100. div put L*i i Yi i get YnR div e1D24 exp 100 mul put } if k 2 eq {0 1 0 setrgbcolor Yi i i YnG mul 100. div put L*i i Yi i get YnG div e1D24 exp 100 mul put } if k 3 eq {0 0 1 setrgbcolor Yi i i YnB mul 100. div put L*i i Yi i get YnB div e1D24 exp 100 mul put } if } for %i=0,100 /MULX 30 def /MULY 30 def 40 setlinewidth /i1 001 def /i2 100 def L*i 0 0. put i1 1 i2 {/i exch def %i=i1,i2 Yi i get MULX mul L*i i get 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 %k=0,3 /L*N L*i 3 get 0.4 mul L*i 4 get 0.6 mul add def /YN 3.6 def /L*u L*i 18 get def /Yu 18 def /L*W L*i 90 get def /YW 90 def tdw %x-axis mark YN MULX mul 0 MULY mul moveto YW MULX mul 0 MULY mul lineto stroke %y-axis mark 0 MULX mul L*N MULY mul moveto 0 MULX mul L*W MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN MULX mul 0 MULY mul moveto YW MULX mul 0 MULY mul lineto stroke %y-axis mark 0 MULX mul L*N MULY mul moveto 0 MULX mul L*W MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash 0 MULX mul L*u MULY mul moveto Yu MULX mul L*u MULY mul lineto Yu MULX mul 0. MULY mul lineto stroke [ ] 0 setdash -400 1500 060 sub moveto (48,9) bLs 050 1500 060 add moveto (T*) jLs -20 0 rmoveto (u) ibLs 600 020 add 100 moveto (Y) jLs (u) ibLs (=18) bLs newpath tdn YN MULX mul L*N MULY mul 100 0 360 arc fill tdw Yu MULX mul L*u MULY mul 110 0 360 arc fill tdz Yu MULX mul L*u MULY mul 090 0 360 arc fill tdw YW MULX mul L*W MULY mul 100 0 360 arc fill TBL YN MULX mul 150 add L*N MULY mul 50 sub moveto YN cvsshow1x (, ) show L*N cvsshow1x Yu MULX mul 150 add L*u MULY mul 50 sub moveto Yu cvsshow1x (, ) show L*u cvsshow1x YW MULX mul 150 add L*W MULY mul 80 sub moveto YW cvsshow1x (, ) show L*W cvsshow1x /x0 1550 def /y0 1900 def /ydel 300 def /WRGBn {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw (n) ibLs} def /WRGBu {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw (u) ibLs} def x0 300 sub y0 moveto TBL (sRGB\255triangle lightness) showen (sRGB\255Dreieckshelligkeit) showde 20 0 rmoveto ( \0500<) bLs (Y) jLs (<) bLs (Y) jLs WRGBn (\051) bLs %t*= 100(Y/100)**(1/2,4) x0 y0 1.0 ydel mul sub moveto (T*) jLs WRGBn (W) ibLs ( = 100 \050) bLs (Y/Y) jLs WRGBn (\051) bLs (1/2,4) ebLs x0 y0 2.0 ydel mul sub moveto (\050) bLs (Y) jLs WRGBn (=100, ) bLs tdr (21, ) bLs tdg (72, ) bLs tdb (7) bLs tdw (\051) bLs /T*u 48.9 def /YWn 100 def /YWu 18 def %%(YWRGBn=100) x0 y0 3.0 ydel mul sub moveto (\050) bLs (Y) jLs WRGBu (=18, ) bLs tdr (3,8, ) bLs tdg (13, ) bLs tdb (1,3) bLs tdw (\051) bLs tdw /x0 3600 def /y0 0250 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 TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %right top xti 1 get yti 1 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 31 %line 149 %!PS-Adobe-3.0 EPSF-3.0 CET51-4N %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark14 where {pop} {userdict /pdfmark14 /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/CET5/CET5.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 pdfmark14 [ /View [ /Fit ] /DOCVIEW pdfmark14 %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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 /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 /tdz {0.5 setgray} bind def %%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 1 def /lanind2 1 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 0 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 4 /Times-ISOL1 FS 72 86 moveto (CET50-6A CES01-4N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke /cvishow {cvi 6 string cvs show} def 20 setlinewidth 050 3825 moveto tdw TBL (IECsRGB\255Dreieckshelligkeit) showde (IECsRGB\255triangle lightness) showen ( T* ) jLs TBL (as function of log) showen (als Funktion von log) showde (Y) jLs 050 3600 moveto TBL (Koordinaten) showde (coordinates) showen ( T*) jLs TBL ( und) showde ( and) showen ( log) bLs 20 0 rmoveto (Y) jLs TBL ( for 4 colours) showen ( f\374r 4 Farben) showde ( W) jLs tdr (R) jLs tdg (G) jLs tdb (B) jLs tdw 680 280 translate 30 setlinewidth tdn 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 /ty [( -1) ( 0) ( 1) ( 2) ] def /txl [( ) (0,1) ( 1) ( 10) (100)] def /tyl [( ) (1) (10) (100) ] def /tye [( 0) ( 20) ( 40) ( 60) ( 80) (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 /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20 0 rmoveto (Y) jLs /iytt 050 def ixtt 200 add iytt moveto (Y) jLs tdn %!y-Achse: 100 S-Einheiten = 0600 Skalen-Einheiten TBL 0 1 5 {/i exch def /iyt {-50 i 0600 mul add} def /iyl {000 i 0600 mul add} def -370 iyt moveto tye i get show -60 iyl moveto 120 0 rlineto stroke } for /i 5 def -300 130 i 0600 mul add moveto (T*) jLs /Yi 101 array def /L*i 101 array def /L*iW 101 array def /L*iR 101 array def /L*iG 101 array def /L*iB 101 array def /YnW 100 def %sRGB /YnR 21 def /YnG 72 def /YnB 07 def /e1D24 1. 2.4 div def 2000 0000 translate %new cero point /MULX 1000 def /MULY 30 def 0 1 3 {/k exch def %k=0,3:W,R,G,B 0 1 100 {/i exch def %i=0,100 k 0 eq {1 1 1 setrgbcolor Yi i i YnW mul 100. div put L*i i Yi i get YnW div e1D24 exp 100 mul put } if k 1 eq {1 0 0 setrgbcolor Yi i i YnR mul 100. div put L*i i Yi i get YnR div e1D24 exp 100 mul put } if k 2 eq {0 1 0 setrgbcolor Yi i i YnG mul 100. div put L*i i Yi i get YnG div e1D24 exp 100 mul put } if k 3 eq {0 0 1 setrgbcolor Yi i i YnB mul 100. div put L*i i Yi i get YnB div e1D24 exp 100 mul put } if } for %i=0,100 40 setlinewidth /i1 001 def /i2 100 def L*i 0 0. put i1 1 i2 {/i exch def %i=i1,i2 Yi i get log MULX mul L*i i get 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 %k=0,3 /L*N L*i 3 get 0.4 mul L*i 4 get 0.6 mul add def /YN 3.6 def /L*u L*i 18 get def /Yu 18 def /L*W L*i 90 get def /YW 90 def tdw %x-axis mark YN log MULX mul 0 MULY mul moveto YW log MULX mul 0 MULY mul lineto stroke %y-axis mark -2 MULX mul L*N MULY mul moveto -2 MULX mul L*W MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN log MULX mul 0 MULY mul moveto YW log MULX mul 0 MULY mul lineto stroke %y-axis mark -2 MULX mul L*N MULY mul moveto -2 MULX mul L*W MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash -2 MULX mul L*u MULY mul moveto Yu log MULX mul L*u MULY mul lineto Yu log MULX mul 0. MULY mul lineto stroke [ ] 0 setdash -2.4 MULX mul 1500 060 sub moveto (48,9) bLs -1.9 MULX mul 1500 060 add moveto (T*) jLs -20 0 rmoveto (u) ibLs Yu log MULX mul 30 add 100 moveto (Y) jLs (u) ibLs (=18) bLs %2000 neg 0000 translate %new cero point newpath tdn YN log MULX mul L*N MULY mul 100 0 360 arc fill tdw Yu log MULX mul L*u MULY mul 110 0 360 arc fill tdz Yu log MULX mul L*u MULY mul 090 0 360 arc fill tdw YW log MULX mul L*W MULY mul 100 0 360 arc fill TBL YN log MULX mul 200 sub L*N MULY mul 300 sub moveto YN log cvsshow1x (, ) show L*N cvsshow1x Yu log MULX mul 150 add L*u MULY mul 50 sub moveto Yu log cvsshow1x (, ) show L*u cvsshow1x YW log MULX mul 250 sub L*W MULY mul 200 add moveto YW log cvsshow1x (, ) show L*W cvsshow1x 2000 neg 0000 translate %new cero point /x0 0100 def /y0 3050 def /ydel 300 def /WRGBn {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw (n) ibLs} def /WRGBu {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw (u) ibLs} def x0 y0 moveto ( \050 0<) bLs (Y) jLs (<) bLs (Y) jLs WRGBn (\051) bLs %t*= 100(Y/100)**(1/2,4) x0 y0 1.0 ydel mul sub moveto (T*) jLs WRGBn (W) ibLs ( = 100 \050) bLs (Y/Y) jLs WRGBn (\051) bLs (1/2,4) ebLs x0 y0 2.0 ydel mul sub moveto (\050) bLs (Y) jLs WRGBn (=100, ) bLs tdr (21, ) bLs tdg (72, ) bLs tdb (7) bLs tdw (\051) bLs /L*u 48.9 def /YWn 100 def /YWu 18 def %%(YWRGBn=100) x0 y0 3.0 ydel mul sub moveto (\050) bLs (Y) jLs WRGBu (=18, ) bLs tdr (3,8, ) bLs tdg (13, ) bLs tdb (1,3) bLs tdw (\051) bLs tdw /x0 3600 def /y0 1000 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 TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %left down xti 2 get yti 2 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 32 %line 159 %!PS-Adobe-3.0 EPSF-3.0 CET51-5N %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark15 where {pop} {userdict /pdfmark15 /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/CET5/CET5.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 pdfmark15 [ /View [ /Fit ] /DOCVIEW pdfmark15 %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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 /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 /tdz {0.5 setgray} bind def %%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 1 def /lanind2 1 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 0 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 4 /Times-ISOL1 FS 72 86 moveto (CET50-7A CES01-5N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke /cvishow {cvi 6 string cvs show} def 20 setlinewidth 20 setlinewidth 050 3825 moveto tdw TBL (IECsRGB\255Dreieckshelligkeit log) showde (IECsRGB\255triangle lightness log) showen (T* ) jLs TBL (as function of log) showen (als Funktion von log) showde (Y) jLs 050 3600 moveto TBL (Koordinaten) showde (coordinates) showen ( log) bLs 20 0 rmoveto (T*) jLs TBL ( und) showde ( and) showen ( log) bLs 20 0 rmoveto (Y ) jLs TBL (for 4 colours) showen (f\374r 4 Farben) showde ( W) jLs tdr (R) jLs tdg (G) jLs tdb (B) jLs tdw 680 280 translate 30 setlinewidth tdn 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 /ty [( -1) ( 0) ( 1) ( 2) ] def /txl [( ) (0,1) ( 1) ( 10) (100)] def /tyl [( ) (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 /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20 0 rmoveto (Y) jLs /iytt 050 def ixtt 200 add iytt moveto (Y) jLs tdn %!y-Achse: 100 S-Einheiten = 1000 Skalen-Einheiten TBL 0 1 3 {/i exch def /iyt {-70 i 1000 mul add} def /iyl {000 i 1000 mul add} def -370 iyt moveto ty i get show i 1 ge {050 iyt moveto tyl i get show} if -60 iyl moveto 120 0 rlineto stroke } for /i 3 def -650 130 i 1000 mul add moveto (log) bLs 20 0 rmoveto (T*) jLs 100 130 i 1000 mul add moveto (T*) jLs /Yi 101 array def /L*i 101 array def /L*iW 101 array def /L*iR 101 array def /L*iG 101 array def /L*iB 101 array def /YnW 100 def %sRGB /YnR 21 def /YnG 72 def /YnB 07 def /e1D24 1. 2.4 div def 2000 0000 translate %new cero point /MULX 1000 def /MULY 1000 def 0 1 3 {/k exch def %k=0,3:W,R,G,B 0 1 100 {/i exch def %i=0,100 k 0 eq {1 1 1 setrgbcolor Yi i i YnW mul 100. div put L*i i Yi i get YnW div e1D24 exp 100 mul put } if k 1 eq {1 0 0 setrgbcolor Yi i i YnR mul 100. div put L*i i Yi i get YnR div e1D24 exp 100 mul put } if k 2 eq {0 1 0 setrgbcolor Yi i i YnG mul 100. div put L*i i Yi i get YnG div e1D24 exp 100 mul put } if k 3 eq {0 0 1 setrgbcolor Yi i i YnB mul 100. div put L*i i Yi i get YnB div e1D24 exp 100 mul put } if } for %i=0,100 40 setlinewidth /i1 001 def /i2 100 def L*i 0 0. put i1 1 i2 {/i exch def %i=i1,i2 Yi i get log MULX mul L*i i 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 %k=0,3 /L*N L*i 3 get 0.4 mul L*i 4 get 0.6 mul add def /YN 3.6 def /L*u L*i 18 get def /Yu 18 def /L*W L*i 90 get def /YW 90 def tdw %x-axis mark YN log MULX mul 0 MULY mul moveto YW log MULX mul 0 MULY mul lineto stroke %y-axis mark -2 MULX mul L*N log MULY mul moveto -2 MULX mul L*W log MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN log MULX mul 0 MULY mul moveto YW log MULX mul 0 MULY mul lineto stroke %y-axis mark -2 MULX mul L*N log MULY mul moveto -2 MULX mul L*W log MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash -2 MULX mul L*u log MULY mul moveto Yu log MULX mul L*u log MULY mul lineto Yu log MULX mul 0 MULY mul lineto stroke [ ] 0 setdash -2.4 MULX mul L*u log MULY mul 060 sub moveto (49,4) bLs -1.9 MULX mul L*u log MULY mul 060 add moveto (L*) jLs -20 0 rmoveto (u) ibLs Yu log MULX mul 020 add 900 neg moveto (Y) jLs (u) ibLs (=18) bLs newpath tdn YN log MULX mul L*N log MULY mul 100 0 360 arc fill tdw Yu log MULX mul L*u log MULY mul 110 0 360 arc fill tdz Yu log MULX mul L*u log MULY mul 090 0 360 arc fill tdw YW log MULX mul L*W log MULY mul 100 0 360 arc fill TBL YN log MULX mul 250 sub L*N log MULY mul 350 sub moveto YN cvsshow1x (, ) show L*N cvsshow1x Yu log MULX mul 150 add L*u log MULY mul 100 sub moveto Yu cvsshow1x (, ) show L*u cvsshow1x YW log MULX mul 400 sub L*W log MULY mul 150 add moveto YW cvsshow1x (, ) show L*W cvsshow1x 2000 neg 0000 neg translate %old cero point /x0 0400 def /y0 3050 def /ydel 300 def /WRGBn {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw (n) ibLs} def /WRGBu {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw (u) ibLs} def x0 y0 moveto (\050 0<) bLs (Y) jLs (<) bLs (Y) jLs WRGBn (\051) bLs %t*= 100(Y/100)**(1/2,4) x0 y0 1.0 ydel mul sub moveto (T*) jLs WRGBn (W) ibLs ( = 100 \050) bLs (Y/Y) jLs WRGBn (\051) bLs (1/2,4) ebLs %/y0 1500 def %(YWRGBn=100) x0 y0 2.0 ydel mul sub moveto (\050) bLs (Y) jLs WRGBn (=100, ) bLs tdr (21, ) bLs tdg (72, ) bLs tdb (7) bLs tdw (\051) bLs /L*u 48.9 def /YWn 100 def /YWu 18 def %%(YWRGBn=100) x0 y0 3.0 ydel mul sub moveto (\050) bLs (Y) jLs WRGBu (=18, ) bLs tdr (3,8, ) bLs tdg (13, ) bLs tdb (1,3) bLs tdw (\051) bLs tdw /x0 3600 def /y0 1000 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 TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %right down xti 3 get yti 3 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 33 %!PS-Adobe-3.0 EPSF-3.0 CET51-7N %%BoundingBox: 70 85 228 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/CET5/CET5.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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 /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 /tdz {0.5 setgray} bind def %%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 1 def /lanind2 1 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 0 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 4 /Times-ISOL1 FS 72 86 moveto (CET50-8A CES01-7N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke /cvishow {cvi 6 string cvs show} def 20 setlinewidth 050 3825 moveto tdw TBL (log) show 20 0 rmoveto (C) jLs (r) ibLs ( = log[\050) bLs (Y/) jLs (D) sLs (Y) jLs (\051/\050) bLs (Y/) jLs (D) sLs (Y) jLs (\051) bLs (u) ibLs (] ) bLs TBL (relativer CIE\255Kontrast) showde (relative CIE contrast) showen 050 3600 moveto TBL (Koordinaten ) showde (coordinates ) showen (log) bLs 20 0 rmoveto (C) jLs (r) ibLs TBL ( und ) showde ( and ) showea (log) bLs 20 0 rmoveto (Y) jLs TBL ( for 4 colours) showen ( f\374r 4 Farben) showde tdw( W) jLs tdr (R) jLs tdg (G) jLs tdb (B) jLs tdw 680 280 translate 30 setlinewidth tdn 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 /ty [( -1) ( 0) ( 1) ( 2) ] def /txl [( ) (0,1) ( 1) ( 10) (100)] def /tyl [( ) (1) (10) (100) ] def /ty7 [( -2)( -1) ( 0) ( 1) ( 2) ] def /tyl7 [( )(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 /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20 0 rmoveto (Y) jLs /iytt 050 def ixtt 200 add iytt moveto (Y) jLs tdn %!y-Achse: 100 S-Einheiten = 1000 Skalen-Einheiten TBL 0 1 3 {/i exch def /iyt {-70 i 1000 mul add} def /iyl {000 i 1000 mul add} def -370 iyt moveto ty7 i get show i 1 ge {050 iyt moveto tyl7 i get show} if -60 iyl moveto 120 0 rlineto stroke } for tdn /i 3 def -650 130 i 1000 mul add moveto (log) bLs 20 0 rmoveto (C) jLs (r) ibLs 100 130 i 1000 mul add moveto (C) jLs (r) ibLs /Yi 101 array def /dYi 101 array def /L*i 101 array def /L*iW 101 array def /L*iR 101 array def /L*iG 101 array def /L*iB 101 array def /YnW 100 def %CIELAB /YnR 21 def /YnG 72 def /YnB 07 def /c24 2.4 def %sRGB /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 /Yu 18 def /MULX 1000 def /MULY 1000 def 2000 2000 translate %new cero point %t*=100*(Y/100)**(1/2.4) %delta_t*/delta_Y=100*(1/2.4)*(Y/Yn)**(-1.4/2.4) %delta_Y=1/[100*(1/2.4)*(Y/Yn)**(-1.4/2.4)]=2.4/100*(Y/Yn)**(1.4/2.4) %delta_Y=2.4/100*(Y/Yn)**(1.4/2.4) 0 1 3 {/k exch def %k=0,3:W,R,G,B %only W 0 1 100 {/i exch def %i=0,100 k 0 eq {1 1 1 setrgbcolor Yi i i YnW mul 100. div put dYi i Yi i get YnW div e14D24 exp c24 mul 100 div put } if k 1 eq {1 0 0 setrgbcolor Yi i i YnR mul 100. div put dYi i Yi i get YnR div e14D24 exp c24 mul 100 div put } if k 2 eq {0 1 0 setrgbcolor Yi i i YnG mul 100. div put dYi i Yi i get YnG div e14D24 exp c24 mul 100 div put } if k 3 eq {0 0 1 setrgbcolor Yi i i YnB mul 100. div put dYi i Yi i get YnB div e14D24 exp c24 mul 100 div put } if } for %i=0,100 40 setlinewidth /i1 001 def /i2 100 def /Yu 18 def /dYu dYi 18 get def i1 1 i2 {/i exch def %i=i1,i2 Yi i get log MULX mul Yi i get dYi i 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 k 0 eq {%k=0 only for k=0 /CrN3 Yi 3 get dYi 3 get div Yu dYu div div def /CrN4 Yi 4 get dYi 4 get div Yu dYu div div def /CrN CrN3 0.4 mul CrN4 0.6 mul add def /YN 3.6 def /Cru Yi 18 get dYi 18 get div Yu dYu div div def /Yu 18 def /CrW Yi 90 get dYi 90 get div Yu dYu div div def /YW 90 def tdw %x-axis mark YN log MULX mul -2 MULY mul moveto YW log MULX mul -2 MULY mul lineto stroke %y-axis mark -2 MULX mul CrN log MULY mul moveto -2 MULX mul CrW log MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN log MULX mul -2 MULY mul moveto YW log MULX mul -2 MULY mul lineto stroke %y-axis mark -2 MULX mul CrN log MULY mul moveto -2 MULX mul CrW log MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash -2 MULX mul Cru log MULY mul moveto Yu log MULX mul Cru log MULY mul lineto Yu log MULX mul -2 MULY mul lineto stroke [ ] 0 setdash %-2.4 MULX mul Cru log MULY mul 060 sub moveto (49,4) bLs -1.8 MULX mul Cru log MULY mul 080 add moveto (C) jLs -20 0 rmoveto (ru) ibLs Yu log MULX mul 020 add 900 neg moveto (Y) jLs (u) ibLs (=18) bLs } if %k=0 only for k=0 } for %k=0,3 newpath tdn YN log MULX mul CrN log MULY mul 100 0 360 arc fill tdw Yu log MULX mul Cru log MULY mul 110 0 360 arc fill tdz Yu log MULX mul Cru log MULY mul 090 0 360 arc fill tdw YW log MULX mul CrW log MULY mul 100 0 360 arc fill TBL YN log MULX mul 250 sub CrN log MULY mul 350 sub moveto YN cvsshow1x (, ) show CrN cvsshow1x Yu log MULX mul 150 add Cru log MULY mul 100 sub moveto Yu cvsshow1x (, ) show Cru cvsshow1x YW log MULX mul 400 sub CrW log MULY mul 150 add moveto YW cvsshow1x (, ) show CrW cvsshow1x tdw 2000 neg 2000 neg translate %old cero point /WRGBn {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw (n) ibLs} def /WRGB {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw} def /x0 0300 def /y0 3050 def /ydel 300 def x0 y0 moveto TBL (sRGB relative CIE contrast: ) showen (sRGB relativer CIE\255Kontrast: ) showde %Cr= log[(Y/dY)/(Yu/dYu)] %x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto (C) jLs (r) ibLs (=log\050) bLs (Y/Y) jLs (u) ibLs (\051) bLs (1/2,4) ebLs %delta_L*= delta_Y / [2,4*(Yn)**(1/2,4)/100)*Y**(1,4/2,4)] x0 y0 0.9 ydel mul sub moveto (D) sLs (Y) jLs WRGB ( = [ 0,024\050) bLs (Y) jLs WRGBn (1/2,4) ebLs (\051]) bLs ( Y) jLs (1,4/2,4) ebLs x0 y0 1.8 ydel mul sub moveto (\0500<) bLs (Y) jLs (<=) bLs (Y) jLs WRGBn (\051) bLs tdw /x0 3600 def /y0 0800 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 TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer %line 169 %%EndDocument EndEPSF grestore gsave showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM moveto ( ) show 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 18 %line 409 %!PS-Adobe-3.0 EPSF-3.0 CET50-8, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET50-8,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 197 MM translate 10 /Times-ISOL1 FS 1 1 scale -77 -91 translate %%BeginDocument: Bild 12 %line 419 %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 08 MM sub 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 21 %line 429 %!PS-Adobe-3.0 EPSF-3.0 CET51-1, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET51-1,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 152 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 22 %line 439 %!PS-Adobe-3.0 EPSF-3.0 CET51-2, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET51-2,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 08 MM sub 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 23 %line 449 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/Y10E00NA.PS3A.PS %%BoundingBox: 70 85 395 335 %%old BoundingBox: 00 00 352 246 /pdfmark13 where {pop} {userdict /pdfmark13 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: http://farbe.li.tu-berlin.de/CET5/CET5.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:2022050112000) /ModDate (D:2022050112000) /DOCINFO pdfmark13 [ /View [ /Fit ] /DOCVIEW pdfmark13 %Y10E00NA.PS3A %BEG CET5/OUTLIN10.PS Emty 20210418 %END CET5/OUTLIN10.PS Emty 20210418 %BEG CET5/OUTLIN1X.PS 20210418 %EMPTY %END CET5/OUTLIN1X.PS 20210418 %BEG CET5/OUTLIN1Y2.PS Emty 20210418 %END CET5/OUTLIN1Y2.PS Emty 20210418 %line 20****************************************************** /BeginEPSF {% def % Prepare for EPS file /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def /op_count count 1 sub def % Count objects on op stack userdict begin % Make userdict current dict /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath /languagelevel where % If level not equal to 1 then {pop languagelevel where % If level not equal to 1 then 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /EndEPSF {% def % End for EPS file count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat % Clean up dict stack b4_Inc_state restore } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def % !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 %%EndProlog %*********************************************************** %%BeginPageSetup /#copies 1 def %A4querF 1.0 dup scale %no change with PXXYYJPGAN_199.COM /pgsave save def %%EndPageSetup %******************************************************************* /lanind1 01 def /lanind2 01 def /laninddf 01 def /lanindmf 01 def /lanind lanind1 def gsave %01 option of further text in frame %02 %03 %04 %05 %06 %07 %08 /xd3 320 2 idiv 1 sub def %160 /yd3 240 2 idiv 1 sub def %119 /xd0 09 def /yd0 11 def /xti 7 array def /yti 7 array def xti 0 xd0 xd3 0.0 mul add put %left top yti 0 yd0 yd3 1.0 mul add put xti 1 xd0 xd3 1.0 mul add put %right top yti 1 yd0 yd3 1.0 mul add put xti 2 xd0 xd3 0.0 mul add put %left down yti 2 yd0 yd3 0.0 mul add put xti 3 xd0 xd3 1.0 mul add put %rigth down yti 3 yd0 yd3 0.0 mul add put 70 85 translate 01 05 translate /xwidth 320 def /ywidth 240 def 1 1 0.5 setrgbcolor 00 00 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 00 00 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke 02 -4 moveto 4 /Times-Roman FS (CET51-3N) show -1 -5 translate -70 -85 translate BeginEPSF 70 85 translate %left top xti 0 get yti 0 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 30 %line 139 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/CET50-2A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark02 where {pop} {userdict /pdfmark02 /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/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark02 [ /View [ /Fit ] /DOCVIEW pdfmark02 %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 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth 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 %************************************************* /Yi_L*i_dYi_Cab {%BEG Yi_L*i_dYi_Cab C=CIELAB %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 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_Cab C=CIELAB %************************************************* /Yi_L*i_dYi_C00 {%BEG Yi_L*i_dYi_C00 C00=CIEDE2000 %only for k=0, no L* definition possible %CIEDE2000 %L'=L* %delta_L00=delta_L'/SL %SL2 = 1 + [0,015 (L'q - 50)**2]/[20 + (L'q - 50)**2]**(1/2) % = 1 + [0,015 L's] / [20 + L's]**(1/2) %L's = (L'q - 50)**2 %L'1 = 116*(Y+d_Y)/100)**(1/3)-16 %L'0 = 116*(Y /100)**(1/3)-16 %L'q = 0.5 {L'1 + L'0} %range 1 < Y < 100 %log range 0 < log Y < 2 %delta_E00 = delta_L' / SL %for delta_E00=1: %delta L'/ SL2 = delta L* / SL2 = 1 0 1 100 {/i exch def %i=0,100 Yi i i put dYi i 0.01 put %default L*i i i put %default } for %i=0,100 1 1 100 {/i exch def %i=1,100 for Y /d_Y0 0.005 def %up to 0.999 /d_Ye 0.005 def /iEND 0 def 1 1 999 {/j exch def %j=1,999 for delta_Y iEND 0 eq {%iEND=0 /d_Y d_Y0 j mul def /L'1 i d_Y add 100 div 0.3333 exp 116 mul 16 sub def /L'0 i 100 div 0.3333 exp 116 mul 16 sub def /L'q L'1 L'0 add 0.5 mul def /L's L'q 50 sub 2.0 exp def %SL2 = 1 + [0,015 L's] / [20 + L's]**(1/2) /SL2 0.015 L's mul 20 L's add 0.5 exp div 1 add def L'1 L'0 sub SL2 div 1 ge {/d_Ye d_Y def /iEND 1 def} if } if %iEND=0 } for %j=1,999 Yi i i put dYi i d_Ye put } for %i=1,100 } bind def %END Yi_L*i_dYi_C00 C00=CIEDE2000 %*************************************************** %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 %*************************************************** /Yi_L*i_dYi_L85 {%BEG Yi_L*i_dYi_L85 L85=LABJND 1985 %LABJND /YYL 0.001 def /YFL 0.000001 def /Yu 18. def %dY = (s + q * Y)/c /JNDC 1.5 def %c /JNDS 0.0170 def %s /JNDQ 0.0058 def %q /JNDA JNDQ JNDS div def %a=q/s /JNDT JNDC JNDS div def %t=c/s /JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu /JNDD JNDT JNDA div def %d=t/a %dY = (s + q Y)/ c %dY = [1 + (q/s) Y] / (c/s) = [1 + a Y] / t %dY = [1 + (q/s)*Yu * (Y/Yu)] * (c/s) = [1 + (a*Yu) (Y/Yu)] /t % = [1 + b (Y/Yu)] / t %L*= ln [1 + a Y] * d %dL*/dY = 1 / (1 + a*Y) * a * d) = t / (1 + aY) %for dL*=1: %dY = (1 + a*Y) / t %s=0.0170 %q=0.0058 %c=Y0=1.5 %a=q/s=0.3411 %b=a*Yu=6.1411 %t=c/s=88.23 %d=t/a=258.62 /Yn 100 def /dYu Yu JNDA mul 1 add JNDT div def /L*u Yu JNDA mul 1 add ln JNDD mul def /iu 18 def 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 JNDA mul 1 add ln JNDD mul put dYi ik Yi ik get JNDA mul 1 add JNDT 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_L85=LABJND 1985 %*********************************************** %%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 1 def /lanind2 1 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 % /ioute 0 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 72 90 translate 0.01 MM dup scale /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(1..8)A.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 17100 def /xmax1 11200 def 1 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto (CET51-1A CES30-2A) show %xchart 1 add cvishow0 } if %xbtex0=1 /xchartl xchart def 1 1 1 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 5700 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 5700 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 5700 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 5700 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 050 -140 moveto (CET51-1A CES30-) show xchartl 1 add cvishow (A) show %A /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 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 tfn %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 %********************************************************************* 50 setlinewidth %50 setlinewidth tfn 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3100 rlineto stroke 4500 100 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3100 100 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 -230 moveto tx i get exec show tfb i 1 ge {ixt 100 moveto txl i get exec show} if tfn ixl 60 moveto 0 -120 rlineto stroke } for tfn %tfw 3300 100 moveto (Y) jLs (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20rm (Y) jLs /iytt 050 def ixtt 200 add iytt moveto tfb (Y) jLs tfn tfn 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 3 def xchartl 0 eq {/j1y 2 def /j2y 4 def} if xchartl 4 eq {/j1y 0 def /j2y 2 def} if xchartl 6 eq {/j1y 2 def /j2y 4 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 -400 jyt moveto ty j get show tfb j j1y 1 add ge {100 jyt moveto tyl j get show} if tfn -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** 20 setlinewidth tfn 050 xtr0 sub 3725 ytr0 sub moveto xchartl 00 eq {%xchartl=00 (log) bKs 20rm (L*) jKs 1600 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (LABJND lightness ) showen (LABJND\255Helligkeit ) showde (log \0500,1) bKs 20rm (L*) jKs (85) ibKs (\051) bKs 1 0 0 setrgbcolor 1600 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (CIELAB lightness ) showen (CIELAB\255Helligkeit ) showde (log) bKs 20rm (L*) jKs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log) bKs 20rm (\050) bKs (L*) jKs (/) bKs 20rm (L*) jKs (u) ibKs (\051) bKs 2000 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (normalized LABJND lightness) showen (normierte LABJND\255Helligkeit) showde 2000 xtr0 sub 3725 ytr0 sub 250 sub moveto (log) bKs 20rm (\050) bLs (L*) jKs (85) ibKs ( / ) bLs (L*) jKs (85,u) ibKs (\051) bLs 1 0 0 setrgbcolor 2000 xtr0 sub 3725 ytr0 sub 550 sub moveto TBK (normalized CIELAB lightness) showen (normierte CIELAB\255Helligkeit) showde 2000 xtr0 sub 3725 ytr0 sub 800 sub moveto (log) bKs 20rm (\050) bKs ( L*/L*) jKs (u) ibKs (\051) bKs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bKs 20rm (D) sMs 20rm (Y) jKs 1300 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3725 ytr0 sub 300 sub moveto (10) bKs 20rm (D) sMs 20rm (Y) jKs TBL 0 -50 rmoveto (LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sMs 20rm (Y) jKs TBL 0 -50 rmoveto (CIELAB) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bKs 20rm (\050) bKs (D) sMs 20rm (Y) jKs (/) bKs (D) sMs (Y) jKs (u) ibKs (\051) bKs 1800 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3725 ytr0 sub 250 sub moveto (D) sMs 20rm (Y) jKs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sMs 20rm (Y) jKs (u) ibKs 1800 xtr0 sub 3725 ytr0 sub 500 sub moveto TBK (for LABJND and ) showen (f\374r LABJND und ) showde 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bKs 20rm (\050) bKs (D) sMs (Y/Y) jKs (u) ibKs (\051) bKs 1900 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3725 ytr0 sub 250 sub moveto (10) bKs (S) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jKs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log [\050) bKs (D) sMs (Y/Y) jKs (\051 / \050) bKs (D) sMs (Y/Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sMs (Y/Y) jKs (u) ibKs 2800 xtr0 sub 3725 ytr0 sub 550 sub moveto (LABJND & ) bKs 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bKs 20rm (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs 1900 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE) bKs 20rm (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3725 ytr0 sub 300 sub moveto (0,1) bKs 20rm (C) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jKs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (log) bKs 20rm ([\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051 / \050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (normalized to ) showen (normiert f\374r ) showde (\050) bKs (Y) jKs (/) bKs (D) sMs (Y) jKs (\051) bKs (u) ibKs 2800 xtr0 sub 3725 ytr0 sub 500 sub moveto (LABJND & ) bKs 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=07 %********************************************************************* /C01_ALOG_T*_L* {%BEG C01_ALOG_T*_L* CIELAB /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 1 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def L*i ik L*i ik get 0.1 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C01 /x0 400 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 L*i iu get log MULY mul 250 sub moveto (log) bLs 20rm (L*) jLs (85,u) ibLs (=) bLs L*i iu get log cvsshow2x /FY20 L*i 20 get def /FYiu L*i iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div TBL cvsshow2x x0 L*i iu get log ytrl add MULY mul 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL L*u TBL cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu TBL cvishow } if %n=0 LABJND xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz [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 tfn 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 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 0500 def /y0 2950 def /x1 800 def /y1 2950 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 2.9 ydel mul sub moveto (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show TBL ( \050) show (Y) jLs (n) ibLs TBL (=100, 1) show SL ( \243 ) show (Y) jLs SL ( \243 ) show TBL (100\051) show 0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto (range) showen (bereich) showde } def %END C01_ALOG_T*_L* %********************************************************************* /C02_ALOG_T*DT*u_L*DL*u {%BEG C02_ALOG_T*DTu* CIELAB /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 1 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (85,u) ibLs (\051) bLs (/\050) bLs (L*) jLs (85,u) ibLs (\051]) bLs TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div TBL cvsshow2x x0 ytr 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL TBL Yu cvishow } if %n=0 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz /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 tfn 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 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 2.9 ydel mul sub moveto (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL (- 16) show TBL ( \050) show (Y) jLs (n) ibLs TBL (=100, 1) show SL ( \243 ) show (Y) jLs SL ( \243 ) show TBL (100\051) show 0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C02_ALOG_T*DT*u_L*DL*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 0 1 0 {/k exch def %k=0,0:W,R,G,B 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C03 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get def /FYiu dYi iu get def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get def /FYiu dYi iu get def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 300 sub moveto (log) bLs 20rm (dY) jLs (=) bLs TBL dYi iu get log cvsshow2x /FY20 dYi 20 get def /FYiu dYi iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get log ytrl add MULY mul 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C03 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs x0 y0 moveto TBL (tristimulus value difference according to CIELAB) showen (Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs 20 0 rmoveto (dY) jLs x0 1100 add y0 ydel 1 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (/116\051 ]) bLs ( + (2/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( + (2/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C04 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get dYi iu get div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs (dY) jLs (u) ibLs (/) bLs (dY) jLs (u) ibLs (]) bLs TBL (=0) show (, ) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 0050 def /y0 2400 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C04 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs x0 y0 moveto TBL (relative tristimulus value difference according to CIELAB) showen (relative Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs 20 0 rmoveto (dY) jLs x0 1100 add y0 ydel 1 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (/116\051 ]) bLs ( + (2/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( + (2/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C05 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1300 sub moveto /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1550 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 700 sub moveto /FY16 dYi 16 get Yi 16 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto (dY/Y) jLs (=) bLs TBL dYi iu get Yi iu get div cvsshow2x (, ) show /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 tfn 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 ytrl add MULY mul moveto %1 add because y-cero point=+2000 %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 ioute 0 eq {%ioute=0 tfr %C05 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIELAB) showen (\255Empfindlichkeit nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto ((dY/Y)) jLs ( = log[3 \050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( - (1/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C06 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 0000 sub moveto /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 250 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 500 add moveto /FY16 dYi 16 get Yi 16 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY/Y)) jLs (u) ibLs (/\050) bLs ((dY/Y)) jLs (u) ibLs (]=0) bLs /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 550 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 tfn 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 ioute 0 eq {%ioute=0 tfr %C06 x0 y0 moveto TBL (Normierte ) showde (normalized ) showea (Y) jLs TBL ( sensitivity according to CIELAB) showen (\255Empfindlichkeit nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((dY/Y)/(dY/Y)) jLs (u) ibLs (]) bLs ( = -(1/3) log) bLs 20 0 rmoveto (\050dY/Y) jLs (u) ibLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth 0 setgray %1 1 1 setrgbcolor %C07 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1400 add moveto /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1150 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 550 add moveto /FY16 Yi 16 get dYi 16 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=0 red CIELAB 1 0 0 setrgbcolor x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto (log) bLs 20rm ((Y/dY)) jLs (u) ibLs (=) bLs TBL Yi iu get dYi iu get div log cvsshow2x /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 Yi iu get dYi iu get div log ytrl add MULY mul 120 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 0. MULY mul lineto stroke [ ] 0 setdash tfn 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 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 2700 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C07 x0 y0 moveto (Y) show TBL ( contrast according to CIELAB) showen (\255Kontrast nach CIELAB) showde x0 500 add y0 ydel sub moveto (log) bLs ((Y/dY)) jLs x0 500 add 750 add y0 ydel sub moveto ( = log[\0501/3\051 \050116/) bLs (Y) jLs (n) ibLs (\051]) bLs ( + (1/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 500 add 750 add y0 ydel 2 mul sub moveto ( = log[(1/3) \050116/\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051]) bLs ( + (1/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C08 /x0 0300 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 300 add moveto /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 050 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 Yi 16 get dYi 16 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor 0300 ytr 120 add moveto (log[) bLs ((Y/dY)) jLs (u) ibLs (/\050) bLs ((Y/dY)) jLs (u) ibLs (]=0) bLs /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 400 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C08 x0 y0 moveto TBL (normierter ) showde (normalized ) showen (Y) jLs TBL ( contrast according to CIELAB) showen (\255Kontrast nach CIELAB) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((Y/dY)/(Y/dY)) jLs (u) ibLs (]) bLs ( = (1/3) log) bLs 20 0 rmoveto (\050Y/dY) jLs (u) ibLs (\051) bLs x0 500 add y0 2.0 ydel mul sub moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** tfb /xtfb 200 def xchartl 00 eq {100 3200 xtfb sub moveto (L*) jLs } if xchartl 01 eq {100 3200 xtfb sub moveto (L*/L*) jLs (u) ibLs } if xchartl 02 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs } if xchartl 03 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs } if xchartl 04 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (=) bLs TBL (D) sKs (Y/Y) jLs } if xchartl 05 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (/) bLs (S) jLs (ru) ibLs (=\050) bLs (D) sKs (Y/Y) jLs (\051/\050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs } if xchartl 06 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (=) bLs (Y/) jLs (D) sKs (Y) jLs } if xchartl 07 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (/) bLs (C) jLs (ru) ibLs (=\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs } if tfn %************************************************************** xchartl 00 eq {C01_ALOG_T*_L*} if xchartl 01 eq {C02_ALOG_T*DT*u_L*DL*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 { 5700 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 5700 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 5700 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 5700 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %right top xti 1 get yti 1 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 31 %line 149 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/CET50-8A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark08 where {pop} {userdict /pdfmark08 /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/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark08 [ /View [ /Fit ] /DOCVIEW pdfmark08 %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 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth 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 %************************************************* /Yi_L*i_dYi_Cab {%BEG Yi_L*i_dYi_Cab C=CIELAB %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 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_Cab C=CIELAB %************************************************* /Yi_L*i_dYi_C00 {%BEG Yi_L*i_dYi_C00 C00=CIEDE2000 %only for k=0, no L* definition possible %CIEDE2000 %L'=L* %delta_L00=delta_L'/SL %SL2 = 1 + [0,015 (L'q - 50)**2]/[20 + (L'q - 50)**2]**(1/2) % = 1 + [0,015 L's] / [20 + L's]**(1/2) %L's = (L'q - 50)**2 %L'1 = 116*(Y+d_Y)/100)**(1/3)-16 %L'0 = 116*(Y /100)**(1/3)-16 %L'q = 0.5 {L'1 + L'0} %range 1 < Y < 100 %log range 0 < log Y < 2 %delta_E00 = delta_L' / SL %for delta_E00=1: %delta L'/ SL2 = delta L* / SL2 = 1 0 1 100 {/i exch def %i=0,100 Yi i i put dYi i 0.01 put %default L*i i i put %default } for %i=0,100 1 1 100 {/i exch def %i=1,100 for Y /d_Y0 0.005 def %up to 0.999 /d_Ye 0.005 def /iEND 0 def 1 1 999 {/j exch def %j=1,999 for delta_Y iEND 0 eq {%iEND=0 /d_Y d_Y0 j mul def /L'1 i d_Y add 100 div 0.3333 exp 116 mul 16 sub def /L'0 i 100 div 0.3333 exp 116 mul 16 sub def /L'q L'1 L'0 add 0.5 mul def /L's L'q 50 sub 2.0 exp def %SL2 = 1 + [0,015 L's] / [20 + L's]**(1/2) /SL2 0.015 L's mul 20 L's add 0.5 exp div 1 add def L'1 L'0 sub SL2 div 1 ge {/d_Ye d_Y def /iEND 1 def} if } if %iEND=0 } for %j=1,999 Yi i i put dYi i d_Ye put } for %i=1,100 } bind def %END Yi_L*i_dYi_C00 C00=CIEDE2000 %*************************************************** %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 %*************************************************** /Yi_L*i_dYi_L85 {%BEG Yi_L*i_dYi_L85 L85=LABJND 1985 %LABJND /YYL 0.001 def /YFL 0.000001 def /Yu 18. def %dY = (s + q * Y)/c /JNDC 1.5 def %c /JNDS 0.0170 def %s /JNDQ 0.0058 def %q /JNDA JNDQ JNDS div def %a=q/s /JNDT JNDC JNDS div def %t=c/s /JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu /JNDD JNDT JNDA div def %d=t/a %dY = (s + q Y)/ c %dY = [1 + (q/s) Y] / (c/s) = [1 + a Y] / t %dY = [1 + (q/s)*Yu * (Y/Yu)] * (c/s) = [1 + (a*Yu) (Y/Yu)] /t % = [1 + b (Y/Yu)] / t %L*= ln [1 + a Y] * d %dL*/dY = 1 / (1 + a*Y) * a * d) = t / (1 + aY) %for dL*=1: %dY = (1 + a*Y) / t %s=0.0170 %q=0.0058 %c=Y0=1.5 %a=q/s=0.3411 %b=a*Yu=6.1411 %t=c/s=88.23 %d=t/a=258.62 /Yn 100 def /dYu Yu JNDA mul 1 add JNDT div def /L*u Yu JNDA mul 1 add ln JNDD mul def /iu 18 def 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 JNDA mul 1 add ln JNDD mul put dYi ik Yi ik get JNDA mul 1 add JNDT 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_L85=LABJND 1985 %*********************************************** %%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 1 def /lanind2 1 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 % /ioute 0 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 72 90 translate 0.01 MM dup scale /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(1..8)A.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 17100 def /xmax1 11200 def 1 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto (CET51-2A CES30-8A) show %xchart 1 add cvishow0 } if %xbtex0=1 /xchartl xchart def 7 1 7 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 5700 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 5700 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 5700 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 5700 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 050 -140 moveto (CET51-2A CES30-) show xchartl 1 add cvishow (A) show %A /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 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 tfn %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 %********************************************************************* 50 setlinewidth %50 setlinewidth tfn 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3100 rlineto stroke 4500 100 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3100 100 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 -230 moveto tx i get exec show tfb i 1 ge {ixt 100 moveto txl i get exec show} if tfn ixl 60 moveto 0 -120 rlineto stroke } for tfn %tfw 3300 100 moveto (Y) jLs (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20rm (Y) jLs /iytt 050 def ixtt 200 add iytt moveto tfb (Y) jLs tfn tfn 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 3 def xchartl 0 eq {/j1y 2 def /j2y 4 def} if xchartl 4 eq {/j1y 0 def /j2y 2 def} if xchartl 6 eq {/j1y 2 def /j2y 4 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 -400 jyt moveto ty j get show tfb j j1y 1 add ge {100 jyt moveto tyl j get show} if tfn -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** 20 setlinewidth tfn 050 xtr0 sub 3725 ytr0 sub moveto xchartl 00 eq {%xchartl=00 (log) bKs 20rm (L*) jKs 1600 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (LABJND lightness ) showen (LABJND\255Helligkeit ) showde (log \0500,1) bKs 20rm (L*) jKs (85) ibKs (\051) bKs 1 0 0 setrgbcolor 1600 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (CIELAB lightness ) showen (CIELAB\255Helligkeit ) showde (log) bKs 20rm (L*) jKs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log) bKs 20rm (\050) bKs (L*) jKs (/) bKs 20rm (L*) jKs (u) ibKs (\051) bKs 2000 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (normalized LABJND lightness) showen (normierte LABJND\255Helligkeit) showde 2000 xtr0 sub 3725 ytr0 sub 250 sub moveto (log) bKs 20rm (\050) bLs (L*) jKs (85) ibKs ( / ) bLs (L*) jKs (85,u) ibKs (\051) bLs 1 0 0 setrgbcolor 2000 xtr0 sub 3725 ytr0 sub 550 sub moveto TBK (normalized CIELAB lightness) showen (normierte CIELAB\255Helligkeit) showde 2000 xtr0 sub 3725 ytr0 sub 800 sub moveto (log) bKs 20rm (\050) bKs ( L*/L*) jKs (u) ibKs (\051) bKs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bKs 20rm (D) sMs 20rm (Y) jKs 1300 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3725 ytr0 sub 300 sub moveto (10) bKs 20rm (D) sMs 20rm (Y) jKs TBL 0 -50 rmoveto (LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sMs 20rm (Y) jKs TBL 0 -50 rmoveto (CIELAB) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bKs 20rm (\050) bKs (D) sMs 20rm (Y) jKs (/) bKs (D) sMs (Y) jKs (u) ibKs (\051) bKs 1800 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3725 ytr0 sub 250 sub moveto (D) sMs 20rm (Y) jKs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sMs 20rm (Y) jKs (u) ibKs 1800 xtr0 sub 3725 ytr0 sub 500 sub moveto TBK (for LABJND and ) showen (f\374r LABJND und ) showde 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bKs 20rm (\050) bKs (D) sMs (Y/Y) jKs (u) ibKs (\051) bKs 1900 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3725 ytr0 sub 250 sub moveto (10) bKs (S) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jKs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log [\050) bKs (D) sMs (Y/Y) jKs (\051 / \050) bKs (D) sMs (Y/Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sMs (Y/Y) jKs (u) ibKs 2800 xtr0 sub 3725 ytr0 sub 550 sub moveto (LABJND & ) bKs 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bKs 20rm (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs 1900 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE) bKs 20rm (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3725 ytr0 sub 300 sub moveto (0,1) bKs 20rm (C) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jKs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (log) bKs 20rm ([\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051 / \050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (normalized to ) showen (normiert f\374r ) showde (\050) bKs (Y) jKs (/) bKs (D) sMs (Y) jKs (\051) bKs (u) ibKs 2800 xtr0 sub 3725 ytr0 sub 500 sub moveto (LABJND & ) bKs 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=07 %********************************************************************* /C01_ALOG_T*_L* {%BEG C01_ALOG_T*_L* CIELAB /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 1 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def L*i ik L*i ik get 0.1 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C01 /x0 400 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 L*i iu get log MULY mul 250 sub moveto (log) bLs 20rm (L*) jLs (85,u) ibLs (=) bLs L*i iu get log cvsshow2x /FY20 L*i 20 get def /FYiu L*i iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div TBL cvsshow2x x0 L*i iu get log ytrl add MULY mul 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL L*u TBL cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu TBL cvishow } if %n=0 LABJND xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz [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 tfn 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 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 0500 def /y0 2950 def /x1 800 def /y1 2950 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 2.9 ydel mul sub moveto (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show TBL ( \050) show (Y) jLs (n) ibLs TBL (=100, 1) show SL ( \243 ) show (Y) jLs SL ( \243 ) show TBL (100\051) show 0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto (range) showen (bereich) showde } def %END C01_ALOG_T*_L* %********************************************************************* /C02_ALOG_T*DT*u_L*DL*u {%BEG C02_ALOG_T*DTu* CIELAB /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 1 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (85,u) ibLs (\051) bLs (/\050) bLs (L*) jLs (85,u) ibLs (\051]) bLs TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div TBL cvsshow2x x0 ytr 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL TBL Yu cvishow } if %n=0 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz /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 tfn 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 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 2.9 ydel mul sub moveto (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL (- 16) show TBL ( \050) show (Y) jLs (n) ibLs TBL (=100, 1) show SL ( \243 ) show (Y) jLs SL ( \243 ) show TBL (100\051) show 0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C02_ALOG_T*DT*u_L*DL*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 0 1 0 {/k exch def %k=0,0:W,R,G,B 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C03 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get def /FYiu dYi iu get def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get def /FYiu dYi iu get def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 300 sub moveto (log) bLs 20rm (dY) jLs (=) bLs TBL dYi iu get log cvsshow2x /FY20 dYi 20 get def /FYiu dYi iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get log ytrl add MULY mul 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C03 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs x0 y0 moveto TBL (tristimulus value difference according to CIELAB) showen (Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs 20 0 rmoveto (dY) jLs x0 1100 add y0 ydel 1 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (/116\051 ]) bLs ( + (2/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( + (2/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C04 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get dYi iu get div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs (dY) jLs (u) ibLs (/) bLs (dY) jLs (u) ibLs (]) bLs TBL (=0) show (, ) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 0050 def /y0 2400 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C04 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs x0 y0 moveto TBL (relative tristimulus value difference according to CIELAB) showen (relative Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs 20 0 rmoveto (dY) jLs x0 1100 add y0 ydel 1 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (/116\051 ]) bLs ( + (2/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( + (2/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C05 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1300 sub moveto /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1550 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 700 sub moveto /FY16 dYi 16 get Yi 16 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto (dY/Y) jLs (=) bLs TBL dYi iu get Yi iu get div cvsshow2x (, ) show /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 tfn 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 ytrl add MULY mul moveto %1 add because y-cero point=+2000 %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 ioute 0 eq {%ioute=0 tfr %C05 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIELAB) showen (\255Empfindlichkeit nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto ((dY/Y)) jLs ( = log[3 \050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( - (1/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C06 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 0000 sub moveto /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 250 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 500 add moveto /FY16 dYi 16 get Yi 16 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY/Y)) jLs (u) ibLs (/\050) bLs ((dY/Y)) jLs (u) ibLs (]=0) bLs /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 550 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 tfn 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 ioute 0 eq {%ioute=0 tfr %C06 x0 y0 moveto TBL (Normierte ) showde (normalized ) showea (Y) jLs TBL ( sensitivity according to CIELAB) showen (\255Empfindlichkeit nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((dY/Y)/(dY/Y)) jLs (u) ibLs (]) bLs ( = -(1/3) log) bLs 20 0 rmoveto (\050dY/Y) jLs (u) ibLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth 0 setgray %1 1 1 setrgbcolor %C07 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1400 add moveto /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1150 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 550 add moveto /FY16 Yi 16 get dYi 16 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=0 red CIELAB 1 0 0 setrgbcolor x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto (log) bLs 20rm ((Y/dY)) jLs (u) ibLs (=) bLs TBL Yi iu get dYi iu get div log cvsshow2x /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 Yi iu get dYi iu get div log ytrl add MULY mul 120 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 0. MULY mul lineto stroke [ ] 0 setdash tfn 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 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 2700 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C07 x0 y0 moveto (Y) show TBL ( contrast according to CIELAB) showen (\255Kontrast nach CIELAB) showde x0 500 add y0 ydel sub moveto (log) bLs ((Y/dY)) jLs x0 500 add 750 add y0 ydel sub moveto ( = log[\0501/3\051 \050116/) bLs (Y) jLs (n) ibLs (\051]) bLs ( + (1/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 500 add 750 add y0 ydel 2 mul sub moveto ( = log[(1/3) \050116/\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051]) bLs ( + (1/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C08 /x0 0300 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 300 add moveto /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 050 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 Yi 16 get dYi 16 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor 0300 ytr 120 add moveto (log[) bLs ((Y/dY)) jLs (u) ibLs (/\050) bLs ((Y/dY)) jLs (u) ibLs (]=0) bLs /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 400 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C08 x0 y0 moveto TBL (normierter ) showde (normalized ) showen (Y) jLs TBL ( contrast according to CIELAB) showen (\255Kontrast nach CIELAB) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((Y/dY)/(Y/dY)) jLs (u) ibLs (]) bLs ( = (1/3) log) bLs 20 0 rmoveto (\050Y/dY) jLs (u) ibLs (\051) bLs x0 500 add y0 2.0 ydel mul sub moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** tfb /xtfb 200 def xchartl 00 eq {100 3200 xtfb sub moveto (L*) jLs } if xchartl 01 eq {100 3200 xtfb sub moveto (L*/L*) jLs (u) ibLs } if xchartl 02 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs } if xchartl 03 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs } if xchartl 04 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (=) bLs TBL (D) sKs (Y/Y) jLs } if xchartl 05 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (/) bLs (S) jLs (ru) ibLs (=\050) bLs (D) sKs (Y/Y) jLs (\051/\050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs } if xchartl 06 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (=) bLs (Y/) jLs (D) sKs (Y) jLs } if xchartl 07 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (/) bLs (C) jLs (ru) ibLs (=\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs } if tfn %************************************************************** xchartl 00 eq {C01_ALOG_T*_L*} if xchartl 01 eq {C02_ALOG_T*DT*u_L*DL*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 { 5700 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 5700 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 5700 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 5700 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %left down xti 2 get yti 2 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 32 %line 159 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/CET50-2A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark02 where {pop} {userdict /pdfmark02 /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/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark02 [ /View [ /Fit ] /DOCVIEW pdfmark02 %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 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth 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 %************************************************* /Yi_L*i_dYi_Cab {%BEG Yi_L*i_dYi_Cab C=CIELAB %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 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_Cab C=CIELAB %************************************************* /Yi_L*i_dYi_C00 {%BEG Yi_L*i_dYi_C00 C00=CIEDE2000 %only for k=0, no L* definition possible %identical as for CIELAB %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 %CIEDE2000 %L'=L* %delta_L00=delta_L'/SL %SL2 = 1 + [0,015 (L'q - 50)**2]/[20 + (L'q - 50)**2]**(1/2) % = 1 + [0,015 L's] / [20 + L's]**(1/2) %L's = (L'q - 50)**2 %L'1 = 116*(Y+d_Y)/100)**(1/3)-16 %L'0 = 116*(Y /100)**(1/3)-16 %L'q = 0.5 {L'1 + L'0} %range 1 < Y < 100 %log range 0 < log Y < 2 %delta_E00 = delta_L' / SL %for delta_E00=1: %delta L'/ SL2 = delta L* / SL2 = 1 0 1 100 {/i exch def %i=0,100 Yi i i put dYi i 0.01 put %default L*i i i put %default } for %i=0,100 1 1 100 {/i exch def %i=1,100 for Y /d_Y0 0.005 def %up to 0.999 /d_Ye 0.005 def /iEND 0 def 1 1 999 {/j exch def %j=1,999 for delta_Y iEND 0 eq {%iEND=0 /d_Y d_Y0 j mul def /L'1 i d_Y add 100 div 0.3333 exp 116 mul 16 sub def /L'0 i 100 div 0.3333 exp 116 mul 16 sub def /L'q L'1 L'0 add 0.5 mul def /L's L'q 50 sub 2.0 exp def %SL2 = 1 + [0,015 L's] / [20 + L's]**(1/2) /SL2 0.015 L's mul 20 L's add 0.5 exp div 1 add def L'1 L'0 sub SL2 div 1 ge {/d_Ye d_Y def /iEND 1 def} if } if %iEND=0 } for %j=1,999 Yi i i put dYi i d_Ye put } for %i=1,100 } bind def %END Yi_L*i_dYi_C00 C00=CIEDE2000 %*************************************************** %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 %*************************************************** /Yi_L*i_dYi_L85 {%BEG Yi_L*i_dYi_L85 L85=LABJND 1985 %LABJND /YYL 0.001 def /YFL 0.000001 def /Yu 18. def %dY = (s + q * Y)/c /JNDC 1.5 def %c /JNDS 0.0170 def %s /JNDQ 0.0058 def %q /JNDA JNDQ JNDS div def %a=q/s /JNDT JNDC JNDS div def %t=c/s /JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu /JNDD JNDT JNDA div def %d=t/a %dY = (s + q Y)/ c %dY = [1 + (q/s) Y] / (c/s) = [1 + a Y] / t %dY = [1 + (q/s)*Yu * (Y/Yu)] * (c/s) = [1 + (a*Yu) (Y/Yu)] /t % = [1 + b (Y/Yu)] / t %L*= ln [1 + a Y] * d %dL*/dY = 1 / (1 + a*Y) * a * d) = t / (1 + aY) %for dL*=1: %dY = (1 + a*Y) / t %s=0.0170 %q=0.0058 %c=Y0=1.5 %a=q/s=0.3411 %b=a*Yu=6.1411 %t=c/s=88.23 %d=t/a=258.62 /Yn 100 def /dYu Yu JNDA mul 1 add JNDT div def /L*u Yu JNDA mul 1 add ln JNDD mul def /iu 18 def 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 JNDA mul 1 add ln JNDD mul put dYi ik Yi ik get JNDA mul 1 add JNDT 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_L85=LABJND 1985 %*********************************************** %%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 1 def /lanind2 1 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 % /ioute 0 def %0 1 01 {/ioute exch def %ioute=0,01 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 72 90 translate 0.01 MM dup scale /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(1..8)A.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 17100 def /xmax1 11200 def 1 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto (CET51-3A CES40-2A) show %xchart 1 add cvishow0 } if %xbtex0=1 /xchartl xchart def 1 1 1 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 5700 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 5700 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 5700 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 5700 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 050 -140 moveto (CET51-3A CES40-) show xchartl 1 add cvishow (A) show %A /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 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 tfn %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 %********************************************************************* 50 setlinewidth %50 setlinewidth tfn 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3100 rlineto stroke 4500 100 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3100 100 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 -230 moveto tx i get exec show tfb i 1 ge {ixt 100 moveto txl i get exec show} if tfn ixl 60 moveto 0 -120 rlineto stroke } for tfn %tfw 3300 100 moveto (Y) jLs (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20rm (Y) jLs /iytt 050 def ixtt 200 add iytt moveto tfb (Y) jLs tfn tfn 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 3 def xchartl 0 eq {/j1y 3 def /j2y 5 def} if xchartl 4 eq {/j1y 0 def /j2y 2 def} if %xchartl 6 eq {/j1y 2 def /j2y 4 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 -400 jyt moveto ty j get show tfb j j1y 1 add ge {100 jyt moveto tyl j get show} if tfn -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** /ytr1 250 def 20 setlinewidth tfn 050 xtr0 sub 3725 ytr1 sub moveto xchartl 00 eq {%xchartl=00 (log) bKs 20rm (L*) jKs (85) ibKs 1600 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (LABJND lightness ) showen (LABJND\255Helligkeit ) showde % (log \050) bKs %(0,1) show % (L*) jKs (85) ibKs (\051) bKs 1 0 0 setrgbcolor 1600 xtr0 sub 3725 ytr1 sub 250 sub moveto TBK (no CIEDE2000 lightness ) showen (keine CIEDE2000\255Helligkeit ) showde % (log \050) bKs (L*) jKs (ab) ibKs (\051) bKs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log \050) bKs (L*) jKs (85) ibKs (/) bKs (L*) jKs (85,) ibKs (u) ibKs (\051 ) bKs 2000 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (normalized LABJND lightness) showen (normierte LABJND\255Helligkeit) showde 2000 xtr0 sub 3725 ytr1 sub 250 sub moveto (log \050) bKs %TBK (0,1) show (L*) jKs (85) ibLs TBK ( / ) show ( L*) jKs (85,u) ibKs TBK (\051 ) bKs 1 0 0 setrgbcolor 2000 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (no CIELDE2000 lightness) showen (keine CIELDE2000\255Helligkeit) showde % 2000 xtr0 sub 3725 ytr1 sub 800 sub moveto % (log \050) bKs % ( L*) jKs TBK ( / ) show % ( L*) jKs (u) ibKs TBK % (\051 ) bKs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bKs 20rm (D) sMs 20 0 rmoveto (Y) jKs 1300 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3725 ytr1 sub 300 sub moveto (10) bKs 20rm (D) sMs 20rm (Y) jKs TBS 0 -50 rmoveto (LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sMs 20rm (Y) jKs TBS 0 -50 rmoveto (CIEDE2000) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bKs 20rm (\050) bKs (D) sMs 20rm (Y) jKs (/) bKs (D) sMs (Y) jKs (u) ibKs (\051) bKs 1800 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3725 ytr0 sub 250 sub moveto (D) sMs 20rm (Y) jKs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sMs 20rm (Y) jKs (u) ibKs 1800 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (for LABJND and ) showen (f\374r LABJND und ) showde 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bKs 20rm (\050) bKs (D) sMs (Y/Y\051) jKs 1900 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3725 ytr1 sub 250 sub moveto (10) bKs (S) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jKs TBL 0 -50 rmoveto (r,CIEDE2000) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log) bLs 20rm ([\050) bKs (D) sMs (Y/Y) jKs (\051 / \050) bKs (D) sMs (Y/Y) bKs (\051) bKs (u) ibKs (]) bKs 2750 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2750 xtr0 sub 3725 ytr1 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sMs ((Y/Y)) bKs (u) ibKs 2750 xtr0 sub 3725 ytr1 sub 550 sub moveto TBK (LABJND) show 20rm (&) show 20rm 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bKs 20rm (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs 1900 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3725 ytr1 sub 300 sub moveto (0,1) bKs (C) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jKs TBL 0 -50 rmoveto (r,CIEDE2000) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (log) bKs 20rm ([\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051 / \050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3725 ytr1 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (\050) bKs (Y) jKs (/) bKs (D) sMs (Y) jKs (\051) bKs (u) ibKs 2800 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (LABJND) show 20rm (&) show 20rm 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=07 %********************************************************************* /C01_ALOG_T*_L* {%BEG C01_ALOG_T*_L* CIELAB /Fx0log -2.0 def /Fy0log 0.0 def /xtr 2000 def %/ytr 0000 def /ytr -1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 0 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def %n 0 eq %j 0 eq and {%n=1 LABJND % i1 1 i2 {/i exch def %i=i1,i2 % /ik i k 101 mul add def % L*i ik L*i ik get 0.1 mul put % } for %i=i1,i2 % } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C01 %/x0 400 def /x0 700 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 L*i iu get log ytrl add MULY mul 100 add moveto (log) bLs 20rm (L*) jLs (85,u) ibLs (=) bLs TBL L*i iu get log cvsshow2x /FY20 L*i 20 get def /FYiu L*i iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 L*i iu get log ytrl add MULY mul 400 add moveto (L*) jLs (85,) ibLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow } if %n=0 LABJND xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIEDE2000 tfz %tfz [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 tfn 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 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 %/L*D L*i iu get def %0300 L*D log MULY mul 100 add moveto %(log[) bLs (L*) jLs (u) ibLs TBL (]) show %(=) bLs TBL L*D log cvsshow2x %(, L*) jLs (u) ibLs %(=) bLs TBL L*u cvishow /x0 0700 def /y0 3200 def /x1 800 def /y1 3000 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor %x0 y0 moveto %TBL %(LABJND) show %( and ) showen %( und ) showde %1 0 0 setrgbcolor %(CIEDE2000) show %0 0 0 setrgbcolor %( lightness) showen %(\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85,) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x %1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 %x0 y0 2.9 ydel mul sub moveto %(L*) jLs %TBL ( = 116 \050) show %(Y/Y) jLs %(n) ibLs %(\051) bLs %(1/3) ebLs %TBL ( - 16) show %TBL ( \050) show %(Y) jLs %(n) ibLs %TBL (=100, 1<) show %( Y ) jLs %TBL (<100\051) show %0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto (range) showen (bereich) showde } def %END C01_ALOG_T*_L* %********************************************************************* /C02_ALOG_T*DT*u_L*DL*u {%BEG C02_ALOG_T*DTu* CIEDE2000 /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 {/n exch def %n=0,1 %LABJND & CIEDE2000 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (85) ibLs (\051) bLs (/\050) bLs (L*) jLs (85,u) ibLs (\051]) bLs TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow } if %n=0 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz /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 tfn 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 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show %( and ) showen %( und ) showde %1 0 0 setrgbcolor %(CIELAB) show %0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85,) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x %1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 %x0 y0 2.9 ydel mul sub moveto %(L*) jLs %TBL ( = 116 \050) show %(Y/Y) jLs %(n) ibLs %(\051) bLs %(1/3) ebLs %TBL ( - 16) show %TBL ( \050) show %(Y) jLs %(n) ibLs %TBL (=100, 1<) show %( Y ) jLs %TBL (<100\051) show %0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C02_ALOG_T*DT*u_L*DL*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 0 1 0 {/k exch def %k=0,0:W,R,G,B 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C03 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get def /FYiu dYi iu get def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get def /FYiu dYi iu get def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 300 sub moveto (log) bLs 20rm (dY) jLs (=) bLs TBL dYi iu get log cvsshow2x /FY20 dYi 20 get def /FYiu dYi iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get log ytrl add MULY mul 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C03 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIEDE2000) showen (Normfarbwertdifferenz nach CIEDE2000) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs ((dY)) jLs x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show (Y) jLs (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show (Y) jLs (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C04 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get dYi iu get div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY)) jLs (/\050) bLs (dY) jLs (u) ibLs (\051]) bLs TBL (=0) show (, ) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C04 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIEDE2000) showen (Normfarbwertdifferenz nach CIEDE2000) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs ((dY)) jLs x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show (Y) jLs (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show (Y) jLs (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C05 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1300 sub moveto /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1550 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 700 sub moveto /FY16 dYi 16 get Yi 16 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto (dY/Y) jLs (=) bLs TBL dYi iu get Yi iu get div cvsshow2x (, ) show /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 tfn 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 ytrl add MULY mul moveto %1 add because y-cero point=+2000 %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 ioute 0 eq {%ioute=0 tfr %C05 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIEDE2000) showen (\255Empfindlichkeit nach CIEDE2000) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log[\050) bLs (dY/Y) jLs (\051 = log\0503 \050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116\051) bLs ( - (1/3) log) bLs 20rm (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C06 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 0000 sub moveto /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 250 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 500 add moveto /FY16 dYi 16 get Yi 16 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY/Y)) jLs (u) ibLs (/\050) bLs ((dY/Y)) jLs (u) ibLs (]=0) bLs /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 550 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 tfn 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 ioute 0 eq {%ioute=0 tfr %C06 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIEDE2000) showen (\255Empfindlichkeit nach CIEDE2000) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20rm (\050) bLs (dY/Y) jLs (\051/\050) bLs (dY/Y) jLs (\051) bLs (u) ibLs (]) bLs ( = (-1/3) log\050) bLs (Y/Y) jLs (u) ibLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth 0 setgray %1 1 1 setrgbcolor %C07 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1400 add moveto /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1150 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 550 add moveto /FY16 Yi 16 get dYi 16 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=0 red CIEDE2000 1 0 0 setrgbcolor x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto (log) bLs 20rm ((Y/dY)) jLs (u) ibLs (=) bLs TBL Yi iu get dYi iu get div log cvsshow2x /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 Yi iu get dYi iu get div log ytrl add MULY mul 120 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 0. MULY mul lineto stroke [ ] 0 setdash tfn 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 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 2700 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C07 x0 y0 moveto (Y) jLs TBL ( contrast according to CIEDE2000) showen (\255Kontrast nach CIEDE2000) showde x0 500 add y0 ydel sub moveto (log) bLs ((Y/dY)) jLs x0 500 add 750 add y0 ydel sub moveto ( = log[\0501/3\051) bLs ( \050116/) bLs (Y) jLs (n) ibLs (\051]) bLs ( + (1/3) log) bLs 20rm (\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 500 add 750 add y0 ydel 2 mul sub moveto ( = log[(1/3) \050116/\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051]) bLs ( + (1/3) log) bLs 20rm (\050) bLs (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C08 /x0 0300 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 300 add moveto /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 050 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 Yi 16 get dYi 16 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor 0300 ytr 120 add moveto (log[) bLs ((Y/dY)) jLs (u) ibLs (/) bLs ((Y/dY)) jLs (u) ibLs (]=0) bLs /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 400 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C08 x0 y0 moveto (Y) jLs TBL ( contrast according to CIEDE2000) showen (\255Kontrast nach CIEDE2000) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto (log[) bLs 20rm (\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051) bLs (u) ibLs (]) bLs ( = (1/3) log\050) bLs ((Y/Y)) jLs (u) ibLs (\051) bLs x0 500 add y0 2.0 ydel mul sub moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** tfb /xtfb 200 def xchartl 00 eq {100 3200 xtfb sub moveto (L*) jLs (85) ibLs } if xchartl 01 eq {100 3200 xtfb sub moveto (L*/L*) jLs (85) ibLs } if xchartl 02 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs } if xchartl 03 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs } if xchartl 04 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (=) bLs TBL (D) sKs (Y/Y) jLs } if xchartl 05 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (/) bLs (S) jLs (ru) ibLs (=\050) bLs (D) sKs (Y/Y) jLs (\051/\050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs } if xchartl 06 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (=) bLs (Y/) jLs (D) sKs (Y) jLs } if xchartl 07 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (/) bLs (C) jLs (ru) ibLs (=\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs } if tfn %************************************************************** xchartl 00 eq {C01_ALOG_T*_L*} if xchartl 01 eq {C02_ALOG_T*DT*u_L*DL*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 { 5700 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 5700 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 5700 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 5700 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %} for %ioute=0,1 %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %right down xti 3 get yti 3 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 33 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/CET50-8A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark08 where {pop} {userdict /pdfmark08 /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/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark08 [ /View [ /Fit ] /DOCVIEW pdfmark08 %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 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth 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 %************************************************* /Yi_L*i_dYi_Cab {%BEG Yi_L*i_dYi_Cab C=CIELAB %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 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_Cab C=CIELAB %************************************************* /Yi_L*i_dYi_C00 {%BEG Yi_L*i_dYi_C00 C00=CIEDE2000 %only for k=0, no L* definition possible %identical as for CIELAB %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 %CIEDE2000 %L'=L* %delta_L00=delta_L'/SL %SL2 = 1 + [0,015 (L'q - 50)**2]/[20 + (L'q - 50)**2]**(1/2) % = 1 + [0,015 L's] / [20 + L's]**(1/2) %L's = (L'q - 50)**2 %L'1 = 116*(Y+d_Y)/100)**(1/3)-16 %L'0 = 116*(Y /100)**(1/3)-16 %L'q = 0.5 {L'1 + L'0} %range 1 < Y < 100 %log range 0 < log Y < 2 %delta_E00 = delta_L' / SL %for delta_E00=1: %delta L'/ SL2 = delta L* / SL2 = 1 0 1 100 {/i exch def %i=0,100 Yi i i put dYi i 0.01 put %default L*i i i put %default } for %i=0,100 1 1 100 {/i exch def %i=1,100 for Y /d_Y0 0.005 def %up to 0.999 /d_Ye 0.005 def /iEND 0 def 1 1 999 {/j exch def %j=1,999 for delta_Y iEND 0 eq {%iEND=0 /d_Y d_Y0 j mul def /L'1 i d_Y add 100 div 0.3333 exp 116 mul 16 sub def /L'0 i 100 div 0.3333 exp 116 mul 16 sub def /L'q L'1 L'0 add 0.5 mul def /L's L'q 50 sub 2.0 exp def %SL2 = 1 + [0,015 L's] / [20 + L's]**(1/2) /SL2 0.015 L's mul 20 L's add 0.5 exp div 1 add def L'1 L'0 sub SL2 div 1 ge {/d_Ye d_Y def /iEND 1 def} if } if %iEND=0 } for %j=1,999 Yi i i put dYi i d_Ye put } for %i=1,100 } bind def %END Yi_L*i_dYi_C00 C00=CIEDE2000 %*************************************************** %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 %*************************************************** /Yi_L*i_dYi_L85 {%BEG Yi_L*i_dYi_L85 L85=LABJND 1985 %LABJND /YYL 0.001 def /YFL 0.000001 def /Yu 18. def %dY = (s + q * Y)/c /JNDC 1.5 def %c /JNDS 0.0170 def %s /JNDQ 0.0058 def %q /JNDA JNDQ JNDS div def %a=q/s /JNDT JNDC JNDS div def %t=c/s /JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu /JNDD JNDT JNDA div def %d=t/a %dY = (s + q Y)/ c %dY = [1 + (q/s) Y] / (c/s) = [1 + a Y] / t %dY = [1 + (q/s)*Yu * (Y/Yu)] * (c/s) = [1 + (a*Yu) (Y/Yu)] /t % = [1 + b (Y/Yu)] / t %L*= ln [1 + a Y] * d %dL*/dY = 1 / (1 + a*Y) * a * d) = t / (1 + aY) %for dL*=1: %dY = (1 + a*Y) / t %s=0.0170 %q=0.0058 %c=Y0=1.5 %a=q/s=0.3411 %b=a*Yu=6.1411 %t=c/s=88.23 %d=t/a=258.62 /Yn 100 def /dYu Yu JNDA mul 1 add JNDT div def /L*u Yu JNDA mul 1 add ln JNDD mul def /iu 18 def 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 JNDA mul 1 add ln JNDD mul put dYi ik Yi ik get JNDA mul 1 add JNDT 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_L85=LABJND 1985 %*********************************************** %%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 1 def /lanind2 1 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 % /ioute 0 def %0 1 01 {/ioute exch def %ioute=0,01 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 72 90 translate 0.01 MM dup scale /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(1..8)A.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 17100 def /xmax1 11200 def 1 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto (CET51-4A CES40-8A) show %xchart 1 add cvishow0 } if %xbtex0=1 /xchartl xchart def 7 1 7 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 5700 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 5700 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 5700 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 5700 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 050 -140 moveto (CET51-4A CES40-) show xchartl 1 add cvishow (A) show %A /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 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 tfn %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 %********************************************************************* 50 setlinewidth %50 setlinewidth tfn 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3100 rlineto stroke 4500 100 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3100 100 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 -230 moveto tx i get exec show tfb i 1 ge {ixt 100 moveto txl i get exec show} if tfn ixl 60 moveto 0 -120 rlineto stroke } for tfn %tfw 3300 100 moveto (Y) jLs (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20rm (Y) jLs /iytt 050 def ixtt 200 add iytt moveto tfb (Y) jLs tfn tfn 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 3 def xchartl 0 eq {/j1y 3 def /j2y 5 def} if xchartl 4 eq {/j1y 0 def /j2y 2 def} if %xchartl 6 eq {/j1y 2 def /j2y 4 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 -400 jyt moveto ty j get show tfb j j1y 1 add ge {100 jyt moveto tyl j get show} if tfn -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** /ytr1 250 def 20 setlinewidth tfn 050 xtr0 sub 3725 ytr1 sub moveto xchartl 00 eq {%xchartl=00 (log) bKs 20rm (L*) jKs (85) ibKs 1600 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (LABJND lightness ) showen (LABJND\255Helligkeit ) showde % (log \050) bKs %(0,1) show % (L*) jKs (85) ibKs (\051) bKs 1 0 0 setrgbcolor 1600 xtr0 sub 3725 ytr1 sub 250 sub moveto TBK (no CIEDE2000 lightness ) showen (keine CIEDE2000\255Helligkeit ) showde % (log \050) bKs (L*) jKs (ab) ibKs (\051) bKs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log \050) bKs (L*) jKs (85) ibKs (/) bKs (L*) jKs (85,) ibKs (u) ibKs (\051 ) bKs 2000 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (normalized LABJND lightness) showen (normierte LABJND\255Helligkeit) showde 2000 xtr0 sub 3725 ytr1 sub 250 sub moveto (log \050) bKs %TBK (0,1) show (L*) jKs (85) ibLs TBK ( / ) show ( L*) jKs (85,u) ibKs TBK (\051 ) bKs 1 0 0 setrgbcolor 2000 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (no CIELDE2000 lightness) showen (keine CIELDE2000\255Helligkeit) showde % 2000 xtr0 sub 3725 ytr1 sub 800 sub moveto % (log \050) bKs % ( L*) jKs TBK ( / ) show % ( L*) jKs (u) ibKs TBK % (\051 ) bKs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bKs 20rm (D) sMs 20 0 rmoveto (Y) jKs 1300 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3725 ytr1 sub 300 sub moveto (10) bKs 20rm (D) sMs 20rm (Y) jKs TBS 0 -50 rmoveto (LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sMs 20rm (Y) jKs TBS 0 -50 rmoveto (CIEDE2000) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bKs 20rm (\050) bKs (D) sMs 20rm (Y) jKs (/) bKs (D) sMs (Y) jKs (u) ibKs (\051) bKs 1800 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3725 ytr0 sub 250 sub moveto (D) sMs 20rm (Y) jKs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sMs 20rm (Y) jKs (u) ibKs 1800 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (for LABJND and ) showen (f\374r LABJND und ) showde 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bKs 20rm (\050) bKs (D) sMs (Y/Y\051) jKs 1900 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3725 ytr1 sub 250 sub moveto (10) bKs (S) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jKs TBL 0 -50 rmoveto (r,CIEDE2000) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log) bLs 20rm ([\050) bKs (D) sMs (Y/Y) jKs (\051 / \050) bKs (D) sMs (Y/Y) bKs (\051) bKs (u) ibKs (]) bKs 2750 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2750 xtr0 sub 3725 ytr1 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sMs ((Y/Y)) bKs (u) ibKs 2750 xtr0 sub 3725 ytr1 sub 550 sub moveto TBK (LABJND) show 20rm (&) show 20rm 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bKs 20rm (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs 1900 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3725 ytr1 sub 300 sub moveto (0,1) bKs (C) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jKs TBL 0 -50 rmoveto (r,CIEDE2000) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (log) bKs 20rm ([\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051 / \050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3725 ytr1 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (\050) bKs (Y) jKs (/) bKs (D) sMs (Y) jKs (\051) bKs (u) ibKs 2800 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (LABJND) show 20rm (&) show 20rm 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=07 %********************************************************************* /C01_ALOG_T*_L* {%BEG C01_ALOG_T*_L* CIELAB /Fx0log -2.0 def /Fy0log 0.0 def /xtr 2000 def %/ytr 0000 def /ytr -1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 0 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def %n 0 eq %j 0 eq and {%n=1 LABJND % i1 1 i2 {/i exch def %i=i1,i2 % /ik i k 101 mul add def % L*i ik L*i ik get 0.1 mul put % } for %i=i1,i2 % } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C01 %/x0 400 def /x0 700 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 L*i iu get log ytrl add MULY mul 100 add moveto (log) bLs 20rm (L*) jLs (85,u) ibLs (=) bLs TBL L*i iu get log cvsshow2x /FY20 L*i 20 get def /FYiu L*i iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 L*i iu get log ytrl add MULY mul 400 add moveto (L*) jLs (85,) ibLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow } if %n=0 LABJND xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIEDE2000 tfz %tfz [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 tfn 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 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 %/L*D L*i iu get def %0300 L*D log MULY mul 100 add moveto %(log[) bLs (L*) jLs (u) ibLs TBL (]) show %(=) bLs TBL L*D log cvsshow2x %(, L*) jLs (u) ibLs %(=) bLs TBL L*u cvishow /x0 0700 def /y0 3200 def /x1 800 def /y1 3000 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor %x0 y0 moveto %TBL %(LABJND) show %( and ) showen %( und ) showde %1 0 0 setrgbcolor %(CIEDE2000) show %0 0 0 setrgbcolor %( lightness) showen %(\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85,) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x %1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 %x0 y0 2.9 ydel mul sub moveto %(L*) jLs %TBL ( = 116 \050) show %(Y/Y) jLs %(n) ibLs %(\051) bLs %(1/3) ebLs %TBL ( - 16) show %TBL ( \050) show %(Y) jLs %(n) ibLs %TBL (=100, 1<) show %( Y ) jLs %TBL (<100\051) show %0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto (range) showen (bereich) showde } def %END C01_ALOG_T*_L* %********************************************************************* /C02_ALOG_T*DT*u_L*DL*u {%BEG C02_ALOG_T*DTu* CIEDE2000 /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 {/n exch def %n=0,1 %LABJND & CIEDE2000 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (85) ibLs (\051) bLs (/\050) bLs (L*) jLs (85,u) ibLs (\051]) bLs TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow } if %n=0 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz /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 tfn 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 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show %( and ) showen %( und ) showde %1 0 0 setrgbcolor %(CIELAB) show %0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85,) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x %1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 %x0 y0 2.9 ydel mul sub moveto %(L*) jLs %TBL ( = 116 \050) show %(Y/Y) jLs %(n) ibLs %(\051) bLs %(1/3) ebLs %TBL ( - 16) show %TBL ( \050) show %(Y) jLs %(n) ibLs %TBL (=100, 1<) show %( Y ) jLs %TBL (<100\051) show %0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C02_ALOG_T*DT*u_L*DL*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 0 1 0 {/k exch def %k=0,0:W,R,G,B 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C03 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get def /FYiu dYi iu get def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get def /FYiu dYi iu get def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 300 sub moveto (log) bLs 20rm (dY) jLs (=) bLs TBL dYi iu get log cvsshow2x /FY20 dYi 20 get def /FYiu dYi iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get log ytrl add MULY mul 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C03 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIEDE2000) showen (Normfarbwertdifferenz nach CIEDE2000) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs ((dY)) jLs x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show (Y) jLs (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show (Y) jLs (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C04 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get dYi iu get div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY)) jLs (/\050) bLs (dY) jLs (u) ibLs (\051]) bLs TBL (=0) show (, ) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C04 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIEDE2000) showen (Normfarbwertdifferenz nach CIEDE2000) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs ((dY)) jLs x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show (Y) jLs (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show (Y) jLs (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C05 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1300 sub moveto /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1550 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 700 sub moveto /FY16 dYi 16 get Yi 16 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto (dY/Y) jLs (=) bLs TBL dYi iu get Yi iu get div cvsshow2x (, ) show /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 tfn 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 ytrl add MULY mul moveto %1 add because y-cero point=+2000 %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 ioute 0 eq {%ioute=0 tfr %C05 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIEDE2000) showen (\255Empfindlichkeit nach CIEDE2000) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log[\050) bLs (dY/Y) jLs (\051 = log\0503 \050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116\051) bLs ( - (1/3) log) bLs 20rm (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C06 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 0000 sub moveto /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 250 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 500 add moveto /FY16 dYi 16 get Yi 16 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY/Y)) jLs (u) ibLs (/\050) bLs ((dY/Y)) jLs (u) ibLs (]=0) bLs /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 550 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 tfn 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 ioute 0 eq {%ioute=0 tfr %C06 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIEDE2000) showen (\255Empfindlichkeit nach CIEDE2000) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20rm (\050) bLs (dY/Y) jLs (\051/\050) bLs (dY/Y) jLs (\051) bLs (u) ibLs (]) bLs ( = (-1/3) log\050) bLs (Y/Y) jLs (u) ibLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth 0 setgray %1 1 1 setrgbcolor %C07 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1400 add moveto /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1150 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 550 add moveto /FY16 Yi 16 get dYi 16 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=0 red CIEDE2000 1 0 0 setrgbcolor x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto (log) bLs 20rm ((Y/dY)) jLs (u) ibLs (=) bLs TBL Yi iu get dYi iu get div log cvsshow2x /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 Yi iu get dYi iu get div log ytrl add MULY mul 120 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 0. MULY mul lineto stroke [ ] 0 setdash tfn 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 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 2700 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C07 x0 y0 moveto (Y) jLs TBL ( contrast according to CIEDE2000) showen (\255Kontrast nach CIEDE2000) showde x0 500 add y0 ydel sub moveto (log) bLs ((Y/dY)) jLs x0 500 add 750 add y0 ydel sub moveto ( = log[\0501/3\051) bLs ( \050116/) bLs (Y) jLs (n) ibLs (\051]) bLs ( + (1/3) log) bLs 20rm (\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 500 add 750 add y0 ydel 2 mul sub moveto ( = log[(1/3) \050116/\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051]) bLs ( + (1/3) log) bLs 20rm (\050) bLs (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C08 /x0 0300 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 300 add moveto /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 050 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 Yi 16 get dYi 16 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor 0300 ytr 120 add moveto (log[) bLs ((Y/dY)) jLs (u) ibLs (/) bLs ((Y/dY)) jLs (u) ibLs (]=0) bLs /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 400 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C08 x0 y0 moveto (Y) jLs TBL ( contrast according to CIEDE2000) showen (\255Kontrast nach CIEDE2000) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto (log[) bLs 20rm (\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051) bLs (u) ibLs (]) bLs ( = (1/3) log\050) bLs ((Y/Y)) jLs (u) ibLs (\051) bLs x0 500 add y0 2.0 ydel mul sub moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** tfb /xtfb 200 def xchartl 00 eq {100 3200 xtfb sub moveto (L*) jLs (85) ibLs } if xchartl 01 eq {100 3200 xtfb sub moveto (L*/L*) jLs (85) ibLs } if xchartl 02 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs } if xchartl 03 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs } if xchartl 04 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (=) bLs TBL (D) sKs (Y/Y) jLs } if xchartl 05 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (/) bLs (S) jLs (ru) ibLs (=\050) bLs (D) sKs (Y/Y) jLs (\051/\050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs } if xchartl 06 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (=) bLs (Y/) jLs (D) sKs (Y) jLs } if xchartl 07 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (/) bLs (C) jLs (ru) ibLs (=\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs } if tfn %************************************************************** xchartl 00 eq {C01_ALOG_T*_L*} if xchartl 01 eq {C02_ALOG_T*DT*u_L*DL*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 { 5700 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 5700 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 5700 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 5700 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %} for %ioute=0,1 %%Trailer %line 169 %%EndDocument EndEPSF grestore gsave showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 108 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 24 %line 459 %!PS-Adobe-3.0 EPSF-3.0 CET51-4, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET51-4,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 08 MM sub 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 25 %line 469 %!PS-Adobe-3.0 EPSF-3.0 CET51-5, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET51-5,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 064 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 26 %line 479 %!PS-Adobe-3.0 EPSF-3.0 CET51-6, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET51-6,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 08 MM sub 020 MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 27 %line 489 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/Y10E00NA.PS3A.PS %%BoundingBox: 70 85 395 335 %%old BoundingBox: 00 00 352 246 /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: http://farbe.li.tu-berlin.de/CET5/CET5.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:2022050112000) /ModDate (D:2022050112000) /DOCINFO pdfmark17 [ /View [ /Fit ] /DOCVIEW pdfmark17 %Y10E00NA.PS3A %BEG CET5/OUTLIN10.PS Emty 20210418 %END CET5/OUTLIN10.PS Emty 20210418 %BEG CET5/OUTLIN1X.PS 20210418 %EMPTY %END CET5/OUTLIN1X.PS 20210418 %BEG CET5/OUTLIN1Y2.PS Emty 20210418 %END CET5/OUTLIN1Y2.PS Emty 20210418 %line 20****************************************************** /BeginEPSF {% def % Prepare for EPS file /b4_Inc_state save def % Save state for cleanup /dict_count countdictstack def /op_count count 1 sub def % Count objects on op stack userdict begin % Make userdict current dict /showpage {} def 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath /languagelevel where % If level not equal to 1 then {pop languagelevel where % If level not equal to 1 then 1 ne {false setstrokeadjust false setoverprint } if } if } bind def /EndEPSF {% def % End for EPS file count op_count sub {pop} repeat countdictstack dict_count sub {end} repeat % Clean up dict stack b4_Inc_state restore } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def % !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 %%EndProlog %*********************************************************** %%BeginPageSetup /#copies 1 def %A4querF 1.0 dup scale %no change with PXXYYJPGAN_199.COM /pgsave save def %%EndPageSetup %******************************************************************* /lanind1 01 def /lanind2 01 def /laninddf 01 def /lanindmf 01 def /lanind lanind1 def gsave %01 option of further text in frame %02 %03 %04 %05 %06 %07 %08 /xd3 320 2 idiv 1 sub def %160 /yd3 240 2 idiv 1 sub def %119 /xd0 09 def /yd0 11 def /xti 7 array def /yti 7 array def xti 0 xd0 xd3 0.0 mul add put %left top yti 0 yd0 yd3 1.0 mul add put xti 1 xd0 xd3 1.0 mul add put %right top yti 1 yd0 yd3 1.0 mul add put xti 2 xd0 xd3 0.0 mul add put %left down yti 2 yd0 yd3 0.0 mul add put xti 3 xd0 xd3 1.0 mul add put %rigth down yti 3 yd0 yd3 0.0 mul add put 70 85 translate 01 05 translate /xwidth 320 def /ywidth 240 def 1 1 0.5 setrgbcolor 00 00 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 00 00 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke 02 -4 moveto 4 /Times-Roman FS (CET51-7N) show -1 -5 translate -70 -85 translate BeginEPSF 70 85 translate %left top xti 0 get yti 0 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto 1 1 scale -77 -91 translate %%BeginDocument: Bild 30 %line 139 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/CET51-2A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark12 where {pop} {userdict /pdfmark12 /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/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark12 [ /View [ /Fit ] /DOCVIEW pdfmark12 %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 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth 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 %************************************************* /Yi_L*i_dYi_Cab {%BEG Yi_L*i_dYi_Cab C=CIELAB %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 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_Cab C=CIELAB %************************************************* /Yi_L*i_dYi_C00 {%BEG Yi_L*i_dYi_C00 C00=CIEDE2000 %only for k=0, no L* definition possible %CIEDE2000 %L'=L* %delta_L00=delta_L'/SL %SL2 = 1 + [0,015 (L'q - 50)**2]/[20 + (L'q - 50)**2]**(1/2) % = 1 + [0,015 L's] / [20 + L's]**(1/2) %L's = (L'q - 50)**2 %L'1 = 116*(Y+d_Y)/100)**(1/3)-16 %L'0 = 116*(Y /100)**(1/3)-16 %L'q = 0.5 {L'1 + L'0} %range 1 < Y < 100 %log range 0 < log Y < 2 %delta_E00 = delta_L' / SL %for delta_E00=1: %delta L'/ SL2 = delta L* / SL2 = 1 0 1 100 {/i exch def %i=0,100 Yi i i put dYi i 0.01 put %default L*i i i put %default } for %i=0,100 1 1 100 {/i exch def %i=1,100 for Y /d_Y0 0.005 def %up to 0.999 /d_Ye 0.005 def /iEND 0 def 1 1 999 {/j exch def %j=1,999 for delta_Y iEND 0 eq {%iEND=0 /d_Y d_Y0 j mul def /L'1 i d_Y add 100 div 0.3333 exp 116 mul 16 sub def /L'0 i 100 div 0.3333 exp 116 mul 16 sub def /L'q L'1 L'0 add 0.5 mul def /L's L'q 50 sub 2.0 exp def %SL2 = 1 + [0,015 L's] / [20 + L's]**(1/2) /SL2 0.015 L's mul 20 L's add 0.5 exp div 1 add def L'1 L'0 sub SL2 div 1 ge {/d_Ye d_Y def /iEND 1 def} if } if %iEND=0 } for %j=1,999 Yi i i put dYi i d_Ye put } for %i=1,100 } bind def %END Yi_L*i_dYi_C00 C00=CIEDE2000 %*************************************************** %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 %*************************************************** /Yi_L*i_dYi_L85 {%BEG Yi_L*i_dYi_L85 L85=LABJND 1985 %LABJND /YYL 0.001 def /YFL 0.000001 def /Yu 18. def %dY = (s + q * Y)/c /JNDC 1.5 def %c /JNDS 0.0170 def %s /JNDQ 0.0058 def %q /JNDA JNDQ JNDS div def %a=q/s /JNDT JNDC JNDS div def %t=c/s /JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu /JNDD JNDT JNDA div def %d=t/a %dY = (s + q Y)/ c %dY = [1 + (q/s) Y] / (c/s) = [1 + a Y] / t %dY = [1 + (q/s)*Yu * (Y/Yu)] * (c/s) = [1 + (a*Yu) (Y/Yu)] /t % = [1 + b (Y/Yu)] / t %L*= ln [1 + a Y] * d %dL*/dY = 1 / (1 + a*Y) * a * d) = t / (1 + aY) %for dL*=1: %dY = (1 + a*Y) / t %s=0.0170 %q=0.0058 %c=Y0=1.5 %a=q/s=0.3411 %b=a*Yu=6.1411 %t=c/s=88.23 %d=t/a=258.62 /Yn 100 def /dYu Yu JNDA mul 1 add JNDT div def /L*u Yu JNDA mul 1 add ln JNDD mul def /iu 18 def 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 JNDA mul 1 add ln JNDD mul put dYi ik Yi ik get JNDA mul 1 add JNDT 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_L85=LABJND 1985 %*********************************************** %%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 1 def /lanind2 1 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 % /ioute 1 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 72 90 translate 0.01 MM dup scale /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(1..8)A.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 17100 def /xmax1 11200 def 1 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto (CET51-5A CES31-2A) show %xchart 1 add cvishow0 } if %xbtex0=1 /xchartl xchart def 1 1 1 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 5700 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 5700 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 5700 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 5700 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 050 -140 moveto (CET51-5A CES31-) show xchartl 1 add cvishow (A) show %A /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 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 tfn %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 %********************************************************************* 50 setlinewidth %50 setlinewidth tfn 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3100 rlineto stroke 4500 100 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3100 100 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 -230 moveto tx i get exec show tfb i 1 ge {ixt 100 moveto txl i get exec show} if tfn ixl 60 moveto 0 -120 rlineto stroke } for tfn %tfw 3300 100 moveto (Y) jLs (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20rm (Y) jLs /iytt 050 def ixtt 200 add iytt moveto tfb (Y) jLs tfn tfn 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 3 def xchartl 0 eq {/j1y 2 def /j2y 4 def} if xchartl 4 eq {/j1y 0 def /j2y 2 def} if xchartl 6 eq {/j1y 2 def /j2y 4 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 -400 jyt moveto ty j get show tfb j j1y 1 add ge {100 jyt moveto tyl j get show} if tfn -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** 20 setlinewidth tfn 050 xtr0 sub 3725 ytr0 sub moveto xchartl 00 eq {%xchartl=00 (log) bKs 20rm (L*) jKs 1600 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (LABJND lightness ) showen (LABJND\255Helligkeit ) showde (log \0500,1) bKs 20rm (L*) jKs (85) ibKs (\051) bKs 1 0 0 setrgbcolor 1600 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (CIELAB lightness ) showen (CIELAB\255Helligkeit ) showde (log) bKs 20rm (L*) jKs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log) bKs 20rm (\050) bKs (L*) jKs (/) bKs 20rm (L*) jKs (u) ibKs (\051) bKs 2000 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (normalized LABJND lightness) showen (normierte LABJND\255Helligkeit) showde 2000 xtr0 sub 3725 ytr0 sub 250 sub moveto (log) bKs 20rm (\050) bLs (L*) jKs (85) ibKs ( / ) bLs (L*) jKs (85,u) ibKs (\051) bLs 1 0 0 setrgbcolor 2000 xtr0 sub 3725 ytr0 sub 550 sub moveto TBK (normalized CIELAB lightness) showen (normierte CIELAB\255Helligkeit) showde 2000 xtr0 sub 3725 ytr0 sub 800 sub moveto (log) bKs 20rm (\050) bKs ( L*/L*) jKs (u) ibKs (\051) bKs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bKs 20rm (D) sMs 20rm (Y) jKs 1300 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3725 ytr0 sub 300 sub moveto (10) bKs 20rm (D) sMs 20rm (Y) jKs TBL 0 -50 rmoveto (LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sMs 20rm (Y) jKs TBL 0 -50 rmoveto (CIELAB) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bKs 20rm (\050) bKs (D) sMs 20rm (Y) jKs (/) bKs (D) sMs (Y) jKs (u) ibKs (\051) bKs 1800 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3725 ytr0 sub 250 sub moveto (D) sMs 20rm (Y) jKs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sMs 20rm (Y) jKs (u) ibKs 1800 xtr0 sub 3725 ytr0 sub 500 sub moveto TBK (for LABJND and ) showen (f\374r LABJND und ) showde 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bKs 20rm (\050) bKs (D) sMs (Y/Y) jKs (u) ibKs (\051) bKs 1900 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3725 ytr0 sub 250 sub moveto (10) bKs (S) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jKs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log [\050) bKs (D) sMs (Y/Y) jKs (\051 / \050) bKs (D) sMs (Y/Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sMs (Y/Y) jKs (u) ibKs 2800 xtr0 sub 3725 ytr0 sub 550 sub moveto (LABJND & ) bKs 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bKs 20rm (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs 1900 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE) bKs 20rm (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3725 ytr0 sub 300 sub moveto (0,1) bKs 20rm (C) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jKs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (log) bKs 20rm ([\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051 / \050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (normalized to ) showen (normiert f\374r ) showde (\050) bKs (Y) jKs (/) bKs (D) sMs (Y) jKs (\051) bKs (u) ibKs 2800 xtr0 sub 3725 ytr0 sub 500 sub moveto (LABJND & ) bKs 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=07 %********************************************************************* /C01_ALOG_T*_L* {%BEG C01_ALOG_T*_L* CIELAB /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 1 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def L*i ik L*i ik get 0.1 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C01 /x0 400 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 L*i iu get log MULY mul 250 sub moveto (log) bLs 20rm (L*) jLs (85,u) ibLs (=) bLs L*i iu get log cvsshow2x /FY20 L*i 20 get def /FYiu L*i iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div TBL cvsshow2x x0 L*i iu get log ytrl add MULY mul 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL L*u TBL cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu TBL cvishow } if %n=0 LABJND xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz [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 tfn 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 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 0500 def /y0 2950 def /x1 800 def /y1 2950 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 2.9 ydel mul sub moveto (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show TBL ( \050) show (Y) jLs (n) ibLs TBL (=100, 1) show SL ( \243 ) show (Y) jLs SL ( \243 ) show TBL (100\051) show 0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto (range) showen (bereich) showde } def %END C01_ALOG_T*_L* %********************************************************************* /C02_ALOG_T*DT*u_L*DL*u {%BEG C02_ALOG_T*DTu* CIELAB /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 1 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (85,u) ibLs (\051) bLs (/\050) bLs (L*) jLs (85,u) ibLs (\051]) bLs TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div TBL cvsshow2x x0 ytr 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL TBL Yu cvishow } if %n=0 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz /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 tfn 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 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 2.9 ydel mul sub moveto (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL (- 16) show TBL ( \050) show (Y) jLs (n) ibLs TBL (=100, 1) show SL ( \243 ) show (Y) jLs SL ( \243 ) show TBL (100\051) show 0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C02_ALOG_T*DT*u_L*DL*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 0 1 0 {/k exch def %k=0,0:W,R,G,B 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C03 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get def /FYiu dYi iu get def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get def /FYiu dYi iu get def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 300 sub moveto (log) bLs 20rm (dY) jLs (=) bLs TBL dYi iu get log cvsshow2x /FY20 dYi 20 get def /FYiu dYi iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get log ytrl add MULY mul 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C03 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs x0 y0 moveto TBL (tristimulus value difference according to CIELAB) showen (Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs 20 0 rmoveto (dY) jLs x0 1100 add y0 ydel 1 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (/116\051 ]) bLs ( + (2/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( + (2/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C04 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get dYi iu get div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs (dY) jLs (u) ibLs (/) bLs (dY) jLs (u) ibLs (]) bLs TBL (=0) show (, ) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 0050 def /y0 2400 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C04 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs x0 y0 moveto TBL (relative tristimulus value difference according to CIELAB) showen (relative Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs 20 0 rmoveto (dY) jLs x0 1100 add y0 ydel 1 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (/116\051 ]) bLs ( + (2/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( + (2/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C05 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1300 sub moveto /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1550 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 700 sub moveto /FY16 dYi 16 get Yi 16 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto (dY/Y) jLs (=) bLs TBL dYi iu get Yi iu get div cvsshow2x (, ) show /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 tfn 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 ytrl add MULY mul moveto %1 add because y-cero point=+2000 %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 ioute 0 eq {%ioute=0 tfr %C05 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIELAB) showen (\255Empfindlichkeit nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto ((dY/Y)) jLs ( = log[3 \050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( - (1/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C06 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 0000 sub moveto /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 250 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 500 add moveto /FY16 dYi 16 get Yi 16 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY/Y)) jLs (u) ibLs (/\050) bLs ((dY/Y)) jLs (u) ibLs (]=0) bLs /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 550 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 tfn 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 ioute 0 eq {%ioute=0 tfr %C06 x0 y0 moveto TBL (Normierte ) showde (normalized ) showea (Y) jLs TBL ( sensitivity according to CIELAB) showen (\255Empfindlichkeit nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((dY/Y)/(dY/Y)) jLs (u) ibLs (]) bLs ( = -(1/3) log) bLs 20 0 rmoveto (\050dY/Y) jLs (u) ibLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth 0 setgray %1 1 1 setrgbcolor %C07 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1400 add moveto /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1150 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 550 add moveto /FY16 Yi 16 get dYi 16 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=0 red CIELAB 1 0 0 setrgbcolor x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto (log) bLs 20rm ((Y/dY)) jLs (u) ibLs (=) bLs TBL Yi iu get dYi iu get div log cvsshow2x /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 Yi iu get dYi iu get div log ytrl add MULY mul 120 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 0. MULY mul lineto stroke [ ] 0 setdash tfn 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 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 2700 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C07 x0 y0 moveto (Y) show TBL ( contrast according to CIELAB) showen (\255Kontrast nach CIELAB) showde x0 500 add y0 ydel sub moveto (log) bLs ((Y/dY)) jLs x0 500 add 750 add y0 ydel sub moveto ( = log[\0501/3\051 \050116/) bLs (Y) jLs (n) ibLs (\051]) bLs ( + (1/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 500 add 750 add y0 ydel 2 mul sub moveto ( = log[(1/3) \050116/\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051]) bLs ( + (1/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C08 /x0 0300 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 300 add moveto /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 050 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 Yi 16 get dYi 16 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor 0300 ytr 120 add moveto (log[) bLs ((Y/dY)) jLs (u) ibLs (/\050) bLs ((Y/dY)) jLs (u) ibLs (]=0) bLs /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 400 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C08 x0 y0 moveto TBL (normierter ) showde (normalized ) showen (Y) jLs TBL ( contrast according to CIELAB) showen (\255Kontrast nach CIELAB) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((Y/dY)/(Y/dY)) jLs (u) ibLs (]) bLs ( = (1/3) log) bLs 20 0 rmoveto (\050Y/dY) jLs (u) ibLs (\051) bLs x0 500 add y0 2.0 ydel mul sub moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** tfb /xtfb 200 def xchartl 00 eq {100 3200 xtfb sub moveto (L*) jLs } if xchartl 01 eq {100 3200 xtfb sub moveto (L*/L*) jLs (u) ibLs } if xchartl 02 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs } if xchartl 03 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs } if xchartl 04 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (=) bLs TBL (D) sKs (Y/Y) jLs } if xchartl 05 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (/) bLs (S) jLs (ru) ibLs (=\050) bLs (D) sKs (Y/Y) jLs (\051/\050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs } if xchartl 06 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (=) bLs (Y/) jLs (D) sKs (Y) jLs } if xchartl 07 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (/) bLs (C) jLs (ru) ibLs (=\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs } if tfn %************************************************************** xchartl 00 eq {C01_ALOG_T*_L*} if xchartl 01 eq {C02_ALOG_T*DT*u_L*DL*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 { 5700 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 5700 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 5700 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 5700 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %right top xti 1 get yti 1 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 31 %line 149 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/CET51-8A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark18 where {pop} {userdict /pdfmark18 /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/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark18 [ /View [ /Fit ] /DOCVIEW pdfmark18 %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 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth 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 %************************************************* /Yi_L*i_dYi_Cab {%BEG Yi_L*i_dYi_Cab C=CIELAB %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 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_Cab C=CIELAB %************************************************* /Yi_L*i_dYi_C00 {%BEG Yi_L*i_dYi_C00 C00=CIEDE2000 %only for k=0, no L* definition possible %CIEDE2000 %L'=L* %delta_L00=delta_L'/SL %SL2 = 1 + [0,015 (L'q - 50)**2]/[20 + (L'q - 50)**2]**(1/2) % = 1 + [0,015 L's] / [20 + L's]**(1/2) %L's = (L'q - 50)**2 %L'1 = 116*(Y+d_Y)/100)**(1/3)-16 %L'0 = 116*(Y /100)**(1/3)-16 %L'q = 0.5 {L'1 + L'0} %range 1 < Y < 100 %log range 0 < log Y < 2 %delta_E00 = delta_L' / SL %for delta_E00=1: %delta L'/ SL2 = delta L* / SL2 = 1 0 1 100 {/i exch def %i=0,100 Yi i i put dYi i 0.01 put %default L*i i i put %default } for %i=0,100 1 1 100 {/i exch def %i=1,100 for Y /d_Y0 0.005 def %up to 0.999 /d_Ye 0.005 def /iEND 0 def 1 1 999 {/j exch def %j=1,999 for delta_Y iEND 0 eq {%iEND=0 /d_Y d_Y0 j mul def /L'1 i d_Y add 100 div 0.3333 exp 116 mul 16 sub def /L'0 i 100 div 0.3333 exp 116 mul 16 sub def /L'q L'1 L'0 add 0.5 mul def /L's L'q 50 sub 2.0 exp def %SL2 = 1 + [0,015 L's] / [20 + L's]**(1/2) /SL2 0.015 L's mul 20 L's add 0.5 exp div 1 add def L'1 L'0 sub SL2 div 1 ge {/d_Ye d_Y def /iEND 1 def} if } if %iEND=0 } for %j=1,999 Yi i i put dYi i d_Ye put } for %i=1,100 } bind def %END Yi_L*i_dYi_C00 C00=CIEDE2000 %*************************************************** %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 %*************************************************** /Yi_L*i_dYi_L85 {%BEG Yi_L*i_dYi_L85 L85=LABJND 1985 %LABJND /YYL 0.001 def /YFL 0.000001 def /Yu 18. def %dY = (s + q * Y)/c /JNDC 1.5 def %c /JNDS 0.0170 def %s /JNDQ 0.0058 def %q /JNDA JNDQ JNDS div def %a=q/s /JNDT JNDC JNDS div def %t=c/s /JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu /JNDD JNDT JNDA div def %d=t/a %dY = (s + q Y)/ c %dY = [1 + (q/s) Y] / (c/s) = [1 + a Y] / t %dY = [1 + (q/s)*Yu * (Y/Yu)] * (c/s) = [1 + (a*Yu) (Y/Yu)] /t % = [1 + b (Y/Yu)] / t %L*= ln [1 + a Y] * d %dL*/dY = 1 / (1 + a*Y) * a * d) = t / (1 + aY) %for dL*=1: %dY = (1 + a*Y) / t %s=0.0170 %q=0.0058 %c=Y0=1.5 %a=q/s=0.3411 %b=a*Yu=6.1411 %t=c/s=88.23 %d=t/a=258.62 /Yn 100 def /dYu Yu JNDA mul 1 add JNDT div def /L*u Yu JNDA mul 1 add ln JNDD mul def /iu 18 def 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 JNDA mul 1 add ln JNDD mul put dYi ik Yi ik get JNDA mul 1 add JNDT 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_L85=LABJND 1985 %*********************************************** %%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 1 def /lanind2 1 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 % /ioute 1 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 72 90 translate 0.01 MM dup scale /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(1..8)A.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 17100 def /xmax1 11200 def 1 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto (CET51-6A CES31-8A) show %xchart 1 add cvishow0 } if %xbtex0=1 /xchartl xchart def 7 1 7 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 5700 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 5700 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 5700 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 5700 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 050 -140 moveto (CET51-6A CES31-) show xchartl 1 add cvishow (A) show %A /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 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 tfn %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 %********************************************************************* 50 setlinewidth %50 setlinewidth tfn 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3100 rlineto stroke 4500 100 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3100 100 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 -230 moveto tx i get exec show tfb i 1 ge {ixt 100 moveto txl i get exec show} if tfn ixl 60 moveto 0 -120 rlineto stroke } for tfn %tfw 3300 100 moveto (Y) jLs (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20rm (Y) jLs /iytt 050 def ixtt 200 add iytt moveto tfb (Y) jLs tfn tfn 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 3 def xchartl 0 eq {/j1y 2 def /j2y 4 def} if xchartl 4 eq {/j1y 0 def /j2y 2 def} if xchartl 6 eq {/j1y 2 def /j2y 4 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 -400 jyt moveto ty j get show tfb j j1y 1 add ge {100 jyt moveto tyl j get show} if tfn -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** 20 setlinewidth tfn 050 xtr0 sub 3725 ytr0 sub moveto xchartl 00 eq {%xchartl=00 (log) bKs 20rm (L*) jKs 1600 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (LABJND lightness ) showen (LABJND\255Helligkeit ) showde (log \0500,1) bKs 20rm (L*) jKs (85) ibKs (\051) bKs 1 0 0 setrgbcolor 1600 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (CIELAB lightness ) showen (CIELAB\255Helligkeit ) showde (log) bKs 20rm (L*) jKs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log) bKs 20rm (\050) bKs (L*) jKs (/) bKs 20rm (L*) jKs (u) ibKs (\051) bKs 2000 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (normalized LABJND lightness) showen (normierte LABJND\255Helligkeit) showde 2000 xtr0 sub 3725 ytr0 sub 250 sub moveto (log) bKs 20rm (\050) bLs (L*) jKs (85) ibKs ( / ) bLs (L*) jKs (85,u) ibKs (\051) bLs 1 0 0 setrgbcolor 2000 xtr0 sub 3725 ytr0 sub 550 sub moveto TBK (normalized CIELAB lightness) showen (normierte CIELAB\255Helligkeit) showde 2000 xtr0 sub 3725 ytr0 sub 800 sub moveto (log) bKs 20rm (\050) bKs ( L*/L*) jKs (u) ibKs (\051) bKs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bKs 20rm (D) sMs 20rm (Y) jKs 1300 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3725 ytr0 sub 300 sub moveto (10) bKs 20rm (D) sMs 20rm (Y) jKs TBL 0 -50 rmoveto (LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sMs 20rm (Y) jKs TBL 0 -50 rmoveto (CIELAB) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bKs 20rm (\050) bKs (D) sMs 20rm (Y) jKs (/) bKs (D) sMs (Y) jKs (u) ibKs (\051) bKs 1800 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3725 ytr0 sub 250 sub moveto (D) sMs 20rm (Y) jKs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sMs 20rm (Y) jKs (u) ibKs 1800 xtr0 sub 3725 ytr0 sub 500 sub moveto TBK (for LABJND and ) showen (f\374r LABJND und ) showde 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bKs 20rm (\050) bKs (D) sMs (Y/Y) jKs (u) ibKs (\051) bKs 1900 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3725 ytr0 sub 250 sub moveto (10) bKs (S) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jKs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log [\050) bKs (D) sMs (Y/Y) jKs (\051 / \050) bKs (D) sMs (Y/Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sMs (Y/Y) jKs (u) ibKs 2800 xtr0 sub 3725 ytr0 sub 550 sub moveto (LABJND & ) bKs 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bKs 20rm (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs 1900 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE) bKs 20rm (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3725 ytr0 sub 300 sub moveto (0,1) bKs 20rm (C) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jKs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (log) bKs 20rm ([\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051 / \050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr0 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3725 ytr0 sub 250 sub moveto TBK (normalized to ) showen (normiert f\374r ) showde (\050) bKs (Y) jKs (/) bKs (D) sMs (Y) jKs (\051) bKs (u) ibKs 2800 xtr0 sub 3725 ytr0 sub 500 sub moveto (LABJND & ) bKs 1 0 0 setrgbcolor (CIELAB) bKs 0 0 0 setrgbcolor } if %xchartl=07 %********************************************************************* /C01_ALOG_T*_L* {%BEG C01_ALOG_T*_L* CIELAB /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 1 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def L*i ik L*i ik get 0.1 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C01 /x0 400 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 L*i iu get log MULY mul 250 sub moveto (log) bLs 20rm (L*) jLs (85,u) ibLs (=) bLs L*i iu get log cvsshow2x /FY20 L*i 20 get def /FYiu L*i iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div TBL cvsshow2x x0 L*i iu get log ytrl add MULY mul 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL L*u TBL cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu TBL cvishow } if %n=0 LABJND xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz [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 tfn 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 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 0500 def /y0 2950 def /x1 800 def /y1 2950 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 2.9 ydel mul sub moveto (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show TBL ( \050) show (Y) jLs (n) ibLs TBL (=100, 1) show SL ( \243 ) show (Y) jLs SL ( \243 ) show TBL (100\051) show 0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto (range) showen (bereich) showde } def %END C01_ALOG_T*_L* %********************************************************************* /C02_ALOG_T*DT*u_L*DL*u {%BEG C02_ALOG_T*DTu* CIELAB /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 1 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (85,u) ibLs (\051) bLs (/\050) bLs (L*) jLs (85,u) ibLs (\051]) bLs TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div TBL cvsshow2x x0 ytr 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL TBL Yu cvishow } if %n=0 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz /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 tfn 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 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 2.9 ydel mul sub moveto (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL (- 16) show TBL ( \050) show (Y) jLs (n) ibLs TBL (=100, 1) show SL ( \243 ) show (Y) jLs SL ( \243 ) show TBL (100\051) show 0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C02_ALOG_T*DT*u_L*DL*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 0 1 0 {/k exch def %k=0,0:W,R,G,B 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C03 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get def /FYiu dYi iu get def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get def /FYiu dYi iu get def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 300 sub moveto (log) bLs 20rm (dY) jLs (=) bLs TBL dYi iu get log cvsshow2x /FY20 dYi 20 get def /FYiu dYi iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get log ytrl add MULY mul 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C03 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs x0 y0 moveto TBL (tristimulus value difference according to CIELAB) showen (Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs 20 0 rmoveto (dY) jLs x0 1100 add y0 ydel 1 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (/116\051 ]) bLs ( + (2/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( + (2/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C04 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get dYi iu get div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs (dY) jLs (u) ibLs (/) bLs (dY) jLs (u) ibLs (]) bLs TBL (=0) show (, ) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 0050 def /y0 2400 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C04 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs ( = 116 \050) bLs (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs ( - 16) bLs x0 y0 moveto TBL (relative tristimulus value difference according to CIELAB) showen (relative Normfarbwertdifferenz nach CIELAB) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs 20 0 rmoveto (dY) jLs x0 1100 add y0 ydel 1 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (/116\051 ]) bLs ( + (2/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto ( = log) bLs 20 0 rmoveto ([3\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( + (2/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C05 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1300 sub moveto /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1550 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 700 sub moveto /FY16 dYi 16 get Yi 16 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto (dY/Y) jLs (=) bLs TBL dYi iu get Yi iu get div cvsshow2x (, ) show /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 tfn 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 ytrl add MULY mul moveto %1 add because y-cero point=+2000 %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 ioute 0 eq {%ioute=0 tfr %C05 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIELAB) showen (\255Empfindlichkeit nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto ((dY/Y)) jLs ( = log[3 \050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116]) bLs ( - (1/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C06 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 0000 sub moveto /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 250 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 500 add moveto /FY16 dYi 16 get Yi 16 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY/Y)) jLs (u) ibLs (/\050) bLs ((dY/Y)) jLs (u) ibLs (]=0) bLs /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 550 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 tfn 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 ioute 0 eq {%ioute=0 tfr %C06 x0 y0 moveto TBL (Normierte ) showde (normalized ) showea (Y) jLs TBL ( sensitivity according to CIELAB) showen (\255Empfindlichkeit nach CIELAB) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((dY/Y)/(dY/Y)) jLs (u) ibLs (]) bLs ( = -(1/3) log) bLs 20 0 rmoveto (\050dY/Y) jLs (u) ibLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth 0 setgray %1 1 1 setrgbcolor %C07 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1400 add moveto /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1150 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 550 add moveto /FY16 Yi 16 get dYi 16 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=0 red CIELAB 1 0 0 setrgbcolor x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto (log) bLs 20rm ((Y/dY)) jLs (u) ibLs (=) bLs TBL Yi iu get dYi iu get div log cvsshow2x /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 Yi iu get dYi iu get div log ytrl add MULY mul 120 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz /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 0. MULY mul lineto stroke [ ] 0 setdash tfn 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 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 2700 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C07 x0 y0 moveto (Y) show TBL ( contrast according to CIELAB) showen (\255Kontrast nach CIELAB) showde x0 500 add y0 ydel sub moveto (log) bLs ((Y/dY)) jLs x0 500 add 750 add y0 ydel sub moveto ( = log[\0501/3\051 \050116/) bLs (Y) jLs (n) ibLs (\051]) bLs ( + (1/3) log\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 500 add 750 add y0 ydel 2 mul sub moveto ( = log[(1/3) \050116/\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051]) bLs ( + (1/3) log) bLs 20 0 rmoveto (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_Cab} if %CIELAB 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C08 /x0 0300 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 300 add moveto /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 050 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 Yi 16 get dYi 16 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIELAB 1 0 0 setrgbcolor 0300 ytr 120 add moveto (log[) bLs ((Y/dY)) jLs (u) ibLs (/\050) bLs ((Y/dY)) jLs (u) ibLs (]=0) bLs /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 400 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIELAB } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C08 x0 y0 moveto TBL (normierter ) showde (normalized ) showen (Y) jLs TBL ( contrast according to CIELAB) showen (\255Kontrast nach CIELAB) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((Y/dY)/(Y/dY)) jLs (u) ibLs (]) bLs ( = (1/3) log) bLs 20 0 rmoveto (\050Y/dY) jLs (u) ibLs (\051) bLs x0 500 add y0 2.0 ydel mul sub moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** tfb /xtfb 200 def xchartl 00 eq {100 3200 xtfb sub moveto (L*) jLs } if xchartl 01 eq {100 3200 xtfb sub moveto (L*/L*) jLs (u) ibLs } if xchartl 02 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs } if xchartl 03 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs } if xchartl 04 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (=) bLs TBL (D) sKs (Y/Y) jLs } if xchartl 05 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (/) bLs (S) jLs (ru) ibLs (=\050) bLs (D) sKs (Y/Y) jLs (\051/\050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs } if xchartl 06 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (=) bLs (Y/) jLs (D) sKs (Y) jLs } if xchartl 07 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (/) bLs (C) jLs (ru) ibLs (=\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs } if tfn %************************************************************** xchartl 00 eq {C01_ALOG_T*_L*} if xchartl 01 eq {C02_ALOG_T*DT*u_L*DL*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 { 5700 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 5700 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 5700 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 5700 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %left down xti 2 get yti 2 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 32 %line 159 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/CET51-2A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark12 where {pop} {userdict /pdfmark12 /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/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark12 [ /View [ /Fit ] /DOCVIEW pdfmark12 %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 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth 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 %************************************************* /Yi_L*i_dYi_Cab {%BEG Yi_L*i_dYi_Cab C=CIELAB %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 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_Cab C=CIELAB %************************************************* /Yi_L*i_dYi_C00 {%BEG Yi_L*i_dYi_C00 C00=CIEDE2000 %only for k=0, no L* definition possible %identical as for CIELAB %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 %CIEDE2000 %L'=L* %delta_L00=delta_L'/SL %SL2 = 1 + [0,015 (L'q - 50)**2]/[20 + (L'q - 50)**2]**(1/2) % = 1 + [0,015 L's] / [20 + L's]**(1/2) %L's = (L'q - 50)**2 %L'1 = 116*(Y+d_Y)/100)**(1/3)-16 %L'0 = 116*(Y /100)**(1/3)-16 %L'q = 0.5 {L'1 + L'0} %range 1 < Y < 100 %log range 0 < log Y < 2 %delta_E00 = delta_L' / SL %for delta_E00=1: %delta L'/ SL2 = delta L* / SL2 = 1 0 1 100 {/i exch def %i=0,100 Yi i i put dYi i 0.01 put %default L*i i i put %default } for %i=0,100 1 1 100 {/i exch def %i=1,100 for Y /d_Y0 0.005 def %up to 0.999 /d_Ye 0.005 def /iEND 0 def 1 1 999 {/j exch def %j=1,999 for delta_Y iEND 0 eq {%iEND=0 /d_Y d_Y0 j mul def /L'1 i d_Y add 100 div 0.3333 exp 116 mul 16 sub def /L'0 i 100 div 0.3333 exp 116 mul 16 sub def /L'q L'1 L'0 add 0.5 mul def /L's L'q 50 sub 2.0 exp def %SL2 = 1 + [0,015 L's] / [20 + L's]**(1/2) /SL2 0.015 L's mul 20 L's add 0.5 exp div 1 add def L'1 L'0 sub SL2 div 1 ge {/d_Ye d_Y def /iEND 1 def} if } if %iEND=0 } for %j=1,999 Yi i i put dYi i d_Ye put } for %i=1,100 } bind def %END Yi_L*i_dYi_C00 C00=CIEDE2000 %*************************************************** %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 %*************************************************** /Yi_L*i_dYi_L85 {%BEG Yi_L*i_dYi_L85 L85=LABJND 1985 %LABJND /YYL 0.001 def /YFL 0.000001 def /Yu 18. def %dY = (s + q * Y)/c /JNDC 1.5 def %c /JNDS 0.0170 def %s /JNDQ 0.0058 def %q /JNDA JNDQ JNDS div def %a=q/s /JNDT JNDC JNDS div def %t=c/s /JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu /JNDD JNDT JNDA div def %d=t/a %dY = (s + q Y)/ c %dY = [1 + (q/s) Y] / (c/s) = [1 + a Y] / t %dY = [1 + (q/s)*Yu * (Y/Yu)] * (c/s) = [1 + (a*Yu) (Y/Yu)] /t % = [1 + b (Y/Yu)] / t %L*= ln [1 + a Y] * d %dL*/dY = 1 / (1 + a*Y) * a * d) = t / (1 + aY) %for dL*=1: %dY = (1 + a*Y) / t %s=0.0170 %q=0.0058 %c=Y0=1.5 %a=q/s=0.3411 %b=a*Yu=6.1411 %t=c/s=88.23 %d=t/a=258.62 /Yn 100 def /dYu Yu JNDA mul 1 add JNDT div def /L*u Yu JNDA mul 1 add ln JNDD mul def /iu 18 def 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 JNDA mul 1 add ln JNDD mul put dYi ik Yi ik get JNDA mul 1 add JNDT 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_L85=LABJND 1985 %*********************************************** %%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 1 def /lanind2 1 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 % /ioute 1 def %0 1 01 {/ioute exch def %ioute=0,01 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 72 90 translate 0.01 MM dup scale /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(1..8)A.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 17100 def /xmax1 11200 def 1 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto (CET51-7A CES41-2A) show %xchart 1 add cvishow0 } if %xbtex0=1 /xchartl xchart def 1 1 1 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 5700 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 5700 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 5700 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 5700 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 050 -140 moveto (CET51-7A CES41-) show xchartl 1 add cvishow (A) show %A /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 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 tfn %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 %********************************************************************* 50 setlinewidth %50 setlinewidth tfn 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3100 rlineto stroke 4500 100 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3100 100 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 -230 moveto tx i get exec show tfb i 1 ge {ixt 100 moveto txl i get exec show} if tfn ixl 60 moveto 0 -120 rlineto stroke } for tfn %tfw 3300 100 moveto (Y) jLs (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20rm (Y) jLs /iytt 050 def ixtt 200 add iytt moveto tfb (Y) jLs tfn tfn 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 3 def xchartl 0 eq {/j1y 3 def /j2y 5 def} if xchartl 4 eq {/j1y 0 def /j2y 2 def} if %xchartl 6 eq {/j1y 2 def /j2y 4 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 -400 jyt moveto ty j get show tfb j j1y 1 add ge {100 jyt moveto tyl j get show} if tfn -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** /ytr1 250 def 20 setlinewidth tfn 050 xtr0 sub 3725 ytr1 sub moveto xchartl 00 eq {%xchartl=00 (log) bKs 20rm (L*) jKs (85) ibKs 1600 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (LABJND lightness ) showen (LABJND\255Helligkeit ) showde % (log \050) bKs %(0,1) show % (L*) jKs (85) ibKs (\051) bKs 1 0 0 setrgbcolor 1600 xtr0 sub 3725 ytr1 sub 250 sub moveto TBK (no CIEDE2000 lightness ) showen (keine CIEDE2000\255Helligkeit ) showde % (log \050) bKs (L*) jKs (ab) ibKs (\051) bKs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log \050) bKs (L*) jKs (85) ibKs (/) bKs (L*) jKs (85,) ibKs (u) ibKs (\051 ) bKs 2000 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (normalized LABJND lightness) showen (normierte LABJND\255Helligkeit) showde 2000 xtr0 sub 3725 ytr1 sub 250 sub moveto (log \050) bKs %TBK (0,1) show (L*) jKs (85) ibLs TBK ( / ) show ( L*) jKs (85,u) ibKs TBK (\051 ) bKs 1 0 0 setrgbcolor 2000 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (no CIELDE2000 lightness) showen (keine CIELDE2000\255Helligkeit) showde % 2000 xtr0 sub 3725 ytr1 sub 800 sub moveto % (log \050) bKs % ( L*) jKs TBK ( / ) show % ( L*) jKs (u) ibKs TBK % (\051 ) bKs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bKs 20rm (D) sMs 20 0 rmoveto (Y) jKs 1300 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3725 ytr1 sub 300 sub moveto (10) bKs 20rm (D) sMs 20rm (Y) jKs TBS 0 -50 rmoveto (LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sMs 20rm (Y) jKs TBS 0 -50 rmoveto (CIEDE2000) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bKs 20rm (\050) bKs (D) sMs 20rm (Y) jKs (/) bKs (D) sMs (Y) jKs (u) ibKs (\051) bKs 1800 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3725 ytr0 sub 250 sub moveto (D) sMs 20rm (Y) jKs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sMs 20rm (Y) jKs (u) ibKs 1800 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (for LABJND and ) showen (f\374r LABJND und ) showde 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bKs 20rm (\050) bKs (D) sMs (Y/Y\051) jKs 1900 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3725 ytr1 sub 250 sub moveto (10) bKs (S) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jKs TBL 0 -50 rmoveto (r,CIEDE2000) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log) bLs 20rm ([\050) bKs (D) sMs (Y/Y) jKs (\051 / \050) bKs (D) sMs (Y/Y) bKs (\051) bKs (u) ibKs (]) bKs 2750 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2750 xtr0 sub 3725 ytr1 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sMs ((Y/Y)) bKs (u) ibKs 2750 xtr0 sub 3725 ytr1 sub 550 sub moveto TBK (LABJND) show 20rm (&) show 20rm 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bKs 20rm (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs 1900 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3725 ytr1 sub 300 sub moveto (0,1) bKs (C) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jKs TBL 0 -50 rmoveto (r,CIEDE2000) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (log) bKs 20rm ([\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051 / \050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3725 ytr1 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (\050) bKs (Y) jKs (/) bKs (D) sMs (Y) jKs (\051) bKs (u) ibKs 2800 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (LABJND) show 20rm (&) show 20rm 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=07 %********************************************************************* /C01_ALOG_T*_L* {%BEG C01_ALOG_T*_L* CIELAB /Fx0log -2.0 def /Fy0log 0.0 def /xtr 2000 def %/ytr 0000 def /ytr -1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 0 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def %n 0 eq %j 0 eq and {%n=1 LABJND % i1 1 i2 {/i exch def %i=i1,i2 % /ik i k 101 mul add def % L*i ik L*i ik get 0.1 mul put % } for %i=i1,i2 % } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C01 %/x0 400 def /x0 700 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 L*i iu get log ytrl add MULY mul 100 add moveto (log) bLs 20rm (L*) jLs (85,u) ibLs (=) bLs TBL L*i iu get log cvsshow2x /FY20 L*i 20 get def /FYiu L*i iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 L*i iu get log ytrl add MULY mul 400 add moveto (L*) jLs (85,) ibLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow } if %n=0 LABJND xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIEDE2000 tfz %tfz [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 tfn 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 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 %/L*D L*i iu get def %0300 L*D log MULY mul 100 add moveto %(log[) bLs (L*) jLs (u) ibLs TBL (]) show %(=) bLs TBL L*D log cvsshow2x %(, L*) jLs (u) ibLs %(=) bLs TBL L*u cvishow /x0 0700 def /y0 3200 def /x1 800 def /y1 3000 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor %x0 y0 moveto %TBL %(LABJND) show %( and ) showen %( und ) showde %1 0 0 setrgbcolor %(CIEDE2000) show %0 0 0 setrgbcolor %( lightness) showen %(\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85,) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x %1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 %x0 y0 2.9 ydel mul sub moveto %(L*) jLs %TBL ( = 116 \050) show %(Y/Y) jLs %(n) ibLs %(\051) bLs %(1/3) ebLs %TBL ( - 16) show %TBL ( \050) show %(Y) jLs %(n) ibLs %TBL (=100, 1<) show %( Y ) jLs %TBL (<100\051) show %0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto (range) showen (bereich) showde } def %END C01_ALOG_T*_L* %********************************************************************* /C02_ALOG_T*DT*u_L*DL*u {%BEG C02_ALOG_T*DTu* CIEDE2000 /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 {/n exch def %n=0,1 %LABJND & CIEDE2000 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (85) ibLs (\051) bLs (/\050) bLs (L*) jLs (85,u) ibLs (\051]) bLs TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow } if %n=0 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz /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 tfn 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 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show %( and ) showen %( und ) showde %1 0 0 setrgbcolor %(CIELAB) show %0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85,) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x %1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 %x0 y0 2.9 ydel mul sub moveto %(L*) jLs %TBL ( = 116 \050) show %(Y/Y) jLs %(n) ibLs %(\051) bLs %(1/3) ebLs %TBL ( - 16) show %TBL ( \050) show %(Y) jLs %(n) ibLs %TBL (=100, 1<) show %( Y ) jLs %TBL (<100\051) show %0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C02_ALOG_T*DT*u_L*DL*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 0 1 0 {/k exch def %k=0,0:W,R,G,B 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C03 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get def /FYiu dYi iu get def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get def /FYiu dYi iu get def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 300 sub moveto (log) bLs 20rm (dY) jLs (=) bLs TBL dYi iu get log cvsshow2x /FY20 dYi 20 get def /FYiu dYi iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get log ytrl add MULY mul 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C03 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIEDE2000) showen (Normfarbwertdifferenz nach CIEDE2000) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs ((dY)) jLs x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show (Y) jLs (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show (Y) jLs (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C04 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get dYi iu get div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY)) jLs (/\050) bLs (dY) jLs (u) ibLs (\051]) bLs TBL (=0) show (, ) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C04 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIEDE2000) showen (Normfarbwertdifferenz nach CIEDE2000) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs ((dY)) jLs x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show (Y) jLs (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show (Y) jLs (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C05 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1300 sub moveto /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1550 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 700 sub moveto /FY16 dYi 16 get Yi 16 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto (dY/Y) jLs (=) bLs TBL dYi iu get Yi iu get div cvsshow2x (, ) show /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 tfn 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 ytrl add MULY mul moveto %1 add because y-cero point=+2000 %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 ioute 0 eq {%ioute=0 tfr %C05 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIEDE2000) showen (\255Empfindlichkeit nach CIEDE2000) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log[\050) bLs (dY/Y) jLs (\051 = log\0503 \050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116\051) bLs ( - (1/3) log) bLs 20rm (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C06 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 0000 sub moveto /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 250 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 500 add moveto /FY16 dYi 16 get Yi 16 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY/Y)) jLs (u) ibLs (/\050) bLs ((dY/Y)) jLs (u) ibLs (]=0) bLs /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 550 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 tfn 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 ioute 0 eq {%ioute=0 tfr %C06 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIEDE2000) showen (\255Empfindlichkeit nach CIEDE2000) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20rm (\050) bLs (dY/Y) jLs (\051/\050) bLs (dY/Y) jLs (\051) bLs (u) ibLs (]) bLs ( = (-1/3) log\050) bLs (Y/Y) jLs (u) ibLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth 0 setgray %1 1 1 setrgbcolor %C07 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1400 add moveto /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1150 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 550 add moveto /FY16 Yi 16 get dYi 16 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=0 red CIEDE2000 1 0 0 setrgbcolor x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto (log) bLs 20rm ((Y/dY)) jLs (u) ibLs (=) bLs TBL Yi iu get dYi iu get div log cvsshow2x /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 Yi iu get dYi iu get div log ytrl add MULY mul 120 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 0. MULY mul lineto stroke [ ] 0 setdash tfn 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 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 2700 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C07 x0 y0 moveto (Y) jLs TBL ( contrast according to CIEDE2000) showen (\255Kontrast nach CIEDE2000) showde x0 500 add y0 ydel sub moveto (log) bLs ((Y/dY)) jLs x0 500 add 750 add y0 ydel sub moveto ( = log[\0501/3\051) bLs ( \050116/) bLs (Y) jLs (n) ibLs (\051]) bLs ( + (1/3) log) bLs 20rm (\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 500 add 750 add y0 ydel 2 mul sub moveto ( = log[(1/3) \050116/\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051]) bLs ( + (1/3) log) bLs 20rm (\050) bLs (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C08 /x0 0300 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 300 add moveto /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 050 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 Yi 16 get dYi 16 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor 0300 ytr 120 add moveto (log[) bLs ((Y/dY)) jLs (u) ibLs (/) bLs ((Y/dY)) jLs (u) ibLs (]=0) bLs /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 400 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C08 x0 y0 moveto (Y) jLs TBL ( contrast according to CIEDE2000) showen (\255Kontrast nach CIEDE2000) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto (log[) bLs 20rm (\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051) bLs (u) ibLs (]) bLs ( = (1/3) log\050) bLs ((Y/Y)) jLs (u) ibLs (\051) bLs x0 500 add y0 2.0 ydel mul sub moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** tfb /xtfb 200 def xchartl 00 eq {100 3200 xtfb sub moveto (L*) jLs (85) ibLs } if xchartl 01 eq {100 3200 xtfb sub moveto (L*/L*) jLs (85) ibLs } if xchartl 02 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs } if xchartl 03 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs } if xchartl 04 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (=) bLs TBL (D) sKs (Y/Y) jLs } if xchartl 05 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (/) bLs (S) jLs (ru) ibLs (=\050) bLs (D) sKs (Y/Y) jLs (\051/\050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs } if xchartl 06 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (=) bLs (Y/) jLs (D) sKs (Y) jLs } if xchartl 07 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (/) bLs (C) jLs (ru) ibLs (=\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs } if tfn %************************************************************** xchartl 00 eq {C01_ALOG_T*_L*} if xchartl 01 eq {C02_ALOG_T*DT*u_L*DL*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 { 5700 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 5700 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 5700 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 5700 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %} for %ioute=0,1 %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 70 85 translate %right down xti 3 get yti 3 get translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 33 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CET5/CET51-8A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark18 where {pop} {userdict /pdfmark18 /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/CET5/CET5.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:2022040112000) /ModDate (D:20220401112000) /DOCINFO pdfmark18 [ /View [ /Fit ] /DOCVIEW pdfmark18 %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 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /iMs {250 /Times-ISOL1 FS 0 -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 TL} bind def /kLs {200 /TimesI-ISOL1 FS show TL} bind def /bLs {200 /TimesB-ISOL1 FS show TL} bind def /jLs {200 /TimesBI-ISOL1 FS show TL} bind def /sLs {200 /Symbol FS show TL} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TL} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TL} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TL} bind def /20rm {20 0 rmoveto} def /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 10 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 10 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 10 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10 mul cvi abs /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show} {() show} ifelse nxx 100 mul cvi abs /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show} {() show} ifelse nxx 1000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.123/99.0 nxx 0 lt {(-) show} {() show} ifelse nxx 10000 mul cvi abs /nxi exch def %nxi=99123/99012/99001/9 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(0000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def %XCHA01.PS BEG /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth 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 %************************************************* /Yi_L*i_dYi_Cab {%BEG Yi_L*i_dYi_Cab C=CIELAB %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 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_Cab C=CIELAB %************************************************* /Yi_L*i_dYi_C00 {%BEG Yi_L*i_dYi_C00 C00=CIEDE2000 %only for k=0, no L* definition possible %identical as for CIELAB %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 %CIEDE2000 %L'=L* %delta_L00=delta_L'/SL %SL2 = 1 + [0,015 (L'q - 50)**2]/[20 + (L'q - 50)**2]**(1/2) % = 1 + [0,015 L's] / [20 + L's]**(1/2) %L's = (L'q - 50)**2 %L'1 = 116*(Y+d_Y)/100)**(1/3)-16 %L'0 = 116*(Y /100)**(1/3)-16 %L'q = 0.5 {L'1 + L'0} %range 1 < Y < 100 %log range 0 < log Y < 2 %delta_E00 = delta_L' / SL %for delta_E00=1: %delta L'/ SL2 = delta L* / SL2 = 1 0 1 100 {/i exch def %i=0,100 Yi i i put dYi i 0.01 put %default L*i i i put %default } for %i=0,100 1 1 100 {/i exch def %i=1,100 for Y /d_Y0 0.005 def %up to 0.999 /d_Ye 0.005 def /iEND 0 def 1 1 999 {/j exch def %j=1,999 for delta_Y iEND 0 eq {%iEND=0 /d_Y d_Y0 j mul def /L'1 i d_Y add 100 div 0.3333 exp 116 mul 16 sub def /L'0 i 100 div 0.3333 exp 116 mul 16 sub def /L'q L'1 L'0 add 0.5 mul def /L's L'q 50 sub 2.0 exp def %SL2 = 1 + [0,015 L's] / [20 + L's]**(1/2) /SL2 0.015 L's mul 20 L's add 0.5 exp div 1 add def L'1 L'0 sub SL2 div 1 ge {/d_Ye d_Y def /iEND 1 def} if } if %iEND=0 } for %j=1,999 Yi i i put dYi i d_Ye put } for %i=1,100 } bind def %END Yi_L*i_dYi_C00 C00=CIEDE2000 %*************************************************** %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 %*************************************************** /Yi_L*i_dYi_L85 {%BEG Yi_L*i_dYi_L85 L85=LABJND 1985 %LABJND /YYL 0.001 def /YFL 0.000001 def /Yu 18. def %dY = (s + q * Y)/c /JNDC 1.5 def %c /JNDS 0.0170 def %s /JNDQ 0.0058 def %q /JNDA JNDQ JNDS div def %a=q/s /JNDT JNDC JNDS div def %t=c/s /JNDB JNDA Yu mul def %b=q/s*Yu=a*Yu /JNDD JNDT JNDA div def %d=t/a %dY = (s + q Y)/ c %dY = [1 + (q/s) Y] / (c/s) = [1 + a Y] / t %dY = [1 + (q/s)*Yu * (Y/Yu)] * (c/s) = [1 + (a*Yu) (Y/Yu)] /t % = [1 + b (Y/Yu)] / t %L*= ln [1 + a Y] * d %dL*/dY = 1 / (1 + a*Y) * a * d) = t / (1 + aY) %for dL*=1: %dY = (1 + a*Y) / t %s=0.0170 %q=0.0058 %c=Y0=1.5 %a=q/s=0.3411 %b=a*Yu=6.1411 %t=c/s=88.23 %d=t/a=258.62 /Yn 100 def /dYu Yu JNDA mul 1 add JNDT div def /L*u Yu JNDA mul 1 add ln JNDD mul def /iu 18 def 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 JNDA mul 1 add ln JNDD mul put dYi ik Yi ik get JNDA mul 1 add JNDT 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_L85=LABJND 1985 %*********************************************** %%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 1 def /lanind2 1 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 % /ioute 1 def %0 1 01 {/ioute exch def %ioute=0,01 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 72 90 translate 0.01 MM dup scale /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(1..8)A.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 17100 def /xmax1 11200 def 1 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke 0 setgray 150 /Times-ISOL1 FS 050 -140 moveto (CET51-8A CES41-8A) show %xchart 1 add cvishow0 } if %xbtex0=1 /xchartl xchart def 7 1 7 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 5700 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 5700 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 5700 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 5700 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 050 -140 moveto (CET51-8A CES41-) show xchartl 1 add cvishow (A) show %A /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 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 tfn %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 %********************************************************************* 50 setlinewidth %50 setlinewidth tfn 0 0 moveto 4500 0 rlineto stroke 0 0 moveto 0 3100 rlineto stroke 4500 100 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3100 100 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 -230 moveto tx i get exec show tfb i 1 ge {ixt 100 moveto txl i get exec show} if tfn ixl 60 moveto 0 -120 rlineto stroke } for tfn %tfw 3300 100 moveto (Y) jLs (u) ibLs TBL (=18) show tfn /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20rm (Y) jLs /iytt 050 def ixtt 200 add iytt moveto tfb (Y) jLs tfn tfn 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 3 def xchartl 0 eq {/j1y 3 def /j2y 5 def} if xchartl 4 eq {/j1y 0 def /j2y 2 def} if %xchartl 6 eq {/j1y 2 def /j2y 4 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 -400 jyt moveto ty j get show tfb j j1y 1 add ge {100 jyt moveto tyl j get show} if tfn -60 jyl moveto 120 0 rlineto stroke } for %******************************************************** %BEG C01_C08 ******************************************** /ytr1 250 def 20 setlinewidth tfn 050 xtr0 sub 3725 ytr1 sub moveto xchartl 00 eq {%xchartl=00 (log) bKs 20rm (L*) jKs (85) ibKs 1600 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (LABJND lightness ) showen (LABJND\255Helligkeit ) showde % (log \050) bKs %(0,1) show % (L*) jKs (85) ibKs (\051) bKs 1 0 0 setrgbcolor 1600 xtr0 sub 3725 ytr1 sub 250 sub moveto TBK (no CIEDE2000 lightness ) showen (keine CIEDE2000\255Helligkeit ) showde % (log \050) bKs (L*) jKs (ab) ibKs (\051) bKs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log \050) bKs (L*) jKs (85) ibKs (/) bKs (L*) jKs (85,) ibKs (u) ibKs (\051 ) bKs 2000 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (normalized LABJND lightness) showen (normierte LABJND\255Helligkeit) showde 2000 xtr0 sub 3725 ytr1 sub 250 sub moveto (log \050) bKs %TBK (0,1) show (L*) jKs (85) ibLs TBK ( / ) show ( L*) jKs (85,u) ibKs TBK (\051 ) bKs 1 0 0 setrgbcolor 2000 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (no CIELDE2000 lightness) showen (keine CIELDE2000\255Helligkeit) showde % 2000 xtr0 sub 3725 ytr1 sub 800 sub moveto % (log \050) bKs % ( L*) jKs TBK ( / ) show % ( L*) jKs (u) ibKs TBK % (\051 ) bKs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bKs 20rm (D) sMs 20 0 rmoveto (Y) jKs 1300 xtr0 sub 3725 ytr1 sub 000 sub moveto TBK (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3725 ytr1 sub 300 sub moveto (10) bKs 20rm (D) sMs 20rm (Y) jKs TBS 0 -50 rmoveto (LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sMs 20rm (Y) jKs TBS 0 -50 rmoveto (CIEDE2000) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bKs 20rm (\050) bKs (D) sMs 20rm (Y) jKs (/) bKs (D) sMs (Y) jKs (u) ibKs (\051) bKs 1800 xtr0 sub 3725 ytr0 sub 000 sub moveto TBK (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3725 ytr0 sub 250 sub moveto (D) sMs 20rm (Y) jKs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sMs 20rm (Y) jKs (u) ibKs 1800 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (for LABJND and ) showen (f\374r LABJND und ) showde 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bKs 20rm (\050) bKs (D) sMs (Y/Y\051) jKs 1900 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3725 ytr1 sub 250 sub moveto (10) bKs (S) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jKs TBL 0 -50 rmoveto (r,CIEDE2000) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log) bLs 20rm ([\050) bKs (D) sMs (Y/Y) jKs (\051 / \050) bKs (D) sMs (Y/Y) bKs (\051) bKs (u) ibKs (]) bKs 2750 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2750 xtr0 sub 3725 ytr1 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sMs ((Y/Y)) bKs (u) ibKs 2750 xtr0 sub 3725 ytr1 sub 550 sub moveto TBK (LABJND) show 20rm (&) show 20rm 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bKs 20rm (\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs 1900 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3725 ytr1 sub 300 sub moveto (0,1) bKs (C) jKs TBL 0 -50 rmoveto (r,LABJND) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jKs TBL 0 -50 rmoveto (r,CIEDE2000) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (log) bKs 20rm ([\050) bKs (Y/) jKs (D) sMs (Y) jKs (\051 / \050) bKs (Y/) jKs (D) sMs (Y) jKs (\051) bKs (u) ibKs (]) bKs 2800 xtr0 sub 3725 ytr1 sub 000 sub moveto (CIE ) bKs (Y) jKs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3725 ytr1 sub 250 sub moveto (normalized to ) showen (normiert f\374r ) showde (\050) bKs (Y) jKs (/) bKs (D) sMs (Y) jKs (\051) bKs (u) ibKs 2800 xtr0 sub 3725 ytr1 sub 500 sub moveto TBK (LABJND) show 20rm (&) show 20rm 1 0 0 setrgbcolor (CIEDE2000) show 0 0 0 setrgbcolor } if %xchartl=07 %********************************************************************* /C01_ALOG_T*_L* {%BEG C01_ALOG_T*_L* CIELAB /Fx0log -2.0 def /Fy0log 0.0 def /xtr 2000 def %/ytr 0000 def /ytr -1000 def /ytrl ytr 1000 div def %log shift xtr ytr translate %new cero point 0 1 0 {/n exch def %n=0,1 %LABJND & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def %n 0 eq %j 0 eq and {%n=1 LABJND % i1 1 i2 {/i exch def %i=i1,i2 % /ik i k 101 mul add def % L*i ik L*i ik get 0.1 mul put % } for %i=i1,i2 % } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C01 %/x0 400 def /x0 700 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 L*i iu get log ytrl add MULY mul 100 add moveto (log) bLs 20rm (L*) jLs (85,u) ibLs (=) bLs TBL L*i iu get log cvsshow2x /FY20 L*i 20 get def /FYiu L*i iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 L*i iu get log ytrl add MULY mul 400 add moveto (L*) jLs (85,) ibLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow } if %n=0 LABJND xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIEDE2000 tfz %tfz [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 tfn 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 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 %/L*D L*i iu get def %0300 L*D log MULY mul 100 add moveto %(log[) bLs (L*) jLs (u) ibLs TBL (]) show %(=) bLs TBL L*D log cvsshow2x %(, L*) jLs (u) ibLs %(=) bLs TBL L*u cvishow /x0 0700 def /y0 3200 def /x1 800 def /y1 3000 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor %x0 y0 moveto %TBL %(LABJND) show %( and ) showen %( und ) showde %1 0 0 setrgbcolor %(CIEDE2000) show %0 0 0 setrgbcolor %( lightness) showen %(\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85,) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x %1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 %x0 y0 2.9 ydel mul sub moveto %(L*) jLs %TBL ( = 116 \050) show %(Y/Y) jLs %(n) ibLs %(\051) bLs %(1/3) ebLs %TBL ( - 16) show %TBL ( \050) show %(Y) jLs %(n) ibLs %TBL (=100, 1<) show %( Y ) jLs %TBL (<100\051) show %0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto (range) showen (bereich) showde } def %END C01_ALOG_T*_L* %********************************************************************* /C02_ALOG_T*DT*u_L*DL*u {%BEG C02_ALOG_T*DTu* CIEDE2000 /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 {/n exch def %n=0,1 %LABJND & CIEDE2000 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L85} if %LABJND n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C02 /x0 100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 LABJND x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (85) ibLs (\051) bLs (/\050) bLs (L*) jLs (85,u) ibLs (\051]) bLs TBL (=0) show /FY20 L*i 20 get L*i iu get div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (L*) jLs (85,u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow } if %n=0 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %LABJND & CIELAB tfz %tfz /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 tfn 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 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 moveto TBL (LABJND) show %( and ) showen %( und ) showde %1 0 0 setrgbcolor %(CIELAB) show %0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %L*= (t/a) * ln [1 + (a Yu) (Y/Yu)] % = (t/a) * ln [1 + b * (Y/Yu)] x0 y0 ydel 0.9 mul sub moveto (L*) jLs (85,) ibLs (= \050) bLs (t/a) bLs (\051) bLs TBL ( ln [ 1 + ) show TBL (b ) show (\050) bLs (Y/Y) jLs (u) iKs (\051]) bLs x0 0000 add y0 ydel 1.8 mul sub moveto TBL (a=) show JNDA cvsshow4x x0 0900 add y0 ydel 1.8 mul sub moveto TBL (t=) show JNDT cvsshow2x x0 1800 add y0 ydel 1.8 mul sub moveto TBL (t/a=) show JNDT JNDA div cvsshow1x x0 2700 add y0 ydel 1.8 mul sub moveto TBL (b=a) show ipK TBL (Y) show (u) ibLs (=) bLs TBL JNDB cvsshow2x %1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 %x0 y0 2.9 ydel mul sub moveto %(L*) jLs %TBL ( = 116 \050) show %(Y/Y) jLs %(n) ibLs %(\051) bLs %(1/3) ebLs %TBL ( - 16) show %TBL ( \050) show %(Y) jLs %(n) ibLs %TBL (=100, 1<) show %( Y ) jLs %TBL (<100\051) show %0 0 0 setrgbcolor } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C02_ALOG_T*DT*u_L*DL*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 0 1 0 {/k exch def %k=0,0:W,R,G,B 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C03 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get def /FYiu dYi iu get def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get def /FYiu dYi iu get def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 300 sub moveto (log) bLs 20rm (dY) jLs (=) bLs TBL dYi iu get log cvsshow2x /FY20 dYi 20 get def /FYiu dYi iu get def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get log ytrl add MULY mul 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C03 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIEDE2000) showen (Normfarbwertdifferenz nach CIEDE2000) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs ((dY)) jLs x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show (Y) jLs (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show (Y) jLs (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C04 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 600 add moveto /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 350 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 dYi 16 get dYi iu get div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY)) jLs (/\050) bLs (dY) jLs (u) ibLs (\051]) bLs TBL (=0) show (, ) show /FY20 dYi 20 get dYi iu get div def /FYiu 1 def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 120 add moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C04 x0 y0 ydel add moveto %L*= 116(Y/Yn)**(1/3)-16 (L*) jLs TBL ( = 116 \050) show (Y/Y) jLs (n) ibLs (\051) bLs (1/3) ebLs TBL ( - 16) show x0 y0 moveto (tristimulus value difference according to CIEDE2000) showen (Normfarbwertdifferenz nach CIEDE2000) showde x0 500 add y0 ydel 1 mul sub moveto (log) bLs ((dY)) jLs x0 1100 add y0 ydel 1 mul sub moveto TBL ( = log\050 3 \050) show (Y) jLs (n) ibLs TBL(/116\051 \051) show TBL ( + (2/3) log\050) show (Y/Y) jLs (n) ibLs (\051) bLs x0 1100 add y0 ydel 2 mul sub moveto TBL ( = log\0503\050) show (Y) jLs (n) ibLs (1/3) ebLs TBL(\051/116\051) show TBL ( + (2/3) log\050) show (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C05 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1300 sub moveto /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1550 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 700 sub moveto /FY16 dYi 16 get Yi 16 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 dYi iu get Yi iu get div log 2 add MULY mul 100 add moveto (dY/Y) jLs (=) bLs TBL dYi iu get Yi iu get div cvsshow2x (, ) show /FY20 dYi 20 get Yi 20 get div def /FYiu dYi iu get Yi iu get div def (m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 dYi iu get Yi iu get div log ytrl add MULY mul 250 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 tfn 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 ytrl add MULY mul moveto %1 add because y-cero point=+2000 %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 ioute 0 eq {%ioute=0 tfr %C05 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIEDE2000) showen (\255Empfindlichkeit nach CIEDE2000) showde %log[(dY/Y)] x0 y0 0.9 ydel mul sub moveto (log[\050) bLs (dY/Y) jLs (\051 = log\0503 \050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051/116\051) bLs ( - (1/3) log) bLs 20rm (Y) jLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1550 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C06 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 0000 sub moveto /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 250 sub moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 100 sub ytr 500 add moveto /FY16 dYi 16 get Yi 16 get div dYi iu get Yi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor x0 ytr 250 sub moveto (log[) bLs ((dY/Y)) jLs (u) ibLs (/\050) bLs ((dY/Y)) jLs (u) ibLs (]=0) bLs /FY20 dYi 20 get Yi 20 get div dYi iu get Yi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 550 sub moveto (Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (dY/Y) jLs (u) ibLs (\051) bLs (=) bLs TBL dYu Yu div cvsshow3x } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 tfn 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 ioute 0 eq {%ioute=0 tfr %C06 x0 y0 moveto (Y) jLs TBL ( sensitivity according to CIEDE2000) showen (\255Empfindlichkeit nach CIEDE2000) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 0.9 ydel mul sub moveto (log) bLs 20rm (\050) bLs (dY/Y) jLs (\051/\050) bLs (dY/Y) jLs (\051) bLs (u) ibLs (]) bLs ( = (-1/3) log\050) bLs (Y/Y) jLs (u) ibLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 1600 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } if /i1 001 def /i2 100 def n 0 eq j 0 eq and {%n=1 LABJND i1 1 i2 {/i exch def %i=i1,i2 /ik i k 101 mul add def dYi ik dYi ik get 10 mul put } for %i=i1,i2 } if %n=0 LABJND 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 50 setlinewidth %40 setlinewidth 0 setgray %1 1 1 setrgbcolor %C07 /x0 0200 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 1400 add moveto /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 1150 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 550 add moveto /FY16 Yi 16 get dYi 16 get div def /FYiu Yi iu get dYi iu get div def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=0 red CIEDE2000 1 0 0 setrgbcolor x0 Yi iu get dYi iu get div log ytrl add MULY mul 250 sub moveto (log) bLs 20rm ((Y/dY)) jLs (u) ibLs (=) bLs TBL Yi iu get dYi iu get div log cvsshow2x /FY20 Yi 20 get dYi 20 get div def /FYiu Yi iu get dYi iu get div def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 Yi iu get dYi iu get div log ytrl add MULY mul 120 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz /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 0. MULY mul lineto stroke [ ] 0 setdash tfn 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 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 2700 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C07 x0 y0 moveto (Y) jLs TBL ( contrast according to CIEDE2000) showen (\255Kontrast nach CIEDE2000) showde x0 500 add y0 ydel sub moveto (log) bLs ((Y/dY)) jLs x0 500 add 750 add y0 ydel sub moveto ( = log[\0501/3\051) bLs ( \050116/) bLs (Y) jLs (n) ibLs (\051]) bLs ( + (1/3) log) bLs 20rm (\050) bLs (Y/Y) jLs (n) ibLs (\051) bLs x0 500 add 750 add y0 ydel 2 mul sub moveto ( = log[(1/3) \050116/\050) bLs (Y) jLs (n) ibLs (1/3) ebLs (\051]) bLs ( + (1/3) log) bLs 20rm (\050) bLs (Y) jLs (\051) bLs } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (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 0 1 1 {/n exch def %n=0,1 n 0 eq {Yi_L*i_dYi_L85} if %LABJND 1985 n 1 eq {Yi_L*i_dYi_C00} if %CIEDE2000 50 setlinewidth 0 1 1 {/j exch def %j=0,1 n 0 eq {j 0 eq {1 1 1 setrgbcolor} if j 1 eq {0 0 0 setrgbcolor [100] 0 setdash} if } if n 1 eq {j 0 eq {1 0 0 setrgbcolor} if j 1 eq {1 0 0 setrgbcolor} if } 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 50 setlinewidth %40 setlinewidth tfn %1 1 1 setrgbcolor %C08 /x0 0300 def /x1 0100 def /x2 1100 def /x3 4100 def k 0 eq {%k=0 xtr neg ytr neg translate %new cero point n 0 eq {%n=0 black x3 ytr 300 add moveto /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u+) ibLs (=) bLs TBL x3 ytr 050 add moveto FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x2 ytr 700 sub moveto /FY16 Yi 16 get dYi 16 get div Yi iu get dYi iu get div div def /FYiu 1 def (m) jLs (u-) ibLs (=) bLs TBL FYiu log FY16 log sub Yi iu get log Yi 16 get log sub div cvsshow2x } if %n=0 n 1 eq {%n=1 red CIEDE2000 1 0 0 setrgbcolor 0300 ytr 120 add moveto (log[) bLs ((Y/dY)) jLs (u) ibLs (/) bLs ((Y/dY)) jLs (u) ibLs (]=0) bLs /FY20 Yi 20 get dYi 20 get div Yi iu get dYi iu get div div def /FYiu 1 def (, m) jLs (u) ibLs (=) bLs TBL FY20 log FYiu log sub Yi 20 get log Yi iu get log sub div cvsshow2x x0 ytr 400 add moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x (, \050) bLs (Y/dY) jLs (u) ibLs (\051) bLs (=) bLs TBL Yu dYu div 0.5 add cvishow %round 0 0 0 setrgbcolor } if %n=1 xtr ytr translate %new cero point } if %k=0 } for %n=0,1 LABJND, CIEDE2000 } for %k=0,0 tfz %tfz [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 tfn 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 ioute 0 eq {%ioute=0 tfr %C08 x0 y0 moveto (Y) jLs TBL ( contrast according to CIEDE2000) showen (\255Kontrast nach CIEDE2000) showde %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 1.0 ydel mul sub moveto (log[) bLs 20rm (\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051) bLs (u) ibLs (]) bLs ( = (1/3) log\050) bLs ((Y/Y)) jLs (u) ibLs (\051) bLs x0 500 add y0 2.0 ydel mul sub moveto (L*) jLs (u) ibLs (=) bLs TBL L*u cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu cvishow (, dY) jLs (u) ibLs (=) bLs TBL dYu cvsshow2x } if %ioute=0 tfn %tfw /x0 3500 def /y0 0850 def x0 y0 moveto 1000 0 rlineto stroke tfg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tfn %tfw x0 y0 0.8 ydel mul sub moveto TBL (application) showen (Anwendungs\255) showde x0 y0 1.5 ydel mul sub moveto TBL (range) showen (bereich) showde } def %END C08_ALOG_L_DL %**************************************************************** tfb /xtfb 200 def xchartl 00 eq {100 3200 xtfb sub moveto (L*) jLs (85) ibLs } if xchartl 01 eq {100 3200 xtfb sub moveto (L*/L*) jLs (85) ibLs } if xchartl 02 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs } if xchartl 03 eq {100 3200 xtfb sub moveto (D) sKs (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs } if xchartl 04 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (=) bLs TBL (D) sKs (Y/Y) jLs } if xchartl 05 eq {100 3200 xtfb sub moveto (S) jLs (r) ibLs (/) bLs (S) jLs (ru) ibLs (=\050) bLs (D) sKs (Y/Y) jLs (\051/\050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs } if xchartl 06 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (=) bLs (Y/) jLs (D) sKs (Y) jLs } if xchartl 07 eq {100 3200 xtfb sub moveto (C) jLs (r) ibLs (/) bLs (C) jLs (ru) ibLs (=\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051/\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs } if tfn %************************************************************** xchartl 00 eq {C01_ALOG_T*_L*} if xchartl 01 eq {C02_ALOG_T*DT*u_L*DL*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 { 5700 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 5700 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 5700 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 5700 neg 0250 neg translate} if grestore } for %xchartl=0,07 showpage grestore %} for %ioute=0,1 %%Trailer %line 169 %%EndDocument EndEPSF grestore gsave showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 020 MM translate 12 /Times-ISOL1 FS -9 MM -7 MM moveto ( ) show 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 28 %line 499 %!PS-Adobe-3.0 EPSF-3.0 CET51-8, %%BoundingBox: 70 90 226 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave 8 /Times-Roman FS 72 83 moveto %!2 (CET51-8,) show 72 90 translate %! 0.01 MM 0.01 MM scale %! 15 setlinewidth %! 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto %! closepath stroke grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 080 MM add 008 MM translate %80 MM Breite von TestStreifen 10 /Times-ISOL1 FS 53 MM 1 MM moveto () show 1 1 scale -77 21 MM sub -91 translate %%BeginDocument: Bild 29 Teststreifen Ueberlaenge %line 509 %%EndDocument EndEPSF grestore gsave BeginEPSF -0.0 MM -0.0 MM translate %xy-Verschiebung Rechteckrahmen nach innen% %%BeginDocument: Bild 30 %Rechteckrahmen %line 519 %!PS-Adobe-3.0 EPSF-3.0 Frame arround with Internet text DG02 20070101 %%BoundingBox: 0 0 598 845 %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /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 /lanind1 01 def /lanind2 01 def /lanindd 01 def /colorm1 00 def /colorm2 00 def /colormd 01 def /deintp1 00 def /deintp2 00 def /deintpd 01 def /xcolor1 00 def /xcolor2 00 def /xcolord 01 def /xchart1 00 def /xchart2 00 def /xchartd 01 def /pchart1 00 def /pchart2 00 def /pchartd 01 def /colsep1 00 def /colsep2 00 def /colsepd 01 def /pmetam1 00 def /pmetam2 00 def /pmetamd 01 def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} if /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} if /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} if /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} if /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} {/xchart5 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} if /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} if /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} if /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES 0 def /i*ptrsc 0 def gsave 0 setgray 1.0 1.0 scale 0.0 MM 0.0 MM translate 0.15 MM setlinewidth /x 20 array def /y 20 array def /d 20 array def /x [000 296 296 000 002 294 294 002 005 291 291 005 %speziell 006 290 290 006 008 288 288 008 ] def /y [000 000 210 210 002 002 208 208 005 005 205 205 %speziell 006 006 204 204 008 008 202 202 ] def /d [060 017 -60 -17 058 015 -58 -15 056 013 -56 -13 054 011 -54 -11 052 009 -52 -09 ] 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 xchart3 lt {/Txx (-) def /Fxx (-) def} if xchart xchart3 ge {%xchart>=xchart3 /i0 12 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def 2.5 MM /Times-ISOL1 FS x i0 get MM 40 MM add y i0 get MM 1 MM sub moveto lanind cvishow (-) show colorm cvishow deintp cvishow xcolor cvishow xchart cvishow pchart cvishow colsep cvishow (-F) show pmetam cvishow } if %xchart>=xchart3 /xt 1 def xchart 1 eq {/xt 1 def} if xt 0 eq {%xt=0,1 ifelse /i0 12 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def 2.5 MM /Times-ISOL1 FS x i0 get MM 110 MM add y i0 get MM 1 MM sub moveto (http://130.149.60.45/~farbmetrik/CET5/CET5) show colorm cvishow deintp cvishow colorm 0 eq {(N) show} {(F) show} ifelse (P.PDF & ) show (http://130.149.60.45/~farbmetrik/CET5/CET5) show colorm cvishow deintp cvishow colorm 0 eq {(N) show} {(F) show} ifelse (P.TXT & ) show (http://130.149.60.45/~farbmetrik/CET5/CET5.HTM) show } %xt=0 { %xt=1 /xlu 017 MM def /ylu 017 MM def /xro 279 MM def /yro 193 MM def /xlo 017 MM def /ylo 193 MM def /xru 279 MM def /yru 017 MM def xlu 8 MM sub ylu moveto 16 MM 0 rlineto stroke xlu ylu 8 MM sub moveto 0 16 MM rlineto stroke xro 8 MM add yro moveto -16 MM 0 rlineto stroke xro yro 8 MM add moveto 0 -16 MM rlineto stroke xru 8 MM sub yru moveto 16 MM 0 rlineto stroke xru yru 8 MM sub moveto 0 16 MM rlineto stroke xlo 8 MM add ylo moveto -16 MM 0 rlineto stroke xlo ylo 8 MM add moveto 0 -16 MM rlineto stroke 1 2 7 {/i exch def %Zentrierkreise xlu ylu i MM 0 360 arc stroke xro yro i MM 0 360 arc stroke xru yru i MM 0 360 arc stroke xlo ylo i MM 0 360 arc stroke } for %i 12 4 16 {/i exch def /i0 i def %i=0,16 %0 4 16 {/i exch def /i0 i def %i=0,16 /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse 0 setgray x i0 get MM y i0 get MM moveto x i1 get MM y i1 get MM lineto x i2 get MM y i2 get MM lineto x i3 get MM y i3 get MM lineto x i0 get MM y i0 get MM lineto stroke i 16 eq {6 /Times-ISOL1 FS /x00 67 def /xdif 32 def /y0o 202.3 def /y0u 6.3 def /x0l 6.1 def /x0r 288 def /y00 22 def /ydif 32 def x00 xdif 0 mul add MM y0o MM moveto (V) show x00 xdif 0 mul add MM y0u MM moveto (C) show x00 xdif 1 mul add MM y0o MM moveto (L) show x00 xdif 1 mul add MM y0u MM moveto (M) show x00 xdif 2 mul add MM y0o MM moveto (O) show x00 xdif 2 mul add MM y0u MM moveto (Y) show x00 xdif 3 mul add MM y0o MM moveto (Y) show x00 xdif 3 mul add MM y0u MM moveto (O) show x00 xdif 4 mul add MM y0o MM moveto (M) show x00 xdif 4 mul add MM y0u MM moveto (L) show x00 xdif 5 mul add MM y0o MM moveto (C) show x00 xdif 5 mul add MM y0u MM moveto (V) show x0l MM y00 ydif 0 mul add MM moveto (V) show x0r MM y00 ydif 0 mul add MM moveto (C) show x0l MM y00 ydif 1 mul add MM moveto (L) show x0r MM y00 ydif 1 mul add MM moveto (M) show x0l MM y00 ydif 2 mul add MM moveto (O) show x0r MM y00 ydif 2 mul add MM moveto (Y) show x0l MM y00 ydif 3 mul add MM moveto (Y) show x0r MM y00 ydif 3 mul add MM moveto (O) show x0l MM y00 ydif 4 mul add MM moveto (M) show x0r MM y00 ydif 4 mul add MM moveto (L) show x0l MM y00 ydif 5 mul add MM moveto (C) show x0r MM y00 ydif 5 mul add MM moveto (V) show } if } for %i=0,16 0 1 10 {/j0 exch def /j1 j0 1 add def %j0 j0 0 eq {tzccmy0* setcmykcolor} if j0 1 eq {0 setgray} if j0 2 eq {tzmcmy0* setcmykcolor} if j0 3 eq {0 setgray} if j0 4 eq {tzycmy0* setcmykcolor} if j0 5 eq {0 setgray} if j0 6 eq {tzocmy0* setcmykcolor} if j0 7 eq {0 setgray} if j0 8 eq {tzlcmy0* setcmykcolor} if j0 9 eq {0 setgray} if j0 10 eq {tzvcmy0* setcmykcolor} if 12 4 16 {/i exch def /i0 i def %i=0,16 %0 4 16 {/i exch def /i0 i def %i=0,16 /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def i 16 eq {0.30 MM setlinewidth} {0.15 MM setlinewidth} ifelse x i0 get d i0 get add 16 j0 mul add MM y i0 get MM moveto x i0 get d i0 get add 16 j1 mul add MM y i0 get MM lineto stroke x i1 get MM y i1 get d i1 get add 16 j0 mul add MM moveto x i1 get MM y i1 get d i1 get add 16 j1 mul add MM lineto stroke x i2 get d i2 get add 16 j0 mul sub MM y i2 get MM moveto x i2 get d i2 get add 16 j1 mul sub MM y i2 get MM lineto stroke x i3 get MM y i3 get d i3 get add 16 j0 mul sub MM moveto x i3 get MM y i3 get d i3 get add 16 j1 mul sub MM lineto stroke } for %i=0,16 } for %j0 0.15 MM setlinewidth /s 7 MM def /s1 8 MM def /s5 36 MM def 16 1 20 {/j exch def /j0 j 16 sub def %j=16,20 /ix0 xlu 8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def 0 1 3 {/ij exch def %ij=0,3 ij 0 eq {/ix0 xlu 8 MM add j0 7 MM mul add def /iy0 ylu 8 MM sub def} if ij 1 eq {/ix0 xru 43 MM sub j0 7 MM mul add def /iy0 yru 8 MM sub def} if ij 2 eq {/ix0 xlo 8 MM add j0 7 MM mul add def /iy0 ylo 1 MM add def} if ij 3 eq {/ix0 xro 43 MM sub j0 7 MM mul add def /iy0 yro 1 MM add def} if i*ptrsc 0 eq i*ptrsc 2 eq or {%i*ptrsc=0,2 cmy0* setcmykcolor j 16 eq {tzan j get dup dup 0 setcmykcolor ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if tzan j get dup dup 0 setcmykcolor ix0 iy0 s s rec fill } if %i*ptrsc=0,2 i*ptrsc 1 eq i*ptrsc 3 eq or {%i*ptrsc=1,3 www* setrgbcolor j 16 eq {1 tzan j get 1 sub dup dup setrgbcolor %N ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 1 tzan j get sub dup dup setrgbcolor %N ix0 iy0 s s rec fill } if %i*ptrsc=1,3 i*ptrsc 4 eq i*ptrsc 5 eq or {%i*ptrsc=4,5 [/CIEBasedABC << %Farbraum und Grenzen fuer D65 /RangeABC [0 100 -128 127 -128 127] /DecodeABC [{16 add 116 div} bind {500 div} bind {200 div} bind] /MatrixABC [1 1 1 1 0 0 0 0 -1] /DecodeLMN [{dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse 0.9505 mul} bind {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse 1.0890 mul} bind] /WhitePoint [0.9505 1 1.089] %CIEXYZ fuer D65 >>] setcolorspace j 16 eq {tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add setcolor %N ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if tznLAB* 0 get tzwLAB* 0 get tznLAB* 0 get sub 0.25 j0 mul mul add tznLAB* 1 get tzwLAB* 1 get tznLAB* 1 get sub 0.25 j0 mul mul add tznLAB* 2 get tzwLAB* 2 get tznLAB* 2 get sub 0.25 j0 mul mul add setcolor %N ix0 iy0 s s rec fill } if %i*ptrsc=4,5 i*ptrsc 6 eq {%i*ptrsc=6 000n* setcmykcolor j 16 eq {0 0 0 tzan j get setcmykcolor ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 0 0 0 tzan j get setcmykcolor ix0 iy0 s s rec fill } if %i*ptrsc=6 i*ptrsc 7 eq {%i*ptrsc=7 w* setgray j 16 eq {1 tzan j get sub setgray ix0 0.5 MM sub iy0 0.5 MM sub s5 s1 rec fill} if 1 tzan j get sub setgray ix0 iy0 s s rec fill } if %i*ptrsc=7 } for %ij=0,3 } for %j=16,20 0 setgray 018 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show 018 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show 276 MM 008.2 MM moveto 6 /Times-Roman FS (-8) show 276 MM 006.2 MM moveto 6 /Times-Roman FS (-6) show 018 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show 018 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show 276 MM 202.2 MM moveto 6 /Times-Roman FS (-8) show 276 MM 204.2 MM moveto 6 /Times-Roman FS (-6) show %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour %steered: xchart3 2 def %diagram 0:Munsell colours, 1:Ostwald colours, 2:- %xchart5 0 def %without marc illuminant and text %xchart5 1 def %with marc illuminant %xchart5 2 def %with marc illuminant and text %steered: xchart5 2 def %0:-, 1:illuminant, 2:illuminant and text %xchart6 0 def %without chromaticity_lines %xchart6 1 def %with chromaticity_lines %xchart6 2 def %with chromaticity_lines and names /xchart6 2 def %0:-, 1:chromaticity_lines 2:chromaticity_lines & names %xchart7 0 def %Ostwald colours without Name or Y %xchart7 1 def %Ostwald colours with Name %xchart7 2 def %Ostwald colours with CIE Y /xchart7 2 def %0:-, 1:Name, 2:Y %xchartl with 0 1 2 3 4 5 6 7 %xchart8 0 def %0:Pxx (P60, P55, P50, P45, P40, P35, P30, P25) colours %xchart8 1 def %1:Dxx (D65, D50, P40, A00, E00, C00, P00, Q00) colours /xchart8 0 def %0:Pxx, 1:Dxx colours %xchart9 0 def %for Y10-7R.EPS -> Table XYZ, not used here %xchart9 1 def %for Y10-7R.EPS -> Table CAB, not used here %xchart9 2 def %for Y10-7R.EPS -> Table (a,b), not used here /xchart9 0 def %Table 0:(XYZ), 1:(CAB), 2(ab) %xchart10 0 def %for Y10E00NA.PS6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10E00NA.PS6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10E00NA.PS6.PS -> chroma (A*i,B*i) /xchart10 0 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) /TELi 8 array def xchart8 0 eq {%xchart8=0 /TELi [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def }%xchart8=0 {%xchart8=1 /TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def } ifelse %xchart8=1 /10TIN {10 /Times-ISOL1 FS} def /10TRN {10 /Times-Roman FS} def /12TIN {12 /Times-ISOL1 FS} def /12TRN {12 /Times-Roman FS} def /10TII {10 /TimesI-ISOL1 FS} def /10TRI {10 /Times-Italic FS} def /12TII {12 /TimesI-ISOL1 FS} def /12TRI {12 /Times-Italic FS} def /10TIB {10 /TimesB-ISOL1 FS} def /10TRB {10 /Times-Bold FS} def /12TIB {12 /TimesB-ISOL1 FS} def /12TRB {12 /Times-Bold FS} def /10TIBI {10 /TimesBI-ISOL1 FS} def /10TRBI {10 /Times-BoldItalic FS} def /12TIBI {12 /TimesBI-ISOL1 FS} def /12TRBI {12 /Times-BoldItalic FS} def %special /10TIN10 {10TIN 0 -3 rmoveto xcolor 1 eq {(10) show} if 0 3 rmoveto} def /10TINi10 {10TIN 0 -3 rmoveto (i) show xcolor 1 eq {(,10) show} if 0 3 rmoveto} def /10SN {10 /Symbol FS} def /12SN {12 /Symbol FS} def 0 setgray 12TIN 61 MM 14 MM moveto (TUB\255Pr\374fvorlage CET5; ) showde %0CET5X-Y 0000# (TUB\255test chart CET5; ) showen %1CET5X-Y 0000# (gr\341fico TUB\255CET5; ) showes %2CET5X-Y 0000# (TUB\255test graphique CET5; ) showfr %3CET5X-Y 0000# (grafico TUB\255CET5; ) showit %4CET5X-Y 0000# (TUB\255test chart CET5; ) showjp %5CET5X-Y 0000# 12TIN (Comparison lightness formulae ) showea (CIELAB, IECsRGB, CIEDE2000 & LABJND ) showea (Vergleich Helligkeitsformeln ) showde (CIELAB, IECsRGB, CIEDE2000 & LABJND ) showde 61 MM 09.5 MM moveto 12TIN (Lightness ) showea (Helligkeit ) showde 12TII (L* ) show 12TIN (or log) showen (oder log) showde 12TII (L* ) show 12TIN (als Funktion von ) showde (as function of ) showea 12TII (Y) show 12TIN ( or log) showea ( oder log) showde 12TII (Y) show 12TIN (, ) show 12TIN (relative contrast ) showea (relativer Kontrast ) showde 12TIN (C) show 10TIN 0 -2 rmoveto (r) show 0 2 rmoveto 12TIN (=[\050) show 12TII (Y/) show 12SN (D) show 12TII (Y\051) show 12TIN (/) show 12TII (\050Y/) show 12SN (D) show 12TII (Y\051) show 10TIN 0 -2 rmoveto (u) show 0 2 rmoveto 12TIN (]) show /iout 0 def iout 1 eq {%iout=1 180 MM 14 MM moveto (Eingabe: ) showde %0CET5X-Y 0500# (input: ) showen %1CET5X-Y 0500# (entrada: ) showes %2CET5X-Y 0500# (entr\351e: ) showfr %3CET5X-Y 0500# (immettere: ) showit %4CET5X-Y 0500# (input: ) showjp %5CET5X-Y 0500# 12TII (w/rgb/cmyk -> rgb) show xchart xchart3 lt {(w/rgb/cmyk) show } if xchart xchart3 ge {%xchart>=xchart3 (rgb) show } if %xchart>=xchart3 10TIN 0 -2 rmoveto Txx show 0 2 rmoveto 12TIN 12TIN 165 MM 9 MM moveto (Ausgabe: ) showde %0CET5X-Y 0600# (output: ) showen %1CET5X-Y 0600# (salida: ) showes %2CET5X-Y 0600# (sortie: ) showfr %3CET5X-Y 0600# (uscita: ) showit %4CET5X-Y 0600# (output: ) showjp %5CET5X-Y 0600# %colorm=0,1! xchart xchart3 lt {%xchart=xchart3 12TIN (keine \304nderung) showde %0CET5X-Y 0700# (no change) showen %1CET5X-Y 0700# (ning\372n cambio) showes %2CET5X-Y 0700# (aucun changement) showfr %3CET5X-Y 0700# (nessun cambiamento) showit %4CET5X-Y 0700# (no change compared) showjp %5CET5X-Y 0700# }%xchart=xchart3 12TIN colorm 0 eq {%colorm=0 (Transfer nach ) showde %0CET5X-Y 0800# (transfer to ) showen %1CET5X-Y 0800# (transfiera a ) showes %2CET5X-Y 0800# (transf\351rer \340 ) showfr %3CET5X-Y 0800# (trasferire a ) showit %4CET5X-Y 0800# (transfer to ) showjp %5CET5X-Y 0800# }%colorm=0 {%colorm=1 (3D\255Linearisierung ) showde %0CET5X-Y 0900# (3D\255linearization to ) showen %1CET5X-Y 0900# (3D\255linealizaci\363n a ) showes %2CET5X-Y 0900# (linearisation 3D selon ) showfr %3CET5X-Y 0900# (3D\255linearizzazione a ) showit %4CET5X-Y 0900# (3D\255linearization to ) showjp %5CET5X-Y 0900# } ifelse %colorm=1 12TII xchart5f 0 eq {(rgb) show} if xchart5f 1 eq {(cmyk) show} if xchart5f 2 eq {(cmy0) show} if xchart5f 3 eq {(cmyk) show} if colorm 1 eq {(*) show} if 10TIN 0 -2 rmoveto Txx show 0 2 rmoveto 12TIN } ifelse %xchart=xchart3 } if %iout=1 %0 setgray %end white and unvisible 62 MM 198.5 MM moveto 12TRN (http://farbe.li.tu-berlin.de/CET5/CET5) show 12TIN (L0) show LSC$ show LEX$ show iout 1 eq {%iout=1 %1 setgray %start white and unvisible (; ) show xchart xchart3 lt { (Start\255Ausgabe) showde %0CET5X-Y 1000# (start output) showen %1CET5X-Y 1000# (comience salida) showes %2CET5X-Y 1000# (sortie de production) showfr %3CET5X-Y 1000# (cominciare l'uscita) showit %4CET5X-Y 1000# (start output) showjp %5CET5X-Y 1000# } if LSC$ (C) eq { (Start\255Ausgabe) showde %0CET5X-Y 1100# (start output) showen %1CET5X-Y 1100# (comience salida) showes %2CET5X-Y 1100# (sortie de production) showfr %3CET5X-Y 1100# (cominciare l'uscita) showit %4CET5X-Y 1100# (start output) showjp %5CET5X-Y 1100# } if xchart xchart3 ge {%xchart>=xchart3 colorm 0 eq {%colorm=0,1 (Transfer Ausgabe) showde %0CET5X-Y 1200# (transfer output) showen %1CET5X-Y 1200# (salida de transferencia) showes %2CET5X-Y 1200# (sortie de transfert) showfr %3CET5X-Y 1200# (uscita di trasferimento) showit %4CET5X-Y 1200# (transfer output) showjp %5CET5X-Y 1200# }%colorm=0 {%colorm=1 (3D\255Linearisierung) showde %0CET5X-Y 1300# (3D\255linearization) showen %1CET5X-Y 1300# (3D\255linealizaci\363n) showes %2CET5X-Y 1300# (linearisation 3D) showfr %3CET5X-Y 1300# (3D\255linearizzzazione) showit %4CET5X-Y 1300# (3D\255linearization) showjp %5CET5X-Y 1300# } ifelse %colorm=0,1 } if %xchart>=xchart3 } if %iout=1 62 MM 194 MM moveto 12TIN LSC$ (N) eq LSC$ (C) eq or { (N: Keine 3D\255Linearisierung (OL) ) showde %0CET5X-Y 1400# (N: no 3D\255linearization (OL) ) showen %1CET5X-Y 1400# (N: ninguna 3D\255linealizaci\363n (OL) ) showes %2CET5X-Y 1400# (N: aucun linearisation 3D (OL) ) showfr %3CET5X-Y 1400# (N: nessun 3D\255linearizzazione (OL) ) showit %4CET5X-Y 1400# (N: no 3D\255linearization (OL) ) showjp %5CET5X-Y 1400# (in Datei (F) oder PS\255Startup (S)) showde %0CET5X-Y 1500# (in file (F) or PS\255startup (S)) showen %1CET5X-Y 1500# (en archivo (F) o PS\255startup (S)) showes %2CET5X-Y 1500# (dans fichier (F) ou PS\255startup (S)) showfr %3CET5X-Y 1500# (nel file (F) o PS\255startup (S)) showit %4CET5X-Y 1500# (in file (F) or PS\255startup (S)) showjp %5CET5X-Y 1500# } {LSC$ show (: ) show (3D\255Linearisierung) showde %0CET5X-Y 1600# (3D\255linearization) showen %1CET5X-Y 1600# (3D\255linealizaci\363n) showes %2CET5X-Y 1600# (linearisation 3D) showfr %3CET5X-Y 1600# (3D\255linearizzzazione) showit %4CET5X-Y 1600# (3D\255linearization) showjp %5CET5X-Y 1600# ( CET5/CET5L) show LSS$ show LSX$ show (0) show LSC$ show LEY$ show } ifelse LSC$ (F) eq { ( in Datei (F)) showde %0CET5X-Y 1700# ( in file (F)) showen %1CET5X-Y 1700# ( en archivo (F)) showes %2CET5X-Y 1700# ( dans fichier (F)) showfr %3CET5X-Y 1700# ( nel file (F)) showit %4CET5X-Y 1700# ( in file (F)) showjp %5CET5X-Y 1700# } if LSC$ (S) eq { ( im Distiller Startup (S) Directory) showde %0CET5X-Y 1800# ( in Distiller Startup (S) Directory) showen %1CET5X-Y 1800# ( en el Distiller Startup (S) Directory) showes %2CET5X-Y 1800# ( dans le Distiller Startup (S) Directory) showfr %3CET5X-Y 1800# ( nel Distiller Startup (S) Directory) showit %4CET5X-Y 1800# ( in Distiller Startup (S) Directory) showjp %5CET5X-Y 1800# } if LSC$ (D) eq { ( in PS\255Device (D)) showde %0CET5X-Y 1900# ( in PS\255device (D)) showen %1CET5X-Y 1900# ( en el PS\255device (D)) showes %2CET5X-Y 1900# ( dans l'appareil PS (D)) showfr %3CET5X-Y 1900# ( nel PS\255dispositivo (D)) showit %4CET5X-Y 1900# ( in PS\255Device (D)) showjp %5CET5X-Y 1900# } if LSC$ (T) eq { ( im Distiller Startup (S) Directory) showde %0CET5X-Y 2000# ( in Distiller Startup (S) Directory) showen %1CET5X-Y 2000# ( en el Distiller Startup (S) Directory) showes %2CET5X-Y 2000# ( dans le Distiller Startup (S) Directory) showfr %3CET5X-Y 2000# ( nel Distiller Startup (S) Directory) showit %4CET5X-Y 2000# ( in Distiller Startup (S) Directory) showjp %5CET5X-Y 2000# } if LSC$ (E) eq { ( in PS\255Device (D)) showde %0CET5X-Y 2100# ( in PS\255device (D)) showen %1CET5X-Y 2100# ( en el PS\255device (D)) showes %2CET5X-Y 2100# ( dans appareil PS (D)) showfr %3CET5X-Y 2100# ( nel PS\255dispositivo (D)) showit %4CET5X-Y 2100# ( in PS\255Device (D)) showjp %5CET5X-Y 2100# } if %0 setgray %end white and unvisible (, Seite ) showde %0CET5X-Y 2200# (, page ) showen %1CET5X-Y 2200# (, p\341gina ) showes %2CET5X-Y 2200# (, page ) showfr %3CET5X-Y 2200# (, pagina ) showit %4CET5X-Y 2200# (, page ) showjp %5CET5X-Y 2200# xchart 1 add cvishow (/) show xchartm cvishow 16 MM 185 MM moveto 12TIN -90 rotate (Siehe \344hnliche Dateien: ) showde %0CET5X-Y 2300# (see similar files: ) showen %1CET5X-Y 2300# (vea archivos semejantes: ) showes %2CET5X-Y 2300# (voir des fichiers similaires: ) showfr %3CET5X-Y 2300# (vedere dei file simili: ) showit %4CET5X-Y 2300# (see similar files: ) showjp %5CET5X-Y 2300# 12TRN (http://farbe.li.tu-berlin.de/CET5/CET5.HTM) show 12TIN %(0) show %LSC$ show LEX$ show 90 rotate 12 MM 185 MM moveto 12TIN -90 rotate (Technische Information: ) showde %0CET5X-Y 2400# (technical information: ) showen %1CET5X-Y 2400# (informaci\363n t\351cnica: ) showes %2CET5X-Y 2400# (informations techniques: ) showfr %3CET5X-Y 2400# (informazioni tecniche: ) showit %4CET5X-Y 2400# (technical information: ) showjp %5CET5X-Y 2400# 12TRN (http://farbe.li.tu-berlin.de) show 12TIN ( oder ) showde %0CET5X-Y 2500# ( or ) showen %1CET5X-Y 2500# ( o ) showes %2CET5X-Y 2500# ( ou ) showfr %3CET5X-Y 2500# ( o ) showit %4CET5X-Y 2500# ( or ) showjp %5CET5X-Y 2500# 12TRN (http://color.li.tu-berlin.de) show 12TIN 90 rotate 281 MM 185 MM moveto 12TIN -90 rotate (TUB\255Registrierung: 20220401\255CET5/CET5L) showde %0CET5X-Y 2600# (TUB registration: 20220401\255CET5/CET5L) showen %1CET5X-Y 2600# (TUB matr\355cula: 20220401\255CET5/CET5L) showes %2CET5X-Y 2600# (TUB enregistrement: 20220401\255CET5/CET5L) showfr %3CET5X-Y 2600# (TUB iscrizione: 20220401\255CET5/CET5L) showit %4CET5X-Y 2600# (TUB registration: 20220401\255CET5/CET5L) showjp %5CET5X-Y 2600# (0) show LSC$ show LEX$ show 90 rotate 281 MM 74 MM moveto 12TIN -90 rotate (TUB\255Material: Code=rha4ta) showde %0CET5X-Y 2700# (TUB material: code=rha4ta) showen %1CET5X-Y 2700# (TUB material: code=rha4ta) showes %2CET5X-Y 2700# (TUB mat\351riel: code=rha4ta) showfr %3CET5X-Y 2700# (TUB materiale: code=rha4ta) showit %4CET5X-Y 2700# (TUB material: code=rha4ta) showjp %5CET5X-Y 2700# 90 rotate 277 MM 185 MM moveto 12TIN -90 rotate ( Anwendung f\374r Messung ) showde %0CET5X-Y 2800# ( application for measurement ) showen %1CET5X-Y 2800# ( aplicaci\363n para la medida ) showes %2CET5X-Y 2800# ( application pour la mesure ) showfr %3CET5X-Y 2800# ( la domanda per la misura ) showit %4CET5X-Y 2800# ( application for measurement ) showjp %5CET5X-Y 2800# xchart5f 0 eq {%xchart5f=0 (von Display\255Ausgabe) showde %0CET5X-Y 2900# (of display output) showen %1CET5X-Y 2900# (de display output) showes %2CET5X-Y 2900# (de sortie sur \350cran) showfr %3CET5X-Y 2900# (di stampa di display) showit %4CET5X-Y 2900# (of display output) showjp %5CET5X-Y 2900# } if %xchart5f=0 xchart5f 1 eq xchart5f 2 eq or {%xchart5f=1,2 (von Offsetdruck\255Ausgabe) showde %0CET5X-Y 3000# (of offset print output) showen %1CET5X-Y 3000# (salida en la impressi\363n offset) showes %2CET5X-Y 3000# (des sorties sur offset) showfr %3CET5X-Y 3000# (uscita nella stampa di offset) showit %4CET5X-Y 3000# (of offset print output) showjp %5CET5X-Y 3000# } if %xchart5f=1,2 xchart5f 3 eq {%xchart5f=3 (von Laserdrucker\255Ausgabe) showde %0CET5X-Y 3100# (of laser printer output) showen %1CET5X-Y 3100# (salida de impresora l\341ser) showes %2CET5X-Y 3100# (des sorties sur imprimante laser) showfr %3CET5X-Y 3100# (di uscita della stampante laser) showit %4CET5X-Y 3100# (of laser printer output) showjp %5CET5X-Y 3100# } if %xchart5f=3 iout 1 eq {%iout=1 xchart xchart3 ge {%xchart>=xchart3 xchart5f 0 eq {%xchart5f=0 (, keine Separation) showde %0CET5X-Y 3200# (, no separation) showen %1CET5X-Y 3200# (, ninguna separaci\363n) showes %2CET5X-Y 3200# (, aucune s\351paration) showfr %3CET5X-Y 3200# (, nessuna separazione) showit %4CET5X-Y 3200# (, no separation) showjp %5CET5X-Y 3200# } if %chart5f=0 xchart5f 1 ge {%xchart5f>=1 (, Separation) showde %0CET5X-Y 3300# (, separation) showen %1CET5X-Y 3300# (, separaci\363n) showes %2CET5X-Y 3300# (, s\351paration) showfr %3CET5X-Y 3300# (, separazione) showit %4CET5X-Y 3300# (, separation) showjp %5CET5X-Y 3300# xchart5f 1 eq xchart5f 3 eq or {(cmyn6) show} if xchart5f 2 eq {(cmy0) show} if colorm 1 eq {(*) show} if colsep 0 eq {( (CMYK))}{( (CMY0))} ifelse show } if %xchart5f>=1 } if %xchart>=xchart3 } if %iout=1 IMES 1 eq LSC$ (N) ne and { %IMES=1 (, Yr=) show Yre cvsshow1 (, XYZ) show } if %IMES=1 90 rotate /i0 8 def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def 0.30 MM setlinewidth 0 setgray x i0 get MM y i0 get MM moveto x i1 get MM y i1 get MM lineto x i2 get MM y i2 get MM lineto x i3 get MM y i3 get MM lineto x i0 get MM y i0 get MM lineto stroke %/xlu1 013 MM def /ylu1 010 MM def %/xro1 283 MM def /yro1 200 MM def %/xlo1 013 MM def /ylo1 200 MM def %/xru1 283 MM def /yru1 010 MM def %xlu1 4 MM sub ylu1 moveto 8 MM 0 rlineto stroke %xlu1 ylu1 4 MM sub moveto 0 8 MM rlineto stroke %xro1 4 MM add yro1 moveto -8 MM 0 rlineto stroke %xro1 yro1 4 MM add moveto 0 -8 MM rlineto stroke %xru1 4 MM sub yru1 moveto 8 MM 0 rlineto stroke %xru1 yru1 4 MM sub moveto 0 8 MM rlineto stroke %xlo1 4 MM add ylo1 moveto -8 MM 0 rlineto stroke %xlo1 ylo1 4 MM add moveto 0 -8 MM rlineto stroke } ifelse %xt=1 grestore gsave %********************************************************** %%Trailer %%EndDocument EndEPSF grestore gsave showpage grestore %} for %colsepf=0,1 %} for %pchartf=0,0 %} for %xchartf=0,7 %} for %xcolorf=0,1 %} for %deintpf=0,1 %} for %colormf=0,1 %} for %lanindf=0,0 %%Trailer