%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw7l00XX.PS 20230801 %%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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /DOCINFO pdfmark [ /View [ /FitB ] /DOCVIEW pdfmark %Y10g00na.ps6 %line 20****************************************************** %BEG egw7/OUTLIN10.PS Emty 20210418 %END egw7/OUTLIN10.PS Emty 20210418 %BEG egw7/OUTLIN1X.PS 20210418 %EMPTY %END egw7/OUTLIN1X.PS 20210418 %BEG egw7/OUTLIN1Y2.PS Emty 20210418 %END egw7/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 /tfb {0 0.5 1 setrgbcolor} 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 00 def /lanind2f 00 def /laninddf 01 def /lanindmf 01 def /colorm1f 00 def /colorm2f 00 def /colormdf 01 def /colormmf 01 def /deintp1f 00 def /deintp2f 00 def /deintpdf 01 def /deintpmf 01 def /xcolor1f 00 def /xcolor2f 00 def /xcolordf 01 def /xcolormf 01 def %2/10degree /xchart1f 00 def /xchart2f 00 def /xchartdf 01 def /xchartmf 01 def /xchart3f 01 def /xchart4f 00 def /xchart5f 00 def /pchart1f 00 def /pchart2f 00 def /pchartdf 01 def /pchartmf 01 def %=3:sRGB,Lr /colsep1f 00 def /colsep2f 00 def /colsepdf 01 def /colsepmf 01 def /pmetam1f 00 def /pmetam2f 00 def /pmetamdf 01 def /pmetammf 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 %/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 /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 %11 %12 %13 %14 %15 %16 %17 %18 %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 /SHSl 2 def /SHAl 2 def BeginEPSF 28 SHSl sub 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 egw70-1N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw70-1N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add 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 egw70-2N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw70-2N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 28 SHSl sub 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 egw70-3n_60 %%BoundingBox: 70 85 421 335 %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/egw7/egw7.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:2023080112000) /ModDate (D:2023080112000) /DOCINFO pdfmark03 [ /View [ /Fit ] /DOCVIEW pdfmark03 %END PDFDE011 %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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TV {110 /Times-ISOL1 FS} bind def /TW {080 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TIV {110 /TimesI-ISOL1 FS} bind def /TIW {080 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBV {110 /TimesB-ISOL1 FS} bind def /TBW {080 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /TBIV {110 /TimesBI-ISOL1 FS} bind def /TBIW {080 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def /SV {110 /Symbol FS} bind def /SW {080 /Symbol FS} bind def %***************************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % gsave /cvishow0 {cvi 6 string cvs show} def /kchartl 0 def %0:left page, 1:right page /pchartl 0 def %0:top page, 4:down page %not used 72 90 translate 0.010 MM dup scale 40 setlinewidth /ymax1 08550 def /xmax1 12250 def %2x6000+250 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto kchartl 0 eq {(egw70-) show} {(egw71-) show} ifelse pchartl 0 eq {(3n) show} {(7n) show} ifelse grestore gsave %00 %01 %02 /SHSl 00.0 def /SHAl 02.8 def /STSl 13.0 def /STAl 14.5 def BeginEPSF 28 SHSl sub MM 064 STSl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 15 %!PS-Adobe-3.0 EPSF-3.0 egw70-1a enw30-1n %%BoundingBox: 70 85 243 206 %START PDFDE011.EPS /pdfmark01 where {pop} {userdict /pdfmark01 /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/egw7/egw7.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:2023080112000) /ModDate (D:2023080112000) /DOCINFO pdfmark01 [ /View [ /Fit ] /DOCVIEW pdfmark01 %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 /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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvishow0 {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if 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 0 lt {(-) show /nxx nxx abs def} if 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 0 lt {(-) show /nxx nxx abs def} if 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 /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 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 {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {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 /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def %allways after %Prolog /proc_XYZ_colours {%BEG proc_XYZ_colours %for xchart8=0 /SP25 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP60 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /FXN 82 array def /FYN 82 array def /FZN 82 array def /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def xcolor 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 0 1 050 {/i exch def %i=0,50 F02Z i F10Z i get put } for %i=0,50 } if /InCS 16 array def %16 colour spaces (Index) /InCS [(0) (0) (1) (2) (3) (4) (5) (6) (0) (0) (1) (2) (3) (4) (5) (6)] def %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 FXN i SDAK i get F2 00 i add get mul YKSUM div 100 mul put FYN i SDAK i get F2 80 i add get mul YKSUM div 100 mul put FZN i SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,79 FXN 80 FXN 79 get put FYN 80 FYN 79 get put FZN 80 FZN 79 get put DOW 80 DOW 79 get put %STOP1 0 1 80 {/i exch def %i=0,80 %for any illuminant Xi i FXN i get put Yi i FYN i get put Zi i FZN i get put /SUM FXN i get FYN i get add FZN i get add 0.00001 add def XANi i FXN i get SUM div put YANi i FYN i get SUM div put ZANi i FZN i get SUM div put } for %i=0,80 %STOP1a 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZ i F02Z 00 i add get 100 mul YKSUM div 100 mul put FYNZ i F02Z 17 i add get 100 mul YKSUM div 100 mul put FZNZ i F02Z 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 %STOP2 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZ i get put YZi i FYNZ i get put ZZi i FZNZ i get put /SUMZ FXNZ i get FYNZ i get add FZNZ i get add def XANZi i FXNZ i get SUMZ div put YANZi i FYNZ i get SUMZ div put ZANZi i FZNZ i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXN i get add def /YW YW FYN i get add def /ZW ZW FZN i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_XYZ_colours %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/F2 240 array def %either 2 or 10 degree observer %/F10 240 array def %either 2 or 10 degree observer %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /F2Oi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /F2NOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def %/XKO def %/YKO def %/ZKO def %/XANKO def %/YANKO def %/ZANKO def %STOP4a 0 1 239 {/i exch def %i=0,239 xcolor 0 eq {%xcolor=0,1 F2Oi i F2 i get put } %xcolor=0 {%xcolor=1 F2Oi i F10 i get put } ifelse %xcolor=1 } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO F2Oi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add F2Oi 00 i add get YKSUM div 100 mul put F2NOi 80 i add F2Oi 80 i add get YKSUM div 100 mul put F2NOi 160 i add F2Oi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 F2Oi i F2 i get put SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get F2Oi 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add SDAKOi i get F2Oi 00 i add get mul YKSUM div 100 mul put F2NOi 80 i add SDAKOi i get F2Oi 80 i add get mul YKSUM div 100 mul put F2NOi 160 i add SDAKOi i get F2Oi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i F2NOi 000 i add get put FYNOi i F2NOi 080 i add get put FZNOi i F2NOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO F2NOi 00 i add get RAOi i get mul add def /YO YO F2NOi 80 i add get RAOi i get mul add def /ZO ZO F2NOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 8 eq {%xchartl=8 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=8 %only for (x,y) %***************** xchartl 9 eq {%xchartl=9 %(a,b) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=9 %only for (a,b) %***************** xchartl 10 eq {%xchartl=10 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=10 %only for (a1,b1) %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=11 %only for (a2,b2) %***************** xchartl 12 eq {%xchartl=12 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=12 %only for (a3,b3) %***************** xchartl 13 eq {%xchartl=13 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=13 %only for (a4,b4) %***************** xchartl 14 eq {%xchartl=14 %(a5,b5) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=14 %only for (a5,b5) %***************** xchartl 15 eq {%xchartl=15 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=15 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 8 eq {%xchartl=8,#8 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwerte) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheiten) showde (chroma diagram) showea TBS ( \050) show TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (B*) show xchartl 9 sub ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 09 eq xchartl 11 eq or xchartl 15 eq or {%xchartl=9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=9,11,15 {%xchartl#9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } ifelse %xchartl#9,11,15 } if %xchart10=0, abx } ifelse %xchart=8,#8 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 09 ge xchartl 15 le and {%xchartl=9,15 TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if xchartl 09 eq xchartl 10 eq or {%xchartl=09,10 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=09,10 xchartl 11 eq xchartl 13 eq or {%xchartl=11,13 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=11,13 xchartl 12 eq xchartl 14 eq or xchartl 15 eq or {%xchartl=12,14,15 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=12,14,15 } if %xchartl=9,15 } if %xchart10=0, abx } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 8 eq {%xchartl=8 %(x,y) /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans8 neg ytrans8 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=8 %***************** xchartl 9 eq {%xchartl=9 %(a,b) %STOP9 /xtrans9a 0500 def /xtrans9 1300 def /ytrans9 3200 def xtrans9a ytrans9 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans9a neg ytrans9 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans9 ytrans9 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans9 neg ytrans9 neg translate %ENDE: 2 } if %xchartl=9 %*********************************************************** xchartl 10 eq {%xchartl=10 (a1,b1) /xtrans10a 0500 def /xtrans10 1300 def /ytrans10 3200 def xtrans10a ytrans10 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans10a neg ytrans10 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans10 ytrans10 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans10 neg ytrans10 neg translate %for text and grafic %ENDE: 2 } if %xchartl=10 %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) /xtrans11a 0500 def /xtrans11 1300 def /ytrans11 3200 def xtrans11a ytrans11 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans11a neg ytrans11 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans11 ytrans11 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans11 neg ytrans11 neg translate %for text and grafic %ENDE: 2 } if %xchartl=11 %*********************************************************** xchartl 12 eq {%xchartl=12 %(a3,b3) /xtrans12a 0500 def /xtrans12 1300 def /ytrans12 3200 def xtrans12a ytrans12 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans12a neg ytrans12 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans12 ytrans12 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans12 neg ytrans12 neg translate %for text and grafic %ENDE: 2 } if %xchartl=12 %*********************************************************** xchartl 13 eq {%xchartl=13 %(a4,b4) /xtrans13a 0500 def /xtrans13 1300 def /ytrans13 3200 def xtrans13a ytrans13 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans13a neg ytrans13 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans13 ytrans13 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans13 neg ytrans13 neg translate %for text and grafic %ENDE: 2 } if %xchartl=13 %*********************************************************** xchartl 14 eq {%xchartl=14 %(a5,b5) /xtrans14a 0500 def /xtrans14 1300 def /ytrans14 3200 def xtrans14a ytrans14 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans14a neg ytrans14 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans14 ytrans14 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans14 neg ytrans14 neg translate %for text and grafic %ENDE: 2 } if %xchartl=14 %*********************************************************** xchartl 15 eq {%xchartl=15 %(a6,b6) /xtrans15a 0500 def /xtrans15 1300 def /ytrans15 3200 def xtrans15a ytrans15 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans15a neg ytrans15 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans15 ytrans15 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans15 neg ytrans15 neg translate %for text and grafic %ENDE: 2 } if %xchartl=15 } bind def %END proc_chromaticity_lines %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 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 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 %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 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 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 /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 1 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 Y10g00na.ps6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10g00na.ps6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10g00na.ps6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) /posax 2800 def %pos (ax, x=0,..,6) /posay 0550 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /cvishow0 {cvi 6 string cvs show} def /kchartl 1 def %0:left page, 1:right page /pchartl 0 def %0:top page, 4:down page %not used /xchartx 0 def %0:D65, 1:D50 %allways proc_XYZ_colours proc_DEF_colours /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(3/7)n.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 08550 def /xmax1 12250 def 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto kchartl 0 eq {(egw70-7n) show} {(egw71-7n) show} ifelse } if %xbtex0=1 xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours 08 1 08 {/xchartl exch def %xchartl=8,15 gsave % xchartl 0 eq { 100 04480 translate} if % xchartl 1 eq { 6150 04480 translate} if % xchartl 2 eq { 100 00220 translate} if % xchartl 3 eq { 6150 00220 translate} if % xchartl 4 eq { 100 04480 translate} if % xchartl 5 eq { 6150 04480 translate} if % xchartl 6 eq { 100 00220 translate} if % xchartl 7 eq { 6150 00220 translate} if % xchartl 8 eq { 100 04480 translate} if % xchartl 9 eq { 6150 04480 translate} if % xchartl 10 eq { 100 00220 translate} if % xchartl 11 eq { 6150 00220 translate} if % xchartl 12 eq { 100 04480 translate} if % xchartl 13 eq { 6150 04480 translate} if % xchartl 14 eq { 100 00220 translate} if % xchartl 15 eq { 6150 00220 translate} if 150 /Times-ISOL1 FS 0 setgray 150 -150 moveto xchartl 7 le {(egw70-) show} {(egw71-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow0} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow0} if (a) show %a ( E00) show /xwidth 6000 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 /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 4877-4878 %******************************************************************** %BEG 'BL10'Y10_XCHART10_1.PS xchart10 1 eq {%%xchart10=1 long loop 1700 lines! 0 0 0 1 setcmykcolor xchartl 7 le {/xchart12 xchartl 12 mul def} if xchartl 8 ge {/xchart12 xchartl 8 sub 12 mul def} if xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours TBS %xchartl 1 ge { %xchartl >=1 %xtexti xchart12 3 add get ytexti xchart12 3 add get moveto %xchartl 1 eq {(LINYAB) show} if %xchartl 2 eq {(CIELAB 76) show} if %xchartl 3 eq {(LABJNDS 87) show} if %xchartl 4 eq {(LINYAB) show} if %xchartl 5 eq {(CIELAB 76) show} if %xchartl 6 eq {(CUBYAB) show} if %xchartl 7 eq {(LABHNU1 79) show} if % } if %xchartl >=1 xchart3 1 eq {%xchart3=1 only for Ostwald colours xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0egw71-7 00581 (Name and spectral range) showen %1egw71-7 00581 (Nombre y gama espectral) showes %2egw71-7 00581 (Nom et la gamma spectrale) showfr %3egw71-7 00581 (Nome e la gamma spettrale) showit %4egw71-7 00581 (Name and spectral range) showjp %5egw71-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0egw71-7 02581 ( System) showea %1egw71-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0egw71-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0egw71-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1egw71-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2egw71-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3egw71-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4egw71-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5egw71-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0egw71-7 03581 (max (m) chromatic value, ) showen %1egw71-7 03581 (chromatic m\341x (m), ) showes %2egw71-7 03581 (max (m) chromatic valeur, ) showfr %3egw71-7 03581 (max (m) chromatic value, ) showit %4egw71-7 03581 (max (m) chromatic value, ) showjp %5egw71-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 (in der Normfarbtafel) showde %0egw71-7 04581 (in the chromaticity diagram) showen %1egw71-7 04581 (en el diagrama de chromaticidad) showes %2egw71-7 04581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 04581 (nel diagramma di cromaticit\340) showit %4egw71-7 04581 (in the chromaticity diagram) showjp %5egw71-7 04581 TBS ( \050) show TBIS (x) show %(6) ib6 xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show %(6) ib6 xcolor 1 eq {(10) ib6} if TBS (\051) show } if %xchartl=0,8 xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 (in der Farbtafel) showde %0egw71-7 05581 (chromaticity diagram) showen %1egw71-7 05581 (en el diagrama de chromaticidad) showes %2egw71-7 05581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 05581 (nel diagramma di cromaticit\340) showit %4egw71-7 05581 (in the chromaticity diagram) showjp %5egw71-7 05581 TBS ( \050) show TBS (a) show (0) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (0) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=1,9 xchartl 02 eq xchartl 10 eq or {%xchartl=2,10 (in der Farbtafel) showde %0egw71-7 06581 (chromaticity diagram) showen %1egw71-7 06581 (en el diagrama de chromaticidad) showes %2egw71-7 06581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 06581 (nel diagramma di cromaticit\340) showit %4egw71-7 06581 (in the chromaticity diagram) showjp %5egw71-7 06581 TBS ( \050) show TBS (a) show (1) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (1) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=2,10 xchartl 03 eq xchartl 11 eq or {%xchartl=3,11 (in der Farbtafel) showde %0egw71-7 07581 (chromaticity diagram) showen %1egw71-7 07581 (en el diagrama de chromaticidad) showes %2egw71-7 07581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 07581 (nel diagramma di cromaticit\340) showit %4egw71-7 07581 (in the chromaticity diagram) showjp %5egw71-7 07581 TBS ( \050) show TBS (a) show (2) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (2) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=3,11 xchartl 04 eq xchartl 12 eq or {%xchartl=4,12 (in der Farbtafel) showde %0egw71-7 08581 (chromaticity diagram) showen %1egw71-7 08581 (en el diagrama de chromaticidad) showes %2egw71-7 08581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 08581 (nel diagramma di cromaticit\340) showit %4egw71-7 08581 (in the chromaticity diagram) showjp %5egw71-7 08581 TBS ( \050) show TBS (a) show (3) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (3) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=4,12 xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 (in der Farbtafel) showde %0egw71-7 09581 (chromaticity diagram) showen %1egw71-7 09581 (en el diagrama de chromaticidad) showes %2egw71-7 09581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 09581 (nel diagramma di cromaticit\340) showit %4egw71-7 09581 (in the chromaticity diagram) showjp %5egw71-7 09581 TBS ( \050) show TBS (a) show (4) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (4) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=5,13 xchartl 06 eq xchartl 14 eq or {%xchartl=6,14 (in der Farbtafel) showde %0egw71-7 10581 (chromaticity diagram) showen %1egw71-7 10581 (en el diagrama de chromaticidad) showes %2egw71-7 10581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 10581 (nel diagramma di cromaticit\340) showit %4egw71-7 10581 (in the chromaticity diagram) showjp %5egw71-7 10581 TBS ( \050) show TBS (a) show (5) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (5) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=6,14 xchartl 07 eq xchartl 15 eq or {%xchartl=7,15 (in der Farbtafel) showde %0egw71-7 11581 (chromaticity diagram) showen %1egw71-7 11581 (en el diagrama de chromaticidad) showes %2egw71-7 11581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 11581 (nel diagramma di cromaticit\340) showit %4egw71-7 11581 (in the chromaticity diagram) showjp %5egw71-7 11581 TBS ( \050) show TBS (a) show (6) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (6) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=7,15 %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 %(x,y) %only for xchartl=8 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans8 neg ytrans8 neg translate %for scala and graphi } if %xchartl=0,8 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 9 ge {%xchartl>=9 /xtrans9 4150 def /ytrans9 2000 def xtrans9 ytrans9 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show TBS InCS xchartl get ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show TBS InCS xchartl get ib6 } if %i=4 } for %i=0,4 xtrans9 neg ytrans9 neg translate %for scala and graphic } if %xchartl>=9 %********************************************************** xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 %(A,B) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans9 4150 def /ytrans9 2000 def xtrans9 ytrans9 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans9 neg ytrans9 neg translate %for scala and graphic } if %xchartl=0,9 %***************************************************************** xchartl 02 eq xchartl 10 eq or {%xchartl=2,10 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans10 4150 def /ytrans10 2000 def xtrans10 ytrans10 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans10 neg ytrans10 neg translate %for scala and graphic } if %xchartl=2,10 %************************ xchartl 03 eq xchartl 11 eq or {%xchartl=1,9 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans11 4150 def /ytrans11 2000 def xtrans11 ytrans11 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans11 neg ytrans11 neg translate %for scala and graphic } if %xchartl=3,11 %************************ xchartl 04 eq xchartl 12 eq or {%xchartl=04,12 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans12 4150 def /ytrans12 2000 def xtrans12 ytrans12 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans12 neg ytrans12 neg translate %for scala and graphic } if %xchartl=4,12 %************************ xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans13 4150 def /ytrans13 2000 def xtrans13 ytrans13 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans13 neg ytrans13 neg translate %for scala and graphic } if %xchartl=5,13 %************************ xchartl 06 eq xchartl 14 eq or {%xchartl=06,14 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans14 4150 def /ytrans14 2000 def xtrans14 ytrans14 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A5 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A5 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans14 neg ytrans14 neg translate %for scala and graphic } if %xchartl=6,14 %************************ xchartl 07 eq xchartl 15 eq or {%xchartl=07,15 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans15 4150 def /ytrans15 2000 def xtrans15 ytrans15 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans15 neg ytrans15 neg translate %for scala and graphic } if %xchartl=07,15 } if %xchart10=1 long loop 1700 lines! %END 'BL10'Y11_XCHART10_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space 2x before/after xchartl % xchartl 0 eq { 100 neg 04480 neg translate} if % xchartl 1 eq { 6150 neg 04480 neg translate} if % xchartl 2 eq { 100 neg 00220 neg translate} if % xchartl 3 eq { 6150 neg 00220 neg translate} if % xchartl 4 eq { 100 neg 04480 neg translate} if % xchartl 5 eq { 6150 neg 04480 neg translate} if % xchartl 6 eq { 100 neg 00220 neg translate} if % xchartl 7 eq { 6150 neg 00220 neg translate} if % xchartl 8 eq { 100 neg 04480 neg translate} if % xchartl 9 eq { 6150 neg 04480 neg translate} if % xchartl 10 eq { 100 neg 00220 neg translate} if % xchartl 11 eq { 6150 neg 00220 neg translate} if % xchartl 12 eq { 100 neg 04480 neg translate} if % xchartl 13 eq { 6150 neg 04480 neg translate} if % xchartl 14 eq { 100 neg 00220 neg translate} if % xchartl 15 eq { 6150 neg 00220 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald %showpage %XA grestore } for %xchartl=8,15 %8 chromaticity diagrams showpage %7R&7N grestore %} for %xchartx=0,7 %8 illuminants %%Trailer %line 239 %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add MM 064 STSl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 16 %!PS-Adobe-3.0 EPSF-3.0 egw71-1n_R %%BoundingBox: 70 85 243 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/egw7/egw7.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:2023080112000) /ModDate (D:2023080112000) /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 /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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvishow0 {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if 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 0 lt {(-) show /nxx nxx abs def} if 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 0 lt {(-) show /nxx nxx abs def} if 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 /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 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 {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {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 /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def %allways after %Prolog /proc_XYZ_colours {%BEG proc_XYZ_colours %for xchart8=0 /SP25 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP60 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /FXN 82 array def /FYN 82 array def /FZN 82 array def /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def xcolor 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 0 1 050 {/i exch def %i=0,50 F02Z i F10Z i get put } for %i=0,50 } if /InCS 16 array def %16 colour spaces (Index) /InCS [(0) (0) (1) (2) (3) (4) (5) (6) (0) (0) (1) (2) (3) (4) (5) (6)] def %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 FXN i SDAK i get F2 00 i add get mul YKSUM div 100 mul put FYN i SDAK i get F2 80 i add get mul YKSUM div 100 mul put FZN i SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,79 FXN 80 FXN 79 get put FYN 80 FYN 79 get put FZN 80 FZN 79 get put DOW 80 DOW 79 get put %STOP1 0 1 80 {/i exch def %i=0,80 %for any illuminant Xi i FXN i get put Yi i FYN i get put Zi i FZN i get put /SUM FXN i get FYN i get add FZN i get add 0.00001 add def XANi i FXN i get SUM div put YANi i FYN i get SUM div put ZANi i FZN i get SUM div put } for %i=0,80 %STOP1a 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZ i F02Z 00 i add get 100 mul YKSUM div 100 mul put FYNZ i F02Z 17 i add get 100 mul YKSUM div 100 mul put FZNZ i F02Z 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 %STOP2 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZ i get put YZi i FYNZ i get put ZZi i FZNZ i get put /SUMZ FXNZ i get FYNZ i get add FZNZ i get add def XANZi i FXNZ i get SUMZ div put YANZi i FYNZ i get SUMZ div put ZANZi i FZNZ i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXN i get add def /YW YW FYN i get add def /ZW ZW FZN i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_XYZ_colours %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/F2 240 array def %either 2 or 10 degree observer %/F10 240 array def %either 2 or 10 degree observer %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /F2Oi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /F2NOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def %/XKO def %/YKO def %/ZKO def %/XANKO def %/YANKO def %/ZANKO def %STOP4a 0 1 239 {/i exch def %i=0,239 xcolor 0 eq {%xcolor=0,1 F2Oi i F2 i get put } %xcolor=0 {%xcolor=1 F2Oi i F10 i get put } ifelse %xcolor=1 } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO F2Oi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add F2Oi 00 i add get YKSUM div 100 mul put F2NOi 80 i add F2Oi 80 i add get YKSUM div 100 mul put F2NOi 160 i add F2Oi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 F2Oi i F2 i get put SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get F2Oi 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add SDAKOi i get F2Oi 00 i add get mul YKSUM div 100 mul put F2NOi 80 i add SDAKOi i get F2Oi 80 i add get mul YKSUM div 100 mul put F2NOi 160 i add SDAKOi i get F2Oi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i F2NOi 000 i add get put FYNOi i F2NOi 080 i add get put FZNOi i F2NOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO F2NOi 00 i add get RAOi i get mul add def /YO YO F2NOi 80 i add get RAOi i get mul add def /ZO ZO F2NOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 8 eq {%xchartl=8 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=8 %only for (x,y) %***************** xchartl 9 eq {%xchartl=9 %(a,b) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=9 %only for (a,b) %***************** xchartl 10 eq {%xchartl=10 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=10 %only for (a1,b1) %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=11 %only for (a2,b2) %***************** xchartl 12 eq {%xchartl=12 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=12 %only for (a3,b3) %***************** xchartl 13 eq {%xchartl=13 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=13 %only for (a4,b4) %***************** xchartl 14 eq {%xchartl=14 %(a5,b5) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=14 %only for (a5,b5) %***************** xchartl 15 eq {%xchartl=15 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=15 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 8 eq {%xchartl=8,#8 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwerte) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheiten) showde (chroma diagram) showea TBS ( \050) show TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (B*) show xchartl 9 sub ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 09 eq xchartl 11 eq or xchartl 15 eq or {%xchartl=9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=9,11,15 {%xchartl#9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } ifelse %xchartl#9,11,15 } if %xchart10=0, abx } ifelse %xchart=8,#8 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 09 ge xchartl 15 le and {%xchartl=9,15 TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if xchartl 09 eq xchartl 10 eq or {%xchartl=09,10 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=09,10 xchartl 11 eq xchartl 13 eq or {%xchartl=11,13 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=11,13 xchartl 12 eq xchartl 14 eq or xchartl 15 eq or {%xchartl=12,14,15 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=12,14,15 } if %xchartl=9,15 } if %xchart10=0, abx } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 8 eq {%xchartl=8 %(x,y) /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans8 neg ytrans8 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=8 %***************** xchartl 9 eq {%xchartl=9 %(a,b) %STOP9 /xtrans9a 0500 def /xtrans9 1300 def /ytrans9 3200 def xtrans9a ytrans9 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans9a neg ytrans9 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans9 ytrans9 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans9 neg ytrans9 neg translate %ENDE: 2 } if %xchartl=9 %*********************************************************** xchartl 10 eq {%xchartl=10 (a1,b1) /xtrans10a 0500 def /xtrans10 1300 def /ytrans10 3200 def xtrans10a ytrans10 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans10a neg ytrans10 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans10 ytrans10 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans10 neg ytrans10 neg translate %for text and grafic %ENDE: 2 } if %xchartl=10 %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) /xtrans11a 0500 def /xtrans11 1300 def /ytrans11 3200 def xtrans11a ytrans11 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans11a neg ytrans11 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans11 ytrans11 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans11 neg ytrans11 neg translate %for text and grafic %ENDE: 2 } if %xchartl=11 %*********************************************************** xchartl 12 eq {%xchartl=12 %(a3,b3) /xtrans12a 0500 def /xtrans12 1300 def /ytrans12 3200 def xtrans12a ytrans12 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans12a neg ytrans12 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans12 ytrans12 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans12 neg ytrans12 neg translate %for text and grafic %ENDE: 2 } if %xchartl=12 %*********************************************************** xchartl 13 eq {%xchartl=13 %(a4,b4) /xtrans13a 0500 def /xtrans13 1300 def /ytrans13 3200 def xtrans13a ytrans13 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans13a neg ytrans13 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans13 ytrans13 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans13 neg ytrans13 neg translate %for text and grafic %ENDE: 2 } if %xchartl=13 %*********************************************************** xchartl 14 eq {%xchartl=14 %(a5,b5) /xtrans14a 0500 def /xtrans14 1300 def /ytrans14 3200 def xtrans14a ytrans14 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans14a neg ytrans14 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans14 ytrans14 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans14 neg ytrans14 neg translate %for text and grafic %ENDE: 2 } if %xchartl=14 %*********************************************************** xchartl 15 eq {%xchartl=15 %(a6,b6) /xtrans15a 0500 def /xtrans15 1300 def /ytrans15 3200 def xtrans15a ytrans15 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans15a neg ytrans15 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans15 ytrans15 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans15 neg ytrans15 neg translate %for text and grafic %ENDE: 2 } if %xchartl=15 } bind def %END proc_chromaticity_lines %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 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 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 %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 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 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 /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 1 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 Y10g00na.ps6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10g00na.ps6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10g00na.ps6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) /posax 2800 def %pos (ax, x=0,..,6) /posay 0550 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /cvishow0 {cvi 6 string cvs show} def /kchartl 1 def %0:left page, 1:right page /pchartl 0 def %0:top page, 4:down page %not used /xchartx 1 def %0:D65, 1:D50 %allways proc_XYZ_colours proc_DEF_colours /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(3/7)n.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 08550 def /xmax1 12250 def 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto kchartl 0 eq {(egw70-7n) show} {(egw71-7n) show} ifelse } if %xbtex0=1 xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours 08 1 8 {/xchartl exch def %xchartl=8,15 gsave % xchartl 0 eq { 100 04480 translate} if % xchartl 1 eq { 6150 04480 translate} if % xchartl 2 eq { 100 00220 translate} if % xchartl 3 eq { 6150 00220 translate} if % xchartl 4 eq { 100 04480 translate} if % xchartl 5 eq { 6150 04480 translate} if % xchartl 6 eq { 100 00220 translate} if % xchartl 7 eq { 6150 00220 translate} if % xchartl 8 eq { 100 04480 translate} if % xchartl 9 eq { 6150 04480 translate} if % xchartl 10 eq { 100 00220 translate} if % xchartl 11 eq { 6150 00220 translate} if % xchartl 12 eq { 100 04480 translate} if % xchartl 13 eq { 6150 04480 translate} if % xchartl 14 eq { 100 00220 translate} if % xchartl 15 eq { 6150 00220 translate} if 150 /Times-ISOL1 FS 0 setgray 150 -150 moveto xchartl 7 le {(egw70-2a, enw31-1a) show} {(egw71-) show} ifelse %xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow0} if %xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow0} if %(a) show %a ( E00) show /xwidth 6000 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 /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 4877-4878 %******************************************************************** %BEG 'BL10'Y10_XCHART10_1.PS xchart10 1 eq {%%xchart10=1 long loop 1700 lines! 0 0 0 1 setcmykcolor xchartl 7 le {/xchart12 xchartl 12 mul def} if xchartl 8 ge {/xchart12 xchartl 8 sub 12 mul def} if xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours TBS %xchartl 1 ge { %xchartl >=1 %xtexti xchart12 3 add get ytexti xchart12 3 add get moveto %xchartl 1 eq {(LINYAB) show} if %xchartl 2 eq {(CIELAB 76) show} if %xchartl 3 eq {(LABJNDS 87) show} if %xchartl 4 eq {(LINYAB) show} if %xchartl 5 eq {(CIELAB 76) show} if %xchartl 6 eq {(CUBYAB) show} if %xchartl 7 eq {(LABHNU1 79) show} if % } if %xchartl >=1 xchart3 1 eq {%xchart3=1 only for Ostwald colours xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0egw71-7 00581 (Name and spectral range) showen %1egw71-7 00581 (Nombre y gama espectral) showes %2egw71-7 00581 (Nom et la gamma spectrale) showfr %3egw71-7 00581 (Nome e la gamma spettrale) showit %4egw71-7 00581 (Name and spectral range) showjp %5egw71-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0egw71-7 02581 ( System) showea %1egw71-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0egw71-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0egw71-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1egw71-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2egw71-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3egw71-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4egw71-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5egw71-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0egw71-7 03581 (max (m) chromatic value, ) showen %1egw71-7 03581 (chromatic m\341x (m), ) showes %2egw71-7 03581 (max (m) chromatic valeur, ) showfr %3egw71-7 03581 (max (m) chromatic value, ) showit %4egw71-7 03581 (max (m) chromatic value, ) showjp %5egw71-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 (in der Normfarbtafel) showde %0egw71-7 04581 (in the chromaticity diagram) showen %1egw71-7 04581 (en el diagrama de chromaticidad) showes %2egw71-7 04581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 04581 (nel diagramma di cromaticit\340) showit %4egw71-7 04581 (in the chromaticity diagram) showjp %5egw71-7 04581 TBS ( \050) show TBIS (x) show %(6) ib6 xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show %(6) ib6 xcolor 1 eq {(10) ib6} if TBS (\051) show } if %xchartl=0,8 xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 (in der Farbtafel) showde %0egw71-7 05581 (chromaticity diagram) showen %1egw71-7 05581 (en el diagrama de chromaticidad) showes %2egw71-7 05581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 05581 (nel diagramma di cromaticit\340) showit %4egw71-7 05581 (in the chromaticity diagram) showjp %5egw71-7 05581 TBS ( \050) show TBS (a) show (0) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (0) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=1,9 xchartl 02 eq xchartl 10 eq or {%xchartl=2,10 (in der Farbtafel) showde %0egw71-7 06581 (chromaticity diagram) showen %1egw71-7 06581 (en el diagrama de chromaticidad) showes %2egw71-7 06581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 06581 (nel diagramma di cromaticit\340) showit %4egw71-7 06581 (in the chromaticity diagram) showjp %5egw71-7 06581 TBS ( \050) show TBS (a) show (1) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (1) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=2,10 xchartl 03 eq xchartl 11 eq or {%xchartl=3,11 (in der Farbtafel) showde %0egw71-7 07581 (chromaticity diagram) showen %1egw71-7 07581 (en el diagrama de chromaticidad) showes %2egw71-7 07581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 07581 (nel diagramma di cromaticit\340) showit %4egw71-7 07581 (in the chromaticity diagram) showjp %5egw71-7 07581 TBS ( \050) show TBS (a) show (2) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (2) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=3,11 xchartl 04 eq xchartl 12 eq or {%xchartl=4,12 (in der Farbtafel) showde %0egw71-7 08581 (chromaticity diagram) showen %1egw71-7 08581 (en el diagrama de chromaticidad) showes %2egw71-7 08581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 08581 (nel diagramma di cromaticit\340) showit %4egw71-7 08581 (in the chromaticity diagram) showjp %5egw71-7 08581 TBS ( \050) show TBS (a) show (3) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (3) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=4,12 xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 (in der Farbtafel) showde %0egw71-7 09581 (chromaticity diagram) showen %1egw71-7 09581 (en el diagrama de chromaticidad) showes %2egw71-7 09581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 09581 (nel diagramma di cromaticit\340) showit %4egw71-7 09581 (in the chromaticity diagram) showjp %5egw71-7 09581 TBS ( \050) show TBS (a) show (4) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (4) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=5,13 xchartl 06 eq xchartl 14 eq or {%xchartl=6,14 (in der Farbtafel) showde %0egw71-7 10581 (chromaticity diagram) showen %1egw71-7 10581 (en el diagrama de chromaticidad) showes %2egw71-7 10581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 10581 (nel diagramma di cromaticit\340) showit %4egw71-7 10581 (in the chromaticity diagram) showjp %5egw71-7 10581 TBS ( \050) show TBS (a) show (5) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (5) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=6,14 xchartl 07 eq xchartl 15 eq or {%xchartl=7,15 (in der Farbtafel) showde %0egw71-7 11581 (chromaticity diagram) showen %1egw71-7 11581 (en el diagrama de chromaticidad) showes %2egw71-7 11581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 11581 (nel diagramma di cromaticit\340) showit %4egw71-7 11581 (in the chromaticity diagram) showjp %5egw71-7 11581 TBS ( \050) show TBS (a) show (6) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (6) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=7,15 %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 %(x,y) %only for xchartl=8 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans8 neg ytrans8 neg translate %for scala and graphi } if %xchartl=0,8 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 9 ge {%xchartl>=9 /xtrans9 4150 def /ytrans9 2000 def xtrans9 ytrans9 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show TBS InCS xchartl get ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show TBS InCS xchartl get ib6 } if %i=4 } for %i=0,4 xtrans9 neg ytrans9 neg translate %for scala and graphic } if %xchartl>=9 %********************************************************** xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 %(A,B) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans9 4150 def /ytrans9 2000 def xtrans9 ytrans9 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans9 neg ytrans9 neg translate %for scala and graphic } if %xchartl=0,9 %***************************************************************** xchartl 02 eq xchartl 10 eq or {%xchartl=2,10 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans10 4150 def /ytrans10 2000 def xtrans10 ytrans10 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans10 neg ytrans10 neg translate %for scala and graphic } if %xchartl=2,10 %************************ xchartl 03 eq xchartl 11 eq or {%xchartl=1,9 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans11 4150 def /ytrans11 2000 def xtrans11 ytrans11 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans11 neg ytrans11 neg translate %for scala and graphic } if %xchartl=3,11 %************************ xchartl 04 eq xchartl 12 eq or {%xchartl=04,12 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans12 4150 def /ytrans12 2000 def xtrans12 ytrans12 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans12 neg ytrans12 neg translate %for scala and graphic } if %xchartl=4,12 %************************ xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans13 4150 def /ytrans13 2000 def xtrans13 ytrans13 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans13 neg ytrans13 neg translate %for scala and graphic } if %xchartl=5,13 %************************ xchartl 06 eq xchartl 14 eq or {%xchartl=06,14 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans14 4150 def /ytrans14 2000 def xtrans14 ytrans14 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A5 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A5 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans14 neg ytrans14 neg translate %for scala and graphic } if %xchartl=6,14 %************************ xchartl 07 eq xchartl 15 eq or {%xchartl=07,15 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans15 4150 def /ytrans15 2000 def xtrans15 ytrans15 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans15 neg ytrans15 neg translate %for scala and graphic } if %xchartl=07,15 } if %xchart10=1 long loop 1700 lines! %END 'BL10'Y11_XCHART10_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space 2x before/after xchartl % xchartl 0 eq { 100 neg 04480 neg translate} if % xchartl 1 eq { 6150 neg 04480 neg translate} if % xchartl 2 eq { 100 neg 00220 neg translate} if % xchartl 3 eq { 6150 neg 00220 neg translate} if % xchartl 4 eq { 100 neg 04480 neg translate} if % xchartl 5 eq { 6150 neg 04480 neg translate} if % xchartl 6 eq { 100 neg 00220 neg translate} if % xchartl 7 eq { 6150 neg 00220 neg translate} if % xchartl 8 eq { 100 neg 04480 neg translate} if % xchartl 9 eq { 6150 neg 04480 neg translate} if % xchartl 10 eq { 100 neg 00220 neg translate} if % xchartl 11 eq { 6150 neg 00220 neg translate} if % xchartl 12 eq { 100 neg 04480 neg translate} if % xchartl 13 eq { 6150 neg 04480 neg translate} if % xchartl 14 eq { 100 neg 00220 neg translate} if % xchartl 15 eq { 6150 neg 00220 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald %showpage %XA grestore } for %xchartl=8,15 %8 chromaticity diagrams showpage %7R&7N grestore %} for %xchartx=0,7 %8 illuminants %%Trailer %line 249 %%EndDocument EndEPSF grestore gsave BeginEPSF /xc1 16 def /yc1 12 def /xt 1 def xchart 1 eq {/xt 1 def} if 28 SHSl sub MM 020 STAl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %!PS-Adobe-3.0 EPSF-3.0 egw70-3a enw30-3a %%BoundingBox: 70 85 243 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/egw7/egw7.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:2023080112000) /ModDate (D:2023080112000) /DOCINFO pdfmark03 [ /View [ /Fit ] /DOCVIEW pdfmark03 %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 /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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvishow0 {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if 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 0 lt {(-) show /nxx nxx abs def} if 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 0 lt {(-) show /nxx nxx abs def} if 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 /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 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 {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {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 /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def %allways after %Prolog /proc_XYZ_colours {%BEG proc_XYZ_colours %for xchart8=0 /SP25 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP60 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /FXN 82 array def /FYN 82 array def /FZN 82 array def /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def xcolor 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 0 1 050 {/i exch def %i=0,50 F02Z i F10Z i get put } for %i=0,50 } if /InCS 16 array def %16 colour spaces (Index) /InCS [(0) (0) (1) (2) (3) (4) (5) (6) (0) (0) (1) (2) (3) (4) (5) (6)] def %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 FXN i SDAK i get F2 00 i add get mul YKSUM div 100 mul put FYN i SDAK i get F2 80 i add get mul YKSUM div 100 mul put FZN i SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,79 FXN 80 FXN 79 get put FYN 80 FYN 79 get put FZN 80 FZN 79 get put DOW 80 DOW 79 get put %STOP1 0 1 80 {/i exch def %i=0,80 %for any illuminant Xi i FXN i get put Yi i FYN i get put Zi i FZN i get put /SUM FXN i get FYN i get add FZN i get add 0.00001 add def XANi i FXN i get SUM div put YANi i FYN i get SUM div put ZANi i FZN i get SUM div put } for %i=0,80 %STOP1a 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZ i F02Z 00 i add get 100 mul YKSUM div 100 mul put FYNZ i F02Z 17 i add get 100 mul YKSUM div 100 mul put FZNZ i F02Z 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 %STOP2 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZ i get put YZi i FYNZ i get put ZZi i FZNZ i get put /SUMZ FXNZ i get FYNZ i get add FZNZ i get add def XANZi i FXNZ i get SUMZ div put YANZi i FYNZ i get SUMZ div put ZANZi i FZNZ i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXN i get add def /YW YW FYN i get add def /ZW ZW FZN i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_XYZ_colours %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/F2 240 array def %either 2 or 10 degree observer %/F10 240 array def %either 2 or 10 degree observer %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /F2Oi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /F2NOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def %/XKO def %/YKO def %/ZKO def %/XANKO def %/YANKO def %/ZANKO def %STOP4a 0 1 239 {/i exch def %i=0,239 xcolor 0 eq {%xcolor=0,1 F2Oi i F2 i get put } %xcolor=0 {%xcolor=1 F2Oi i F10 i get put } ifelse %xcolor=1 } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO F2Oi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add F2Oi 00 i add get YKSUM div 100 mul put F2NOi 80 i add F2Oi 80 i add get YKSUM div 100 mul put F2NOi 160 i add F2Oi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 F2Oi i F2 i get put SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get F2Oi 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add SDAKOi i get F2Oi 00 i add get mul YKSUM div 100 mul put F2NOi 80 i add SDAKOi i get F2Oi 80 i add get mul YKSUM div 100 mul put F2NOi 160 i add SDAKOi i get F2Oi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i F2NOi 000 i add get put FYNOi i F2NOi 080 i add get put FZNOi i F2NOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO F2NOi 00 i add get RAOi i get mul add def /YO YO F2NOi 80 i add get RAOi i get mul add def /ZO ZO F2NOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 8 eq {%xchartl=8 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=8 %only for (x,y) %***************** xchartl 9 eq {%xchartl=9 %(a,b) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=9 %only for (a,b) %***************** xchartl 10 eq {%xchartl=10 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=10 %only for (a1,b1) %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=11 %only for (a2,b2) %***************** xchartl 12 eq {%xchartl=12 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=12 %only for (a3,b3) %***************** xchartl 13 eq {%xchartl=13 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=13 %only for (a4,b4) %***************** xchartl 14 eq {%xchartl=14 %(a5,b5) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=14 %only for (a5,b5) %***************** xchartl 15 eq {%xchartl=15 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=15 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 8 eq {%xchartl=8,#8 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwerte) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheiten) showde (chroma diagram) showea TBS ( \050) show TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (B*) show xchartl 9 sub ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 09 eq xchartl 11 eq or xchartl 15 eq or {%xchartl=9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=9,11,15 {%xchartl#9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } ifelse %xchartl#9,11,15 } if %xchart10=0, abx } ifelse %xchart=8,#8 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 09 ge xchartl 15 le and {%xchartl=9,15 TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if xchartl 09 eq xchartl 10 eq or {%xchartl=09,10 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=09,10 xchartl 11 eq xchartl 13 eq or {%xchartl=11,13 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=11,13 xchartl 12 eq xchartl 14 eq or xchartl 15 eq or {%xchartl=12,14,15 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=12,14,15 } if %xchartl=9,15 } if %xchart10=0, abx } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 8 eq {%xchartl=8 %(x,y) /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans8 neg ytrans8 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=8 %***************** xchartl 9 eq {%xchartl=9 %(a,b) %STOP9 /xtrans9a 0500 def /xtrans9 1300 def /ytrans9 3200 def xtrans9a ytrans9 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans9a neg ytrans9 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans9 ytrans9 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans9 neg ytrans9 neg translate %ENDE: 2 } if %xchartl=9 %*********************************************************** xchartl 10 eq {%xchartl=10 (a1,b1) /xtrans10a 0500 def /xtrans10 1300 def /ytrans10 3200 def xtrans10a ytrans10 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans10a neg ytrans10 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans10 ytrans10 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans10 neg ytrans10 neg translate %for text and grafic %ENDE: 2 } if %xchartl=10 %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) /xtrans11a 0500 def /xtrans11 1300 def /ytrans11 3200 def xtrans11a ytrans11 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans11a neg ytrans11 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans11 ytrans11 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans11 neg ytrans11 neg translate %for text and grafic %ENDE: 2 } if %xchartl=11 %*********************************************************** xchartl 12 eq {%xchartl=12 %(a3,b3) /xtrans12a 0500 def /xtrans12 1300 def /ytrans12 3200 def xtrans12a ytrans12 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans12a neg ytrans12 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans12 ytrans12 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans12 neg ytrans12 neg translate %for text and grafic %ENDE: 2 } if %xchartl=12 %*********************************************************** xchartl 13 eq {%xchartl=13 %(a4,b4) /xtrans13a 0500 def /xtrans13 1300 def /ytrans13 3200 def xtrans13a ytrans13 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans13a neg ytrans13 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans13 ytrans13 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans13 neg ytrans13 neg translate %for text and grafic %ENDE: 2 } if %xchartl=13 %*********************************************************** xchartl 14 eq {%xchartl=14 %(a5,b5) /xtrans14a 0500 def /xtrans14 1300 def /ytrans14 3200 def xtrans14a ytrans14 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans14a neg ytrans14 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans14 ytrans14 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans14 neg ytrans14 neg translate %for text and grafic %ENDE: 2 } if %xchartl=14 %*********************************************************** xchartl 15 eq {%xchartl=15 %(a6,b6) /xtrans15a 0500 def /xtrans15 1300 def /ytrans15 3200 def xtrans15a ytrans15 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans15a neg ytrans15 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans15 ytrans15 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans15 neg ytrans15 neg translate %for text and grafic %ENDE: 2 } if %xchartl=15 } bind def %END proc_chromaticity_lines %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 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 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 %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 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 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 /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 1 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 Y10g00na.ps6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10g00na.ps6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10g00na.ps6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) /posax 2800 def %pos (ax, x=0,..,6) /posay 0550 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /cvishow0 {cvi 6 string cvs show} def /kchartl 1 def %0:left page, 1:right page /pchartl 0 def %0:top page, 4:down page %not used /xchartx 0 def %0:D65, 1:D50 %allways proc_XYZ_colours proc_DEF_colours /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(3/7)n.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 08550 def /xmax1 12250 def 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto kchartl 0 eq {(egw70-7n) show} {(egw71-7n) show} ifelse } if %xbtex0=1 xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours 10 1 10 {/xchartl exch def %xchartl=8,15 gsave % xchartl 0 eq { 100 04480 translate} if % xchartl 1 eq { 6150 04480 translate} if % xchartl 2 eq { 100 00220 translate} if % xchartl 3 eq { 6150 00220 translate} if % xchartl 4 eq { 100 04480 translate} if % xchartl 5 eq { 6150 04480 translate} if % xchartl 6 eq { 100 00220 translate} if % xchartl 7 eq { 6150 00220 translate} if % xchartl 8 eq { 100 04480 translate} if % xchartl 9 eq { 6150 04480 translate} if % xchartl 10 eq { 100 00220 translate} if % xchartl 11 eq { 6150 00220 translate} if % xchartl 12 eq { 100 04480 translate} if % xchartl 13 eq { 6150 04480 translate} if % xchartl 14 eq { 100 00220 translate} if % xchartl 15 eq { 6150 00220 translate} if 150 /Times-ISOL1 FS 0 setgray 150 -150 moveto xchartl 7 le {(egw70-) show} {(egw71-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow0} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow0} if (a) show %a ( E00) show /xwidth 6000 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 /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 4877-4878 %******************************************************************** %BEG 'BL10'Y10_XCHART10_1.PS xchart10 1 eq {%%xchart10=1 long loop 1700 lines! 0 0 0 1 setcmykcolor xchartl 7 le {/xchart12 xchartl 12 mul def} if xchartl 8 ge {/xchart12 xchartl 8 sub 12 mul def} if xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours TBS %xchartl 1 ge { %xchartl >=1 %xtexti xchart12 3 add get ytexti xchart12 3 add get moveto %xchartl 1 eq {(LINYAB) show} if %xchartl 2 eq {(CIELAB 76) show} if %xchartl 3 eq {(LABJNDS 87) show} if %xchartl 4 eq {(LINYAB) show} if %xchartl 5 eq {(CIELAB 76) show} if %xchartl 6 eq {(CUBYAB) show} if %xchartl 7 eq {(LABHNU1 79) show} if % } if %xchartl >=1 xchart3 1 eq {%xchart3=1 only for Ostwald colours xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0egw71-7 00581 (Name and spectral range) showen %1egw71-7 00581 (Nombre y gama espectral) showes %2egw71-7 00581 (Nom et la gamma spectrale) showfr %3egw71-7 00581 (Nome e la gamma spettrale) showit %4egw71-7 00581 (Name and spectral range) showjp %5egw71-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0egw71-7 02581 ( System) showea %1egw71-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0egw71-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0egw71-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1egw71-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2egw71-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3egw71-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4egw71-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5egw71-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0egw71-7 03581 (max (m) chromatic value, ) showen %1egw71-7 03581 (chromatic m\341x (m), ) showes %2egw71-7 03581 (max (m) chromatic valeur, ) showfr %3egw71-7 03581 (max (m) chromatic value, ) showit %4egw71-7 03581 (max (m) chromatic value, ) showjp %5egw71-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 (in der Normfarbtafel) showde %0egw71-7 04581 (in the chromaticity diagram) showen %1egw71-7 04581 (en el diagrama de chromaticidad) showes %2egw71-7 04581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 04581 (nel diagramma di cromaticit\340) showit %4egw71-7 04581 (in the chromaticity diagram) showjp %5egw71-7 04581 TBS ( \050) show TBIS (x) show %(6) ib6 xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show %(6) ib6 xcolor 1 eq {(10) ib6} if TBS (\051) show } if %xchartl=0,8 xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 (in der Farbtafel) showde %0egw71-7 05581 (chromaticity diagram) showen %1egw71-7 05581 (en el diagrama de chromaticidad) showes %2egw71-7 05581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 05581 (nel diagramma di cromaticit\340) showit %4egw71-7 05581 (in the chromaticity diagram) showjp %5egw71-7 05581 TBS ( \050) show TBS (a) show (0) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (0) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=1,9 xchartl 02 eq xchartl 10 eq or {%xchartl=2,10 (in der Farbtafel) showde %0egw71-7 06581 (chromaticity diagram) showen %1egw71-7 06581 (en el diagrama de chromaticidad) showes %2egw71-7 06581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 06581 (nel diagramma di cromaticit\340) showit %4egw71-7 06581 (in the chromaticity diagram) showjp %5egw71-7 06581 TBS ( \050) show TBS (a) show (1) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (1) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=2,10 xchartl 03 eq xchartl 11 eq or {%xchartl=3,11 (in der Farbtafel) showde %0egw71-7 07581 (chromaticity diagram) showen %1egw71-7 07581 (en el diagrama de chromaticidad) showes %2egw71-7 07581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 07581 (nel diagramma di cromaticit\340) showit %4egw71-7 07581 (in the chromaticity diagram) showjp %5egw71-7 07581 TBS ( \050) show TBS (a) show (2) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (2) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=3,11 xchartl 04 eq xchartl 12 eq or {%xchartl=4,12 (in der Farbtafel) showde %0egw71-7 08581 (chromaticity diagram) showen %1egw71-7 08581 (en el diagrama de chromaticidad) showes %2egw71-7 08581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 08581 (nel diagramma di cromaticit\340) showit %4egw71-7 08581 (in the chromaticity diagram) showjp %5egw71-7 08581 TBS ( \050) show TBS (a) show (3) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (3) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=4,12 xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 (in der Farbtafel) showde %0egw71-7 09581 (chromaticity diagram) showen %1egw71-7 09581 (en el diagrama de chromaticidad) showes %2egw71-7 09581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 09581 (nel diagramma di cromaticit\340) showit %4egw71-7 09581 (in the chromaticity diagram) showjp %5egw71-7 09581 TBS ( \050) show TBS (a) show (4) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (4) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=5,13 xchartl 06 eq xchartl 14 eq or {%xchartl=6,14 (in der Farbtafel) showde %0egw71-7 10581 (chromaticity diagram) showen %1egw71-7 10581 (en el diagrama de chromaticidad) showes %2egw71-7 10581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 10581 (nel diagramma di cromaticit\340) showit %4egw71-7 10581 (in the chromaticity diagram) showjp %5egw71-7 10581 TBS ( \050) show TBS (a) show (5) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (5) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=6,14 xchartl 07 eq xchartl 15 eq or {%xchartl=7,15 (in der Farbtafel) showde %0egw71-7 11581 (chromaticity diagram) showen %1egw71-7 11581 (en el diagrama de chromaticidad) showes %2egw71-7 11581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 11581 (nel diagramma di cromaticit\340) showit %4egw71-7 11581 (in the chromaticity diagram) showjp %5egw71-7 11581 TBS ( \050) show TBS (a) show (6) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (6) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=7,15 %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 %(x,y) %only for xchartl=8 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans8 neg ytrans8 neg translate %for scala and graphi } if %xchartl=0,8 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 9 ge {%xchartl>=9 /xtrans9 4150 def /ytrans9 2000 def xtrans9 ytrans9 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show TBS InCS xchartl get ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show TBS InCS xchartl get ib6 } if %i=4 } for %i=0,4 xtrans9 neg ytrans9 neg translate %for scala and graphic } if %xchartl>=9 %********************************************************** xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 %(A,B) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans9 4150 def /ytrans9 2000 def xtrans9 ytrans9 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans9 neg ytrans9 neg translate %for scala and graphic } if %xchartl=0,9 %***************************************************************** xchartl 02 eq xchartl 10 eq or {%xchartl=2,10 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans10 4150 def /ytrans10 2000 def xtrans10 ytrans10 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans10 neg ytrans10 neg translate %for scala and graphic } if %xchartl=2,10 %************************ xchartl 03 eq xchartl 11 eq or {%xchartl=1,9 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans11 4150 def /ytrans11 2000 def xtrans11 ytrans11 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans11 neg ytrans11 neg translate %for scala and graphic } if %xchartl=3,11 %************************ xchartl 04 eq xchartl 12 eq or {%xchartl=04,12 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans12 4150 def /ytrans12 2000 def xtrans12 ytrans12 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans12 neg ytrans12 neg translate %for scala and graphic } if %xchartl=4,12 %************************ xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans13 4150 def /ytrans13 2000 def xtrans13 ytrans13 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans13 neg ytrans13 neg translate %for scala and graphic } if %xchartl=5,13 %************************ xchartl 06 eq xchartl 14 eq or {%xchartl=06,14 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans14 4150 def /ytrans14 2000 def xtrans14 ytrans14 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A5 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A5 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans14 neg ytrans14 neg translate %for scala and graphic } if %xchartl=6,14 %************************ xchartl 07 eq xchartl 15 eq or {%xchartl=07,15 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans15 4150 def /ytrans15 2000 def xtrans15 ytrans15 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans15 neg ytrans15 neg translate %for scala and graphic } if %xchartl=07,15 } if %xchart10=1 long loop 1700 lines! %END 'BL10'Y11_XCHART10_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space 2x before/after xchartl % xchartl 0 eq { 100 neg 04480 neg translate} if % xchartl 1 eq { 6150 neg 04480 neg translate} if % xchartl 2 eq { 100 neg 00220 neg translate} if % xchartl 3 eq { 6150 neg 00220 neg translate} if % xchartl 4 eq { 100 neg 04480 neg translate} if % xchartl 5 eq { 6150 neg 04480 neg translate} if % xchartl 6 eq { 100 neg 00220 neg translate} if % xchartl 7 eq { 6150 neg 00220 neg translate} if % xchartl 8 eq { 100 neg 04480 neg translate} if % xchartl 9 eq { 6150 neg 04480 neg translate} if % xchartl 10 eq { 100 neg 00220 neg translate} if % xchartl 11 eq { 6150 neg 00220 neg translate} if % xchartl 12 eq { 100 neg 04480 neg translate} if % xchartl 13 eq { 6150 neg 04480 neg translate} if % xchartl 14 eq { 100 neg 00220 neg translate} if % xchartl 15 eq { 6150 neg 00220 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald %showpage %XA grestore } for %xchartl=8,15 %8 chromaticity diagrams showpage %7R&7N grestore %} for %xchartx=0,7 %8 illuminants %%Trailer %line 259 %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add MM 020 STAl add 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 %!PS-Adobe-3.0 EPSF-3.0 egw70-4a enw31-3a_R %%BoundingBox: 70 85 243 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/egw7/egw7.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:2023080112000) /ModDate (D:2023080112000) /DOCINFO pdfmark04 [ /View [ /Fit ] /DOCVIEW pdfmark04 %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 /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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {350 /Times-ISOL1 FS show} bind def /ks {350 /TimesI-ISOL1 FS show} bind def /bs {350 /TimesB-ISOL1 FS show} bind def /js {350 /TimesBI-ISOL1 FS show} bind def /sy {350 /Symbol FS show} bind def /is {280 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /es {280 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ib {280 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eb {280 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ip {280 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /ns2 {280 /Times-ISOL1 FS show TM} bind def /ks2 {280 /TimesI-ISOL1 FS show TM} bind def /bs2 {280 /TimesB-ISOL1 FS show TM} bind def /js2 {280 /TimesBI-ISOL1 FS show TM} bind def /sy2 {280 /Symbol FS show TM} bind def /is2 {240 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {240 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {240 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {240 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {240 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {240 /Symbol FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {240 /Times-ISOL1 FS show TK} bind def /ks4 {240 /TimesI-ISOL1 FS show TK} bind def /bs4 {240 /TimesB-ISOL1 FS show TK} bind def /js4 {240 /TimesBI-ISOL1 FS show TK} bind def /ss4 {240 /Symbol FS show TK} bind def /is4 {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {200 /Symbol FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def %60% kleiner /ns6 {200 /Times-ISOL1 FS show TS} bind def /ks6 {200 /TimesI-ISOL1 FS show TS} bind def /bs6 {200 /TimesB-ISOL1 FS show TS} bind def /js6 {200 /TimesBI-ISOL1 FS show TS} bind def /ss6 {200 /Symbol FS show TS} bind def /is6 {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /es6 {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ib6 {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eb6 {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ip6 {160 /Times-ISOL1 FS 24 24 rmoveto (\267) show 24 -24 rmoveto TS} bind def /iy6 {160 /Symbol FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /cvicvs {cvi 6 string cvs} def /cvishow {cvi 6 string cvs show ( ) show} def /cvishow0 {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if 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 0 lt {(-) show /nxx nxx abs def} if 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 0 lt {(-) show /nxx nxx abs def} if 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 /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 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 {(000) show} if %nxb=000 } def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {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 /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def %allways after %Prolog /proc_XYZ_colours {%BEG proc_XYZ_colours %for xchart8=0 /SP25 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP60 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /FXN 82 array def /FYN 82 array def /FZN 82 array def /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def xcolor 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 0 1 050 {/i exch def %i=0,50 F02Z i F10Z i get put } for %i=0,50 } if /InCS 16 array def %16 colour spaces (Index) /InCS [(0) (0) (1) (2) (3) (4) (5) (6) (0) (0) (1) (2) (3) (4) (5) (6)] def %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 FXN i SDAK i get F2 00 i add get mul YKSUM div 100 mul put FYN i SDAK i get F2 80 i add get mul YKSUM div 100 mul put FZN i SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,79 FXN 80 FXN 79 get put FYN 80 FYN 79 get put FZN 80 FZN 79 get put DOW 80 DOW 79 get put %STOP1 0 1 80 {/i exch def %i=0,80 %for any illuminant Xi i FXN i get put Yi i FYN i get put Zi i FZN i get put /SUM FXN i get FYN i get add FZN i get add 0.00001 add def XANi i FXN i get SUM div put YANi i FYN i get SUM div put ZANi i FZN i get SUM div put } for %i=0,80 %STOP1a 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZ i F02Z 00 i add get 100 mul YKSUM div 100 mul put FYNZ i F02Z 17 i add get 100 mul YKSUM div 100 mul put FZNZ i F02Z 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 %STOP2 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZ i get put YZi i FYNZ i get put ZZi i FZNZ i get put /SUMZ FXNZ i get FYNZ i get add FZNZ i get add def XANZi i FXNZ i get SUMZ div put YANZi i FYNZ i get SUMZ div put ZANZi i FZNZ i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXN i get add def /YW YW FYN i get add def /ZW ZW FZN i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_XYZ_colours %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/F2 240 array def %either 2 or 10 degree observer %/F10 240 array def %either 2 or 10 degree observer %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /F2Oi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /F2NOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def %/XKO def %/YKO def %/ZKO def %/XANKO def %/YANKO def %/ZANKO def %STOP4a 0 1 239 {/i exch def %i=0,239 xcolor 0 eq {%xcolor=0,1 F2Oi i F2 i get put } %xcolor=0 {%xcolor=1 F2Oi i F10 i get put } ifelse %xcolor=1 } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO F2Oi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add F2Oi 00 i add get YKSUM div 100 mul put F2NOi 80 i add F2Oi 80 i add get YKSUM div 100 mul put F2NOi 160 i add F2Oi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 F2Oi i F2 i get put SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get F2Oi 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add SDAKOi i get F2Oi 00 i add get mul YKSUM div 100 mul put F2NOi 80 i add SDAKOi i get F2Oi 80 i add get mul YKSUM div 100 mul put F2NOi 160 i add SDAKOi i get F2Oi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i F2NOi 000 i add get put FYNOi i F2NOi 080 i add get put FZNOi i F2NOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO F2NOi 00 i add get RAOi i get mul add def /YO YO F2NOi 80 i add get RAOi i get mul add def /ZO ZO F2NOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 8 eq {%xchartl=8 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=8 %only for (x,y) %***************** xchartl 9 eq {%xchartl=9 %(a,b) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=9 %only for (a,b) %***************** xchartl 10 eq {%xchartl=10 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=10 %only for (a1,b1) %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=11 %only for (a2,b2) %***************** xchartl 12 eq {%xchartl=12 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=12 %only for (a3,b3) %***************** xchartl 13 eq {%xchartl=13 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=13 %only for (a4,b4) %***************** xchartl 14 eq {%xchartl=14 %(a5,b5) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=14 %only for (a5,b5) %***************** xchartl 15 eq {%xchartl=15 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=15 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 8 eq {%xchartl=8,#8 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwerte) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheiten) showde (chroma diagram) showea TBS ( \050) show TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (B*) show xchartl 9 sub ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 09 eq xchartl 11 eq or xchartl 15 eq or {%xchartl=9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=9,11,15 {%xchartl#9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } ifelse %xchartl#9,11,15 } if %xchart10=0, abx } ifelse %xchart=8,#8 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 09 ge xchartl 15 le and {%xchartl=9,15 TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if xchartl 09 eq xchartl 10 eq or {%xchartl=09,10 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=09,10 xchartl 11 eq xchartl 13 eq or {%xchartl=11,13 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=11,13 xchartl 12 eq xchartl 14 eq or xchartl 15 eq or {%xchartl=12,14,15 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=12,14,15 } if %xchartl=9,15 } if %xchart10=0, abx } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 8 eq {%xchartl=8 %(x,y) /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans8 neg ytrans8 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=8 %***************** xchartl 9 eq {%xchartl=9 %(a,b) %STOP9 /xtrans9a 0500 def /xtrans9 1300 def /ytrans9 3200 def xtrans9a ytrans9 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans9a neg ytrans9 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans9 ytrans9 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans9 neg ytrans9 neg translate %ENDE: 2 } if %xchartl=9 %*********************************************************** xchartl 10 eq {%xchartl=10 (a1,b1) /xtrans10a 0500 def /xtrans10 1300 def /ytrans10 3200 def xtrans10a ytrans10 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans10a neg ytrans10 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans10 ytrans10 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans10 neg ytrans10 neg translate %for text and grafic %ENDE: 2 } if %xchartl=10 %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) /xtrans11a 0500 def /xtrans11 1300 def /ytrans11 3200 def xtrans11a ytrans11 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans11a neg ytrans11 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans11 ytrans11 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans11 neg ytrans11 neg translate %for text and grafic %ENDE: 2 } if %xchartl=11 %*********************************************************** xchartl 12 eq {%xchartl=12 %(a3,b3) /xtrans12a 0500 def /xtrans12 1300 def /ytrans12 3200 def xtrans12a ytrans12 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans12a neg ytrans12 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans12 ytrans12 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans12 neg ytrans12 neg translate %for text and grafic %ENDE: 2 } if %xchartl=12 %*********************************************************** xchartl 13 eq {%xchartl=13 %(a4,b4) /xtrans13a 0500 def /xtrans13 1300 def /ytrans13 3200 def xtrans13a ytrans13 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans13a neg ytrans13 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans13 ytrans13 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans13 neg ytrans13 neg translate %for text and grafic %ENDE: 2 } if %xchartl=13 %*********************************************************** xchartl 14 eq {%xchartl=14 %(a5,b5) /xtrans14a 0500 def /xtrans14 1300 def /ytrans14 3200 def xtrans14a ytrans14 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans14a neg ytrans14 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans14 ytrans14 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans14 neg ytrans14 neg translate %for text and grafic %ENDE: 2 } if %xchartl=14 %*********************************************************** xchartl 15 eq {%xchartl=15 %(a6,b6) /xtrans15a 0500 def /xtrans15 1300 def /ytrans15 3200 def xtrans15a ytrans15 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans15a neg ytrans15 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans15 ytrans15 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans15 neg ytrans15 neg translate %for text and grafic %ENDE: 2 } if %xchartl=15 } bind def %END proc_chromaticity_lines %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 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 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 %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 30 setlinewidth %xchart3 0 def %with Munsell colours %xchart3 1 def %with Ostwald colours %xchart3 2 det %without any colour /xchart3 1 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 /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 1 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 Y10g00na.ps6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10g00na.ps6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10g00na.ps6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) /posax 2800 def %pos (ax, x=0,..,6) /posay 0550 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /cvishow0 {cvi 6 string cvs show} def /kchartl 1 def %0:left page, 1:right page /pchartl 0 def %0:top page, 4:down page %not used /xchartx 1 def %0:D65, 1:D50 %allways proc_XYZ_colours proc_DEF_colours /xbtex0 0 def %xbtex=0 for files Y1(0/1)-(3/7)n.EPS xbtex0 1 eq {%xbtex0=1 40 setlinewidth /ymax1 08550 def /xmax1 12250 def 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto kchartl 0 eq {(egw70-7n) show} {(egw71-7n) show} ifelse } if %xbtex0=1 xchart3 0 eq {%BEG proc_Munsell_colours proc_Munsell_colours } if %END proc_Munsell_colours xchart3 1 eq {%BEG proc_Ostwald_colours proc_Ostwald_colours } if %END proc_Ostwald_colours 010 1 10 {/xchartl exch def %xchartl=8,15 gsave % xchartl 0 eq { 100 04480 translate} if % xchartl 1 eq { 6150 04480 translate} if % xchartl 2 eq { 100 00220 translate} if % xchartl 3 eq { 6150 00220 translate} if % xchartl 4 eq { 100 04480 translate} if % xchartl 5 eq { 6150 04480 translate} if % xchartl 6 eq { 100 00220 translate} if % xchartl 7 eq { 6150 00220 translate} if % xchartl 8 eq { 100 04480 translate} if % xchartl 9 eq { 6150 04480 translate} if % xchartl 10 eq { 100 00220 translate} if % xchartl 11 eq { 6150 00220 translate} if % xchartl 12 eq { 100 04480 translate} if % xchartl 13 eq { 6150 04480 translate} if % xchartl 14 eq { 100 00220 translate} if % xchartl 15 eq { 6150 00220 translate} if 150 /Times-ISOL1 FS 0 setgray 150 -150 moveto xchartl 7 le {(egw70-4a, enw31-3a) show} {(egw71-) show} ifelse %xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow0} if %xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow0} if %(a) show %a ( E00) show /xwidth 6000 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 /xtexti 96 array def /ytexti 96 array def %BEG INC Y11_XCHART10_0/1/2.PS %line 4877-4878 %******************************************************************** %BEG 'BL10'Y10_XCHART10_1.PS xchart10 1 eq {%%xchart10=1 long loop 1700 lines! 0 0 0 1 setcmykcolor xchartl 7 le {/xchart12 xchartl 12 mul def} if xchartl 8 ge {/xchart12 xchartl 8 sub 12 mul def} if xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Ostwald_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %1 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %2 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %3 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %4 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %5 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %6 0100 0100 0100 0100 0100 1300 0100 1300 0100 1300 0100 1300 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours TBS %xchartl 1 ge { %xchartl >=1 %xtexti xchart12 3 add get ytexti xchart12 3 add get moveto %xchartl 1 eq {(LINYAB) show} if %xchartl 2 eq {(CIELAB 76) show} if %xchartl 3 eq {(LABJNDS 87) show} if %xchartl 4 eq {(LINYAB) show} if %xchartl 5 eq {(CIELAB 76) show} if %xchartl 6 eq {(CUBYAB) show} if %xchartl 7 eq {(LABHNU1 79) show} if % } if %xchartl >=1 xchart3 1 eq {%xchart3=1 only for Ostwald colours xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0egw71-7 00581 (Name and spectral range) showen %1egw71-7 00581 (Nombre y gama espectral) showes %2egw71-7 00581 (Nom et la gamma spectrale) showfr %3egw71-7 00581 (Nome e la gamma spettrale) showit %4egw71-7 00581 (Name and spectral range) showjp %5egw71-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBEO 0 get show TBV 0 -40 rmoveto FARBEO 1 get show 0 40 rmoveto TBIS FARBEO 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBEO 3 get show TBV 0 -40 rmoveto FARBEO 4 get show 0 40 rmoveto TBIS FARBEO 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBEO 6 get show TBV 0 -40 rmoveto FARBEO 7 get show 0 40 rmoveto TBIS FARBEO 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBEO 9 get show TBV 0 -40 rmoveto FARBEO 10 get show 0 40 rmoveto TBIS FARBEO 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBEO 12 get show TBV 0 -40 rmoveto FARBEO 13 get show 0 40 rmoveto TBIS FARBEO 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBEO 15 get show TBV 0 -40 rmoveto FARBEO 16 get show 0 40 rmoveto TBIS FARBEO 17 get show } if %xchart3=1 only for Ostwald colours TBS 0 0 0 1 setcmykcolor xchart3 0 eq {%xchart3=0 %Munsell_colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Munsell) show TBS (-System) showde %0egw71-7 02581 ( System) showea %1egw71-7 02581 TBIS (, Y) show (w) ib6 xcolor 1 eq {(,10) ib6} if TBS K 0 eq {(=100, ) show}{(=88,6, ) show} ifelse TELi xchartx get show xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0egw71-7 03581 TELi xchartx get show } if %xchart3=0 %Munsell_colours xchart3 1 eq {%xchart3=1 %Optimal Colours xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBIS (Ostwald) showde TBS ( Farben (o)) showde %0egw71-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1egw71-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2egw71-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3egw71-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4egw71-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5egw71-7 02581 TBIS (, Y) show 0 -60 rmoveto (W) show 0 60 rmoveto TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (max (m) Buntwert, ) showde %0egw71-7 03581 (max (m) chromatic value, ) showen %1egw71-7 03581 (chromatic m\341x (m), ) showes %2egw71-7 03581 (max (m) chromatic valeur, ) showfr %3egw71-7 03581 (max (m) chromatic value, ) showit %4egw71-7 03581 (max (m) chromatic value, ) showjp %5egw71-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours %BEG For All Colours last line xtexti xchart12 2 add get ytexti xchart12 2 add get moveto xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 (in der Normfarbtafel) showde %0egw71-7 04581 (in the chromaticity diagram) showen %1egw71-7 04581 (en el diagrama de chromaticidad) showes %2egw71-7 04581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 04581 (nel diagramma di cromaticit\340) showit %4egw71-7 04581 (in the chromaticity diagram) showjp %5egw71-7 04581 TBS ( \050) show TBIS (x) show %(6) ib6 xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show %(6) ib6 xcolor 1 eq {(10) ib6} if TBS (\051) show } if %xchartl=0,8 xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 (in der Farbtafel) showde %0egw71-7 05581 (chromaticity diagram) showen %1egw71-7 05581 (en el diagrama de chromaticidad) showes %2egw71-7 05581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 05581 (nel diagramma di cromaticit\340) showit %4egw71-7 05581 (in the chromaticity diagram) showjp %5egw71-7 05581 TBS ( \050) show TBS (a) show (0) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (0) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=1,9 xchartl 02 eq xchartl 10 eq or {%xchartl=2,10 (in der Farbtafel) showde %0egw71-7 06581 (chromaticity diagram) showen %1egw71-7 06581 (en el diagrama de chromaticidad) showes %2egw71-7 06581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 06581 (nel diagramma di cromaticit\340) showit %4egw71-7 06581 (in the chromaticity diagram) showjp %5egw71-7 06581 TBS ( \050) show TBS (a) show (1) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (1) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=2,10 xchartl 03 eq xchartl 11 eq or {%xchartl=3,11 (in der Farbtafel) showde %0egw71-7 07581 (chromaticity diagram) showen %1egw71-7 07581 (en el diagrama de chromaticidad) showes %2egw71-7 07581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 07581 (nel diagramma di cromaticit\340) showit %4egw71-7 07581 (in the chromaticity diagram) showjp %5egw71-7 07581 TBS ( \050) show TBS (a) show (2) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (2) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=3,11 xchartl 04 eq xchartl 12 eq or {%xchartl=4,12 (in der Farbtafel) showde %0egw71-7 08581 (chromaticity diagram) showen %1egw71-7 08581 (en el diagrama de chromaticidad) showes %2egw71-7 08581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 08581 (nel diagramma di cromaticit\340) showit %4egw71-7 08581 (in the chromaticity diagram) showjp %5egw71-7 08581 TBS ( \050) show TBS (a) show (3) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (3) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=4,12 xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 (in der Farbtafel) showde %0egw71-7 09581 (chromaticity diagram) showen %1egw71-7 09581 (en el diagrama de chromaticidad) showes %2egw71-7 09581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 09581 (nel diagramma di cromaticit\340) showit %4egw71-7 09581 (in the chromaticity diagram) showjp %5egw71-7 09581 TBS ( \050) show TBS (a) show (4) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (4) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=5,13 xchartl 06 eq xchartl 14 eq or {%xchartl=6,14 (in der Farbtafel) showde %0egw71-7 10581 (chromaticity diagram) showen %1egw71-7 10581 (en el diagrama de chromaticidad) showes %2egw71-7 10581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 10581 (nel diagramma di cromaticit\340) showit %4egw71-7 10581 (in the chromaticity diagram) showjp %5egw71-7 10581 TBS ( \050) show TBS (a) show (5) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (5) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=6,14 xchartl 07 eq xchartl 15 eq or {%xchartl=7,15 (in der Farbtafel) showde %0egw71-7 11581 (chromaticity diagram) showen %1egw71-7 11581 (en el diagrama de chromaticidad) showes %2egw71-7 11581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 11581 (nel diagramma di cromaticit\340) showit %4egw71-7 11581 (in the chromaticity diagram) showjp %5egw71-7 11581 TBS ( \050) show TBS (a) show (6) ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBS (b) show (6) ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %xchartl=7,15 %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 %(x,y) %only for xchartl=8 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic xchart3 0 eq {%xchart3=0 %BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 AnYi i XANMi i kV40 add get fakt mul put %x BnYi i YANMi i kV40 add get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath XANWL fakt mul YANWL fakt mul 40 0 360 arc stroke xchart5 2 eq {%xchart5=2 %+TELi XANWL fakt mul 200 sub 150 add YANWL fakt mul 500 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi xchart5 3 eq {%xchart5=3 %+V=1..9 1250 550 add 1316 250 add moveto (1) show 1250 350 add 1316 100 add moveto (2) show 1250 200 add 1316 050 add moveto (5) show } if %xchart5=3 %+V=1..9 } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 0 0 setrgbcolor 0 1 39 {/i exch def %i=0,39 AnYi i XANOi i get fakt mul put %x BnYi i YANOi i get fakt mul put %y AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans8 neg ytrans8 neg translate %for scala and graphi } if %xchartl=0,8 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 9 ge {%xchartl>=9 /xtrans9 4150 def /ytrans9 2000 def xtrans9 ytrans9 translate %for scala and graphic %axis and scales 0 0 0 1 setcmyk_olvcolor -2250 0 moveto 3950 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1700 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-40) ( ) ( ) ( ) ( 40)] def /yt10x [(-40) ( ) ( ) ( ) (40)] def /fakt 40 def %default xchart3 0 eq {/xt10x [(-10) ( ) ( ) ( ) ( 10)] def /yt10x [(-10) ( ) ( ) ( ) (10) ] def} if %xchart3=0 %Munsell 0 0 0 1 setcmyk_olvcolor 0 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {%i=4 -1600 i 800 mul add 0 moveto -100 150 rmoveto TBIM (A) show TBS InCS xchartl get ib6 } if %i=4 } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1600 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {%i=4 -100 -1600 i 800 mul add moveto -250 150 rmoveto TBIM (B) show TBS InCS xchartl get ib6 } if %i=4 } for %i=0,4 xtrans9 neg ytrans9 neg translate %for scala and graphic } if %xchartl>=9 %********************************************************** xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 %(A,B) (a=x/y, b=-0.4*z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans9 4150 def /ytrans9 2000 def xtrans9 ytrans9 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A0 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B0 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans9 neg ytrans9 neg translate %for scala and graphic } if %xchartl=0,9 %***************************************************************** xchartl 02 eq xchartl 10 eq or {%xchartl=2,10 %(A1,B1) (a1=[x-XANT]/y, b1=z/y) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans10 4150 def /ytrans10 2000 def xtrans10 ytrans10 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (T1) ib6 TBS (=) show 1.0 cvsshow3x (, ) show TBIS (b) show (T1) ib6 TBS (=) show XANT cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A1 BnYi i ZANOi i get YANOi i get FL add div n1e exp ZANWL YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B1 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans10 neg ytrans10 neg translate %for scala and graphic } if %xchartl=2,10 %************************ xchartl 03 eq xchartl 11 eq or {%xchartl=1,9 %(A2,B2) (a2=x/y, b2=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans11 4150 def /ytrans11 2000 def xtrans11 ytrans11 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B2 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans11 neg ytrans11 neg translate %for scala and graphic } if %xchartl=3,11 %************************ xchartl 04 eq xchartl 12 eq or {%xchartl=04,12 %(A3,B3) (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans12 4150 def /ytrans12 2000 def xtrans12 ytrans12 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B3 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans12 neg ytrans12 neg translate %for scala and graphic } if %xchartl=4,12 %************************ xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 %(A4,B4) (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans13 4150 def /ytrans13 2000 def xtrans13 ytrans13 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (P1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (P1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (P1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (P1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (P1) ib6 TBS (=) show mP1 cvsshow3x (, ) show TBIS (b) show (P1) ib6 TBS (=) show bP1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div n1e exp XANWL mP1 mul bP1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B4 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans13 neg ytrans13 neg translate %for scala and graphic } if %xchartl=5,13 %************************ xchartl 06 eq xchartl 14 eq or {%xchartl=06,14 %(A5,B5) (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans14 4150 def /ytrans14 2000 def xtrans14 ytrans14 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A5 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get XANT sub YANOi i get FL add div n1e exp XANWL XANT sub YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A5 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans14 neg ytrans14 neg translate %for scala and graphic } if %xchartl=6,14 %************************ xchartl 07 eq xchartl 15 eq or {%xchartl=07,15 %(A6,B6) (a6=x/y, b6=mD1*x+bD1) /fakt 40 def %default xchart3 0 eq {/fakt 160 def} if %xchart3=0 %Munsell_Colours /a2 1.00 def /b2 -0.4 def /xtrans15 4150 def /ytrans15 2000 def xtrans15 ytrans15 translate %for scala and graphic /idyT 250 def /iyT 1800 def -4050 iyT moveto TBIS (X) show (w) ib6 TBS (=) show XK cvsshow2x (, ) show TBIS (Y) show (w) ib6 TBS (=) show YK cvsshow2x (, ) show TBIS (Z) show (w) ib6 TBS (=) show ZK cvsshow2x -4050 iyT idyT 1 mul sub moveto TBIS (x) show (w) ib6 TBS (=) show XANK cvsshow4x ( ) show TBIS (y) show (w) ib6 TBS (=) show YANK cvsshow4x -4050 iyT idyT 2 mul sub moveto TBIS (A) show InCS xchartl get ib6 TBS ( = \050) show TBIS (a) show InCS xchartl get ib6 TBS ( - ) show TBIS (a) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 3 mul sub moveto TBIS (B) show InCS xchartl get ib6 TBS ( = \050) show TBIS (b) show InCS xchartl get ib6 TBS ( - ) show TBIS (b) show InCS xchartl get ib6 (,n) ib6 TBS (\051 ) show TBIS (Y) show -4050 iyT idyT 4 mul sub moveto TBIS (a) show InCS xchartl get ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -4050 iyT idyT 5 mul sub moveto TBIS (b) show InCS xchartl get ib6 %TBS (=) show TBIS (m) show (D1) ib6 TBIS (x) show %TBS (+) show TBIS (b) show (D1) ib6 TBS (=) show TBIS (b) show (20) ib6 TBS ( [\050) show TBIS (m) show (D1) ib6 TBIS (x) show TBS (+) show TBIS (b) show (D1) ib6 TBS (\051) show TBIS (/y) show TBS (]) show -4050 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -4050 iyT idyT 7 mul sub moveto TBIS (m) show (D1) ib6 TBS (=) show mD1 cvsshow3x (, ) show TBIS (b) show (D1) ib6 TBS (=) show bD1 cvsshow3x -4050 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp YMi ikV40 get def AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 xchart5 1 ge {%xchart5>=1 %XANW,YANW newpath 0 0 40 0 360 arc fill xchart5 2 eq {%xchart5=2 %+TELi 0 100 sub 350 add 0 250 sub 150 sub moveto TBS TELi xchartx get show } if %xchart5=2 %+TELi } if %xchart5>=1 %XANW,YANW } if %xchart3=0 %END Munsell_colours C=2, V=1,2,5,8,9 xchart3 1 eq {%xchart3=1 %BEG Ostwald_Colours 0 1 39 {/i exch def %i=0,39 /Yexp YOi i get def AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub Yexp mul a2 mul fakt mul put %A6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div n1e exp XANWL mD1 mul bD1 add YANWL FL add div n1e exp sub Yexp mul b2 mul fakt mul put %B6 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 /tab_Ocolors 64 array def %8*8 /tab_Ocolors %BEG tab_Ocolors [%i rgb Col Ind %0 01 02 03 04 05 06 07 00 0.0 1.0 1.0 -0100 -0250 (C) (O) 06 0.0 1.0 0.0 0100 -0050 (G) (O) 09 0.8 1.0 0.0 -0100 0100 (Y) (x) 13 1.0 1.0 0.0 -0100 0100 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 -0350 -0100 (M) (O) 29 0.2 0.0 1.0 -0100 -0250 (V) (n) 33 0.0 0.0 1.0 -0100 -0250 (B) (O) ] def %END tab_Ocolors 0 1 7 {/i exch def %i=0,7 /i0 i 8 mul def /i1 i0 1 add def /i2 i0 2 add def /i3 i0 3 add def /i4 i0 4 add def /i5 i0 5 add def /i6 i0 6 add def /i7 i0 7 add def /k tab_Ocolors i0 get def tab_Ocolors i1 get tab_Ocolors i2 get tab_Ocolors i3 get setrgbcolor AnYi k get BnYi k get 50 0 360 arc fill 0 0 0 setrgbcolor AnYi k get BnYi k get 50 0 360 arc stroke newpath AnYi k get tab_Ocolors i4 get add BnYi k get tab_Ocolors i5 get add moveto xchart7 1 eq {%xchart7=1 Name TBIS tab_Ocolors i6 get show tab_Ocolors i7 get ib6 TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans15 neg ytrans15 neg translate %for scala and graphic } if %xchartl=07,15 } if %xchart10=1 long loop 1700 lines! %END 'BL10'Y11_XCHART10_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space 2x before/after xchartl % xchartl 0 eq { 100 neg 04480 neg translate} if % xchartl 1 eq { 6150 neg 04480 neg translate} if % xchartl 2 eq { 100 neg 00220 neg translate} if % xchartl 3 eq { 6150 neg 00220 neg translate} if % xchartl 4 eq { 100 neg 04480 neg translate} if % xchartl 5 eq { 6150 neg 04480 neg translate} if % xchartl 6 eq { 100 neg 00220 neg translate} if % xchartl 7 eq { 6150 neg 00220 neg translate} if % xchartl 8 eq { 100 neg 04480 neg translate} if % xchartl 9 eq { 6150 neg 04480 neg translate} if % xchartl 10 eq { 100 neg 00220 neg translate} if % xchartl 11 eq { 6150 neg 00220 neg translate} if % xchartl 12 eq { 100 neg 04480 neg translate} if % xchartl 13 eq { 6150 neg 04480 neg translate} if % xchartl 14 eq { 100 neg 00220 neg translate} if % xchartl 15 eq { 6150 neg 00220 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald %showpage %XA grestore } for %xchartl=8,15 %8 chromaticity diagrams showpage %7R&7N grestore %} for %xchartx=0,7 %8 illuminants %%Trailer %line 269 %%EndDocument EndEPSF grestore gsave showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add 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 egw70-4N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw70-4N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 28 SHSl sub 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 egw70-5N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw70-5N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add 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 egw70-6N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw70-6N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 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 SHSl sub MM 20 MM 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 egw70-7n_54 %%BoundingBox: 70 85 387 335 %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/egw7/egw7.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:2023080112000) /ModDate (D:2023080112000) /DOCINFO pdfmark07 [ /View [ /Fit ] /DOCVIEW pdfmark07 %END PDFDE011 %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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TV {110 /Times-ISOL1 FS} bind def /TW {080 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TIV {110 /TimesI-ISOL1 FS} bind def /TIW {080 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBV {110 /TimesB-ISOL1 FS} bind def /TBW {080 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /TBIV {110 /TimesBI-ISOL1 FS} bind def /TBIW {080 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def /SV {110 /Symbol FS} bind def /SW {080 /Symbol FS} bind def %***************************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % gsave /cvishow0 {cvi 6 string cvs show} def /kchartl 0 def %0:left page, 1:right page /pchartl 4 def %0:top page, 4:down page %not used 72 90 translate 0.010 MM dup scale 40 setlinewidth /ymax1 08550 def /xmax1 11050 def %2x5400+250=11050 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto kchartl 0 eq {(egw70-) show} {(egw71-) show} ifelse pchartl 0 eq {(3n) show} {(7n) show} ifelse grestore gsave %00 %01 %02 /SHSl 00.0 def /SHAl -3.0 def /STSl 13.0 def /STAl 14.5 def BeginEPSF 28 SHSl sub MM 064 STSl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 15 %!PS-Adobe-3.0 EPSF-3.0 egw70-5a env00-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/egw7/egw7.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022030112000) /ModDate (D:2022030112000) /DOCINFO pdfmark05 [ /View [ /Fit ] /DOCVIEW pdfmark05 %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 /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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def %********************************************************* /proz_param {%proz_param 4600 3800 moveto TBS (Parame\255) show 4600 3600 moveto TBS (ter:) show xchart4 2 eq xchart4 4 eq or xchart4 6 eq or {TBIS ( N) show} if xchart4 3 eq xchart4 5 eq or xchart4 7 eq or {TBIS ( Y) show xcolorl 1 eq {xcol10_BS} if} if /kx kxi xchartl get def /kxx 445 kx 5 mul add def 4150 300 moveto TBS (max: ) show kxx cvishow (_770) show 4150 080 moveto TBS (min: 380_) show kxx cvishow /index2_7 {%index2_7 xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {0 -50 rmoveto TBL (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if xchart4 4 eq xchart4 5 eq or {0 -50 rmoveto TBL () show 0 50 rmoveto xcolorl 1 eq {xcol10_BS} if } if xchart4 6 eq {0 -50 rmoveto TBL (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } bind def %index2_7 /index2_7n {%index2_7n xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {0 -50 rmoveto TBL (2,n) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if xchart4 4 eq xchart4 5 eq or {0 -50 rmoveto TBL (n) show 0 50 rmoveto xcolorl 1 eq {xcol10_BS} if } if xchart4 6 eq {0 -50 rmoveto TBL (1,n) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } bind def %index2_7n /x0p 50 def x0p 3800 moveto TBIS (XYZ) show 0 -50 rmoveto TBL (W) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if TBS (=) show XK cvsshow2 (, ) show YK cvsshow2 (, ) show ZK cvsshow2 x0p 3550 moveto TBIS (A) show index2_7 TBS ( = 2,5 \050) show TBIS (a) show index2_7 TBS ( - ) show TBIS (a) show index2_7n TBS (\051 ) show TBIS (Y) show xcolorl 1 eq {xcol10_BS} if x0p 3300 moveto TBIS (B) show index2_7 TBS ( = 2,5 ) show TBIS (B) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( \050) show TBIS (b) show index2_7 TBS ( - ) show TBIS (b) show index2_7n TBS (\051 ) show TBIS (Y) show xcolorl 1 eq {xcol10_BS} if x0p 3050 moveto TBIS (a) show index2_7 TBS ( = ) show TBIS (a) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( [) show TBIS (\050x) show xcolorl 1 eq {xcol10_BS} if TBS (-) show TBIS (x) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBIS (\051/y) show xcolorl 1 eq {xcol10_BS} if TBS (]) show x0p 2800 moveto TBIS (b) show index2_7 TBS ( = ) show TBIS (b) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( [) show TBIS (z) show xcolorl 1 eq {xcol10_BS} if TBIS (/y) show xcolorl 1 eq {xcol10_BS} if TBS (]) show x0p 2550 moveto TBIS (a) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( = 1, ) show TBIS (b) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( = -0,4) show x0p 2300 moveto TBIS (x) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( = ) show xct show (, ) show TBIS (B) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( = ) show Bct show x0p 2080 moveto TBIS (n) show TBS ( = ) show TELi xchartl get show x0p 1860 moveto TBIS (C) show TBL 0 -50 rmoveto (AB,) show 0 50 rmoveto index2_7 TBS (=[) show TBIS (A) show index2_7 TBL -20 100 rmoveto (2) show 0 -100 rmoveto TBS (+) show TBIS (B) show index2_7 TBL -20 100 rmoveto (2) show 0 -100 rmoveto TBS (]) show TBL 0 100 rmoveto (1/2) show 0 -100 rmoveto } bind def %proz_param %**************************************************************** /proz_opti {%proz_opti TBS 0 0 0 1 setcmyk_olvcolor /xchart12 xchart4 12 mul def xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBS (10 Optimalfarben (o)) showde %0egw71-7 02581 (10 optimal colours (o)) showen %1egw71-7 02581 (10 colores \363ptimos (o)) showes %2egw71-7 02581 (10 couleurs optimales (o)) showfr %3egw71-7 02581 (10 colori ottimi (o)) showit %4egw71-7 02581 (10 optimal colours (o)) showjp %5egw71-7 02581 TBIS (, Y) show TBL 0 -60 rmoveto (W) show 0 60 rmoveto xchartl 1 eq {xcol10KBS} if TBS K 0 eq {(=100) show}{(=90) show} ifelse TBIS (, Y) show TBL 0 -60 rmoveto (N) show 0 60 rmoveto xchartl 1 eq {xcol10KBS} if TBS K 0 eq {(=0) show}{(=3,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (8 von maximalem (m)) showde %0egw71-7 03581 (8 of maximum (m)) showen %1egw71-7 03581 (8 de m\341ximo (m)) showes %2egw71-7 03581 (8 de la maximum (m)) showfr %3egw71-7 03581 (8 di massimo (m)) showit %4egw71-7 03581 (8 of maximum (m)) showjp %5egw71-7 03581 TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto TBS ( f\374r ) showde %0egw71-7 03581 ( for ) showen %1egw71-7 03581 ( bajo ) showes %2egw71-7 03581 ( pour ) showfr %3egw71-7 03581 ( per ) showit %4egw71-7 03581 ( for ) showjp %5egw71-7 03581 TELi xchartl get show xtexti xchart12 2 add get ytexti xchart12 2 add get moveto xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 (in der Normfarbtafel) showde %0egw71-7 04581 (in the chromaticity diagram) showen %1egw71-7 04581 (en el diagrama de chromaticidad) showes %2egw71-7 04581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 04581 (nel diagramma di cromaticit\340) showit %4egw71-7 04581 (in the chromaticity diagram) showjp %5egw71-7 04581 TBIS ( (x, y)) show } if %xchart4=0,1 xchart4 2 eq xchart4 3 eq or {%xchart4=2,3 (im linearen Farbenraum ) showde %0egw71-7 06581 (in linear colour space ) showea %1egw71-7 06581 TBS (\050) show TBIS (C) show TBL 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if TBIS (, Y) show xcolorl 1 eq {xcol10_BS} if TBS (\051) show } if %xchart4=2,3 xchart4 4 eq xchart4 5 eq or {%xchart4=4,5 (in Buntwertdiagramm) showde %0egw71-7 08581 (in chromatic value diagram) showen %1egw71-7 08581 (en el diagrama valor crom\341tico) showes %2egw71-7 08581 (dans la valeur chromatique le diagramme) showfr %3egw71-7 08581 (nel diagramma di valore cromatico) showit %4egw71-7 08581 (in chromatic value diagram) showjp %5egw71-7 08581 TBIS ( (A, B)) show } if %xchart4=4,5 xchart4 6 eq {%xchart4=6 (in Buntwertdiagram) showde %0egw71-7 10581 (in chromatc value diagram) showen %1egw71-7 10581 (en el diagrama croma) showes %2egw71-7 10581 (dans le diagramme de chroma) showfr %3egw71-7 10581 (nel diagramma di chroma) showit %4egw71-7 10581 (in chromactic value diagram) showjp %5egw71-7 10581 TBIS ( \050A) show 0 -50 rmoveto TBL (1) show 0 50 rmoveto TBS (, ) show TBIS (B) show 0 -50 rmoveto TBL (1) show 0 50 rmoveto TBS (\051) show } if %xchart4=6 xchart4 7 eq {%xchart4=7 (in Buntwertdiagram) showde %0egw71-7 11581 (in chromatic value diagram) showen %1egw71-7 11581 (en el diagrama croma) showes %2egw71-7 11581 (dans le diagramme de chroma) showfr %3egw71-7 11581 (nel diagramma di chroma) showit %4egw71-7 11581 (in chroma diagram) showjp %5egw71-7 11581 TBIS ( \050A) show 0 -50 rmoveto TBL (2) show 0 50 rmoveto TBS (, ) show TBIS (B) show 0 -50 rmoveto TBL (2) show 0 50 rmoveto TBS (\051) show } if %xchart4=7 } bind def %proz_opti %**************************************************************************** /proz_name_range {%proz_name_range /xchart12 xchart4 12 mul def xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name & Spektralbereich) showde %0egw71-7 00581 (Name and spectral range) showen %1egw71-7 00581 (Nombre y gama espectral) showes %2egw71-7 00581 (Nom et la gamma spectrale) showfr %3egw71-7 00581 (Nome e la gamma spettrale) showit %4egw71-7 00581 (Name and spectral range) showjp %5egw71-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBE 0 get show TBL 0 -40 rmoveto FARBE 1 get show 0 40 rmoveto TBIS FARBE 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBE 3 get show TBL 0 -40 rmoveto FARBE 4 get show 0 40 rmoveto TBIS FARBE 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBE 6 get show TBL 0 -40 rmoveto FARBE 7 get show 0 40 rmoveto TBIS FARBE 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBE 9 get show TBL 0 -40 rmoveto FARBE 10 get show 0 40 rmoveto TBIS FARBE 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBE 12 get show TBL 0 -40 rmoveto FARBE 13 get show 0 40 rmoveto TBIS FARBE 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBE 15 get show TBL 0 -40 rmoveto FARBE 16 get show 0 40 rmoveto TBIS FARBE 17 get show xtexti xchart12 10 add get ytexti xchart12 10 add get moveto TBIS FARBE 18 get show TBL 0 -40 rmoveto FARBE 19 get show 0 40 rmoveto TBIS FARBE 20 get show xtexti xchart12 11 add get ytexti xchart12 11 add get moveto TBIS FARBE 21 get show TBL 0 -40 rmoveto FARBE 22 get show 0 40 rmoveto TBIS FARBE 23 get show } bind def %proz_name_range %**************************************************************** /proz_axis_scales4_7 {%proz_axis_scales4_7 %axis and scales 0 0 0 1 setcmyk_olvcolor -1000 0 moveto 2800 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1800 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [() ( -50) ( ) ( ) ( 100)] def /yt10x [(-100) ( ) ( ) ( ) (100)] def 0 0 0 1 setcmyk_olvcolor 1 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {-1600 i 800 mul add 0 moveto xchart4 4 eq { %xchart4=4 -100 200 rmoveto TBIK (A) show xcolorl 1 eq {xcol10_BS} if } if %xchart4=4 xchart4 5 eq { %xchart4=5 -100 200 rmoveto TBIK (A) show xcolorl 1 eq {xcol10_BS} if } if %xchart4=5 xchart4 6 eq { %xchart4=6 -200 200 rmoveto TBIK (A) show 00 -50 rmoveto TBS (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=6 xchart4 7 eq { %xchart4=7 -200 200 rmoveto TBIK (A) show 00 -50 rmoveto TBS (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=7 } if } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1650 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {0 -1650 i 800 mul add moveto xchart4 4 eq { %xchart4=4 100 150 rmoveto TBIK (B) show TM xcolorl 1 eq {xcol10_BS} if } if %xchart4=4 xchart4 5 eq { %xchart4=5 100 150 rmoveto TBIK (B) show xcolorl 1 eq {xcol10_BS} if 0 1150 add 1600 0200 add moveto } if %xchart4=5 xchart4 6 eq { %xchart4=6 100 150 rmoveto TBIK (B) show -40 -50 rmoveto TBS (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=6 xchart4 7 eq { %xchart4=7 100 150 rmoveto TBIK (B) show -40 -50 rmoveto TBS (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=7 } if } for %i=0,4 } bind def %proz_axis_scales4_7 %*********************************************************** /proz_chromaticity_lines {%BEG proz_chromaticity_lines /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /FXYZ 240 array def /XSi 82 array def /YSi 82 array def /ZSi 82 array def /XANSi 82 array def /YANSi 82 array def /ZANSi 82 array def /AANSi 82 array def %actual data for plot, purple colours /BANSi 82 array def 0 1 239 {/i exch def %i=0,239 FXYZ i xcolorl 0 eq {F2 i get put} {F10 i get put} ifelse } for %i=0,239 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM FXYZ 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 XSi i FXYZ 00 i add get YKSUM div 100 mul put YSi i FXYZ 80 i add get YKSUM div 100 mul put ZSi i FXYZ 160 i add get YKSUM div 100 mul put /SUM XSi i get YSi i get add ZSi i get add 0.0001 add def XANSi i XSi i get SUM div put YANSi i YSi i get SUM div put ZANSi i ZSi i get SUM div put AANSi i XANSi i get put BANSi i YANSi i get put } for %i=0,1,79 /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 00 i add get YKSUM div 100 mul put YZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 17 i add get YKSUM div 100 mul put ZZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 34 i add get YKSUM div 100 mul put /SUM XZi i get YZi i get add ZZi i get add 0.0001 add def XANZi i XZi i get SUM div put YANZi i YZi i get SUM div put ZANZi i ZZi i get SUM div put AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolorl 1 eq {TL 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolorl 1 eq {TL 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolorl 0 eq {(CIE 1931) show} if xcolorl 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANSi i get fakt mul BANSi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 1 000 000 ( ) %30 1 050 000 (535) %31 1 000 000 ( ) %32 M 1 000 000 ( ) %33 1 050 030 (550) %34 1 000 000 ( ) %35 1 050 030 (560) %36 1 000 000 ( ) %37 1 050 030 (570) %38 L 1 000 000 ( ) %39 1 050 030 (580) %40 1 050 050 ( ) %41 1 050 030 (590) %42 1 050 050 ( ) %43 1 050 030 (600) %44 0 000 000 ( ) %45 1 050 070 (610) %46 0 000 000 ( ) %47 1 050 050 (620) %48 0 000 000 ( ) %49 0 000 000 (630) %50 0 000 000 ( ) %51 1 050 030 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANSi i get fakt mul BANSi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANSi i get fakt mul BANSi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 /AnY475 AANSi 19 get fakt mul def /BnY475 BANSi 19 get fakt mul def /AnY573 AANSi 38 get 0.4 mul AANSi 39 get 0.6 mul add fakt mul def /BnY573 BANSi 38 get 0.4 mul BANSi 39 get 0.6 mul add fakt mul def TBIL 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANSi i get fakt mul xytshift i41 get add BANSi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIL 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 xtrans8 neg ytrans8 neg translate %for scala and grafic } bind def %END proz_chromaticity_lines %***************************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /TELi 8 array def /xchart8 1 def %0:Pxx, 1:Dxx xchart8 0 eq {%xchart8=0 Pxx /TELi [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. } if %xchart8=0 xchart8 1 eq {%xchart8=1 Dxx /TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. } if %xchart8=1 /SD65 82 array def %380 bis 775 mit deltalambda=05 /SD50 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SA00 82 array def %380 bis 775 mit deltalambda=05 /SE00 82 array def %380 bis 775 mit deltalambda=05 /SC00 82 array def %380 bis 775 mit deltalambda=05 /SP00 82 array def %380 bis 775 mit deltalambda=05 /SQ00 82 array def %380 bis 775 mit deltalambda=05 /SDAK 82 array def %380 bis 775 mit deltalambda=05 /RA 82 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 82 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 82 array def xchart8 1 eq {%xchart8=1 Dxx /TNC 4000 def %******************************************** 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } if %xchart8=1 Dxx %****************************************** xchart8 0 eq {%xchart8=0 Pxx %defined only for xchart8=0 Pxx /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def /SP60 82 array def %380 bis 775 mit deltalambda=05 /SP55 82 array def %380 bis 775 mit deltalambda=05 /SP50 82 array def %380 bis 775 mit deltalambda=05 /SP45 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SP35 82 array def %380 bis 775 mit deltalambda=05 /SP30 82 array def %380 bis 775 mit deltalambda=05 /SP25 82 array def %380 bis 775 mit deltalambda=05 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } if %xchart8=0 %************************************************* /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBE 30 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (G) (o) ( 520_570) %06 (M) (o) ( 570_520) %07 (W) (0) ( 380_770) %08 (N) (0) ( 380_770) %09 ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 720 array def %9x80 /RX0 [ %(%Rm 00 560_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0468 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Gm 02 475_575) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0468 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0468 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Cm 03 380_560) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0468 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Mm 05 575_475) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0468 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0468 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Mo 07 570_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%W0(r=0,900) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%N0(r=0,036) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 ] def /xcol10_BS {TBL 0 -50 rmoveto (10) show 0 50 rmoveto TBS} bind def /xcol10KBS {TBL 0 -50 rmoveto (,10) show 0 50 rmoveto TBS} bind def /xcolorl xcolor def 0 1 0 {/xcolorl exch def %xcolorl=0,0 xcolorl 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 } if /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 82 array def %FXN 0 = F2N imax /FYN 82 array def /FZN 82 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def 20 setlinewidth /xdel 1005 def /ydel 395 def /x0 050 def /x1 -150 def /Xi 82 array def %80 spectral colours 380 to 775nm /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XRj 10 array def %10 spectral or max 10 device colours /YRj 10 array def /ZRj 10 array def /XANRj 10 array def /YANRj 10 array def /ZANRj 10 array def /XSj 10 array def %10 spectral or max 10 device atagonistic colours /YSj 10 array def /ZSj 10 array def /XANSj 10 array def /YANSj 10 array def /ZANSj 10 array def /XCj 10 array def %10 spectral from continuous colours /YCj 10 array def /ZCj 10 array def /XANCj 10 array def /YANCj 10 array def /ZANCj 10 array def /XAj 10 array def %10 spectral from continuous colours /YAj 10 array def /ZAj 10 array def /XANAj 10 array def /YANAj 10 array def /ZANAj 10 array def /RAk 82 array def 0 1 0 {/xchart4 exch def %xchart4=0,7 /xchartl xchart def %0 1 7 {/xchartl exch def %xchartl=0,7 %/K 0 def %for normalization 1 /K 1 def %for normalization 0,900 gsave 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolorl cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow 4 /Times-ISOL1 FS 72 86 moveto (egw70-5a env00-5n, BEA01-3N.EPS) show 72 90 translate 0.010 MM dup scale 25 setlinewidth 0 0 0 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath clip 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for 8 illuminants Dxx or Pxx 0 1 79 {/i exch def %i=0,79 SDAK i xchart8 0 eq {%xchart8=0 Pxx xchartl 0 eq {SP60 i get put} if xchartl 1 eq {SP55 i get put} if xchartl 2 eq {SP50 i get put} if xchartl 3 eq {SP45 i get put} if xchartl 4 eq {SP40 i get put} if xchartl 5 eq {SP35 i get put} if xchartl 6 eq {SP30 i get put} if xchartl 7 eq {SP25 i get put} if }%xchart8=0 Pxx {%xchart8=1 Dxx xchartl 0 eq {SD65 i get put} if xchartl 1 eq {SD50 i get put} if xchartl 2 eq {SP40 i get put} if xchartl 3 eq {SA00 i get put} if xchartl 4 eq {SE00 i get put} if xchartl 5 eq {SC00 i get put} if xchartl 6 eq {SP00 i get put} if xchartl 7 eq {SQ00 i get put} if } ifelse %xchart8=1 Dxx } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def /AANW XW YW 0.0001 add div def /BANW ZW YW 0.0001 add div 0.4 mul neg def %************************************************ %XYZRj for 10 reflections 0 1 09 {/j exch def %j=0,9 %10 Reflections /jx j 80 mul def 0 1 79 {/i exch def %i=0,79 RAk i RX0 jx i add get 1000 div put } for %i=0,79 /XR 0 def /YR 0 def /ZR 0 def 0 1 079 {/i exch def %i=0,79 /XR XR F2N 00 i add get RAk i get mul add def /YR YR F2N 80 i add get RAk i get mul add def /ZR ZR F2N 160 i add get RAk i get mul add def } for %i=0,79 XRj j XR put YRj j YR put ZRj j ZR put /SUMR XR YR add ZR add def XANRj j XR SUMR 0.0001 add div put YANRj j YR SUMR 0.0001 add div put ZANRj j ZR SUMR 0.0001 add div put } for %j=0,9 %******************************************* 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* /WEL1 60 array def %irregular definition /WEL2 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0.036 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 0.900 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 0.900 put } for %i=0,i2 } ifelse %i1>i2 %correction (0.900+0.036)/2=0.648 i2 i1 ge {%i1i2 RA i1 0.468 put RA i2 0.468 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* 0 0 0 1 setcmyk_olvcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 Xi k X put Yi k Y put Zi k Z put XANi k XAN put YANi k YAN put ZANi k ZAN put }%Icom=0 {%Icom=1 /kP 20 k add def Xi kP XW X sub put Yi kP YW Y sub put Zi kP ZW Z sub put /SUMi Xi kP get Yi kP get add Zi kP get add def XANi kP Xi kP get SUMi 0.0001 add div put YANi kP Yi kP get SUMi 0.0001 add div put ZANi kP Zi kP get SUMi 0.0001 add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 Xi k Xi k get 0.9000 mul put Yi k Yi k get 0.9000 mul put Zi k Zi k get 0.9000 mul put Xi kP Xi kP get 0.9000 mul put Yi kP Yi kP get 0.9000 mul put Zi kP Zi kP get 0.9000 mul put } if %K=1 } for %k=0,19 %********************************************************************** %XW,YW,ZW and XK,YK,ZK for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.9000 mul def /YK YW 0.9000 mul def /ZK ZW 0.9000 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for D65, D50, P40, A00, E00 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /LP LP 1 add def /xtexti 96 array def /ytexti 96 array def /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1700 2000 2000 3000 3200 4300 3200 4300 3200 4300 3200 4300 %0 (x,y) 1700 2000 2000 3000 3200 4300 3200 4300 3200 4300 3200 4300 %1 (x,y) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %2 (A2,B2) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %3 (A2,B2) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %4 (A,B) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %5 (A,B) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %6 (A1,B1) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %7 (A2,B2) ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 (x,y) 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %1 (x,y) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 (A2,B2) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 (A2,B2) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 (A,B) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 (A,B) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 (A1,B1) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 (A2,B2) ] def xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 4600 1600 moveto TBS (Parame\255) show 4600 1400 moveto TBS (ter:) show TBIS xchart4 0 eq {( N) show} if xchart4 1 eq {( Y) show} if proz_chromaticity_lines } if %xchart4=0,1 %*********************************************************** /icolor 9 array def %Rm %Ym %Gm %Cm %Bm %Mm %Go %Mo %W /icolor [20 10 06 00 30 26 06 26 40] def /imshow {-20 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def %************************************************* %allways /kxi 8 array def /xci 8 array def /Bci 8 array def /xcti 8 array def /Bcti 8 array def % 0 1 2 3 4 5 6 7 % (P60)(P55)(P50)(P45)(P40)(P35)(P30)(P25) %or (D65)(D50)(P40)(A00)(E00)(C00)(P00)(Q00) /kxi [9 10 10 11 9 9 10 9] def /kx kxi xchartl get def xchart4 0 eq xchart4 1 eq or xchart4 4 eq or xchart4 5 eq or {%xchart4=0,1 (x,y); 4,5 (A, B) % (P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ] def /xcti [(0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000)] def /Bci [ 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 ] def /Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def } if %xchart4=1 xchart4 6 eq {%xchart4=6 (A1, B1) % (P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.110 0.110 0.110 0.110 0.110 0.110 0.110 0.110 ] def /xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def /Bci [ 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 ] def /Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def } if %xchart4=6 xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {%xchart4=2,3,7 % (P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.110 0.110 0.110 0.110 0.110 0.110 0.110 0.110 ] def /xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def /Bci [ 0.800 1.000 1.300 2.500 0.900 0.700 1.000 0.700 ] def /Bcti [(0,800) (1,000) (1,300) (2,500) (0,900) (0,700) (1,000) (0,700)] def } if %xchart4=2,3,7 /xc xci xchartl get def /xct xcti xchartl get def /Bc Bci xchartl get def /Bct Bcti xchartl get def xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 %only for (x,y) /fakt 4000 def proz_name_range proz_opti 600 400 translate %for scala and graphic 0 1 39 {/i exch def %i=0,39 /An XANi i get def /Bn YANi i get def An fakt mul Bn fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW fakt mul YANW fakt mul 90 0 360 arc stroke XANW fakt mul 100 add YANW fakt mul 050 sub moveto TBS TELi xchartl get show TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {%new only for i=40 /i 40 def /k 6 def %Go Xi i XRj k get put Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get def /Bn YANCj j get def /AnY An fakt mul def %xan /BnY Bn fakt mul def %yan /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 0 eq {(C) show imshow} if xchart4 1 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 400 sub BnY 050 sub moveto xchart4 0 eq {(G) show imshow} if xchart4 1 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 100 sub BnY 250 sub moveto xchart4 0 eq {(Y) show imshow} if xchart4 1 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 450 sub BnY 150 sub moveto xchart4 0 eq {(max) show} if xchart4 1 eq {Paramshow} if 0.3 0 1 0 setcmykcolor /AnYmax AnY def /BnYmax BnY def } if %Ymax j 4 eq {AnY 350 sub BnY 050 add moveto xchart4 0 eq {(G) show ioshow} if xchart4 1 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 %continue j=0,4 for antagonistic (A) colours 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {%new only for i=40 /i 40 def /k 6 def %Mo Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add abs def XANAj j XK Xi i get sub SUM div put YANAj j YK Yi i get sub SUM div put ZANAj j ZK Zi i get sub SUM div put /An XANAj j get def /Bn YANAj j get def /AnY An fakt mul def %xan /BnY Bn fakt mul def %yan /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 150 add BnY 150 sub moveto xchart4 0 eq {(R) show imshow} if xchart4 1 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 150 add BnY 050 sub moveto xchart4 0 eq {(M) show imshow} if xchart4 1 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 350 sub BnY 100 add moveto xchart4 0 eq {(B) show imshow} if xchart4 1 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 000 sub BnY 200 sub moveto xchart4 0 eq {(min) show} if xchart4 1 eq {Paramshow} if 0.7 1 0 0 setcmykcolor /AnYmin AnY def /BnYmin BnY def } if %Ymin j 4 eq {AnY 250 sub BnY 150 sub moveto xchart4 0 eq {(M) show ioshow} if xchart4 1 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 /mABY BnYmax BnYmin sub AnYmax AnYmin sub 0.0001 add div def /bABY BnYmax AnYmax mABY mul sub def /AnYx bABY neg mABY div def /BnYx 0 def 1 0 0 setrgbcolor AnYmax BnYmax moveto AnYx BnYx lineto stroke AnYx 400 sub BnYx 50 add moveto AnYx 200 sub BnYx 150 sub moveto TBL AnYx fakt div cvsshow2 %******************************************** 0 setgray /AnY1 1.00 fakt mul def /BnY1 0.0 def /AnYW XANW fakt mul def /BnYW YANW fakt mul def /mABY BnYW BnY1 sub AnYW AnY1 sub 0.0001 add div def /bABY BnYW AnYW mABY mul sub def /AnYx 0 def /BnYx bABY def 0 setgray [100] 0 setdash AnY1 BnY1 moveto AnYx BnYx lineto stroke AnY475 BnY475 moveto AnY573 BnY573 lineto stroke [ ] 0 setdash -600 -400 translate %for scala and grafic } if %xchart4=0,1 %************************************************************** xchart4 2 eq xchart4 3 eq or {%xchart4=2,3 %only for (A2,B2) /fakt 20 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param newpath /xt2 3900 def /yt2 1200 def xt2 yt2 translate %red cylinder CAB=62 1 0 0 setrgbcolor [100] 0 setdash 062 fakt mul 100 fakt mul moveto 062 fakt mul 000 fakt mul lineto stroke -62 fakt mul 100 fakt mul moveto -62 fakt mul 000 fakt mul lineto stroke 060 fakt mul 102 fakt mul moveto (62) show -64 fakt mul 102 fakt mul moveto (-62) show [ ] 0 setdash 0 setgray %axis and scales 0 0 0 1 setcmyk_olvcolor -1200 0 moveto 2500 0 rlineto stroke 0 -400 moveto 0 3000 rlineto stroke 1300 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill -50 2600 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-50) ( ) ( 50)] def /yt10x [(0) ( ) (100)] def 0 0 0 1 setcmyk_olvcolor 0 1 2 {/i exch def %i=0,2 x-axis -1000 i 1000 mul add -75 moveto 0 150 rlineto stroke -1200 i 1000 mul add -300 moveto TBS xt10x i get show i 2 eq {-1000 i 1000 mul add 0 moveto -200 200 rmoveto TBIK (C) show 00 -50 rmoveto TBS (AB,2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } for %i=0,2 0 1 2 {/i exch def %i=0,2 y-axis -75 0000 i 1000 mul add moveto 150 0 rlineto stroke 0100 i 1000 mul 100 sub i 0 eq {100 sub} if moveto TBS yt10x i get show i 2 eq {0 0200 i 1000 mul add moveto 100 150 rmoveto TBIK (Y) show xcolorl 1 eq {xcol10KBS} if } if } for %i=0,2 newpath TBS 0 setgray 0 3.6 fakt mul 90 0 360 arc fill %N newpath 6 fakt mul 4 fakt mul moveto (3,6) show 2 fakt mul 52 fakt mul moveto (50) show 1 setgray 0 90.0 fakt mul 90 0 360 arc fill %W 0 setgray 0 90.0 fakt mul 90 0 360 arc stroke %W newpath 5 fakt mul 80 fakt mul moveto (90) show newpath 2 fakt mul 35 fakt mul moveto (46,8) show /Anj 10 array def /Bnj 10 array def /AnYj 10 array def /BnYj 10 array def /dABj 10 array def /CABj 10 array def /Yj 10 array def /Cfj 10 array def /Yfj 10 array def %10 chromatic colours from continuous colours TBIS 0 1 3 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put Anj j XANCj j get xc sub YANCj j get 0.0001 add div %2.5(a-an)Y XANK xc sub YANK 0.0001 add div sub put Bnj j ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul put Yj j Yi i get put AnYj j Anj j get Yi i get mul fakt mul put BnYj j Bnj j get Yi i get mul fakt mul put %dABj, CABj used later dABj j Anj j get dup mul Bnj j get dup mul add 0.0001 add sqrt put CABj j dABj j get Yi i get mul put % Cm Gm Ym Ymax Rm Mm Bm Bmin] /Vorp [-1 -1 1 1 1 1 -1 -1 ] def %only j=0,3 Cfj j CABj j get fakt mul Vorp j get mul 2.5 mul put Yfj j Yj j get fakt mul put /Cf Cfj j get def /Yf Yfj j get def /Paramshow {Yi i get cvishow} bind def j 0 eq {Cf 330 sub Yf 120 sub moveto xchart4 2 eq {(C) show imshow} if %j=0 xchart4 3 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {Cf 370 sub Yf 000 sub moveto xchart4 2 eq {(G) show imshow} if %j=1 xchart4 3 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {Cf 120 add Yf 50 sub moveto xchart4 2 eq {(Y) show imshow} if %j=2 xchart4 3 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {Cf 150 sub Yf 150 add moveto xchart4 2 eq {(max) show} if %j=3 xchart4 3 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax %j 4 eq {Cf 100 sub Yf 250 sub moveto % xchart4 2 eq {(G) show ioshow} if % xchart4 3 eq {Paramshow} if % 1 0.5 1 0 setcmykcolor} if %Go newpath Cf Yf 90 0 360 arc fill 0 setgray newpath Cf Yf 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /jp j 4 add def Anj jp XANCj j get xc sub YANCj j get 0.0001 add div %(a-an) XANK xc sub YANK 0.0001 add div sub put Bnj jp ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul put Yj jp YK Yi i get sub put AnYj jp Anj jp get YK Yi i get sub mul fakt mul put %(a-an)Y BnYj jp Bnj jp get YK Yi i get sub mul fakt mul put %(b-bn)Y %dABjp, CABjp used later dABj jp Anj jp get dup mul Bnj jp get dup mul add 0.0001 add sqrt put CABj jp dABj jp get YK Yi i get sub mul put %only j=0,3 Vorp 4..7 Cfj jp CABj jp get fakt mul Vorp jp get mul 2.5 mul put Yfj jp Yj jp get fakt mul put /Cf Cfj jp get def /Yf Yfj jp get def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {Cf 00 add Yf 150 add moveto xchart4 2 eq {(R) show imshow} if %j=4 xchart4 3 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {Cf 100 sub Yf 250 sub moveto xchart4 2 eq {(M) show imshow} if %j=5 xchart4 3 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {Cf 350 sub Yf 50 sub moveto xchart4 2 eq {(B) show imshow} if %j=6 xchart4 3 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {Cf 150 sub Yf 230 sub moveto xchart4 2 eq {(min) show} if %j=7 xchart4 3 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin %j 4 eq {Cf 100 sub Yf 150 add moveto % xchart4 2 eq {(M) show ioshow} if % xchart4 3 eq {Paramshow} if % 0 0.5 0 0 setcmykcolor} if %Mo newpath Cf Yf 90 0 360 arc fill 0 setgray newpath Cf Yf 90 0 360 arc stroke } for %j=0,3 0 setgray %0 90 fakt mul moveto %50 fakt mul 45 fakt mul lineto stroke /Cf1 Cfj 3 get def /Yf1 Yfj 3 get def 0 90 fakt mul moveto Cf1 Yf1 lineto 0 3.6 fakt mul lineto stroke /Cf2 Cfj 7 get def /Yf2 Yfj 7 get def 0 90 fakt mul moveto Cf2 Yf2 lineto 0 3.6 fakt mul lineto stroke [100] 0 setdash Cfj 0 get Yfj 0 get moveto Cfj 4 get Yfj 4 get lineto stroke Cfj 1 get Yfj 1 get moveto Cfj 5 get Yfj 5 get lineto stroke Cfj 2 get Yfj 2 get moveto Cfj 6 get Yfj 6 get lineto stroke Cfj 3 get Yfj 3 get moveto Cfj 7 get Yfj 7 get lineto stroke %Cf1 Yf1 moveto Cf2 Yf2 lineto stroke xt2 neg yt2 neg translate } if %xchart4=2,3 %******************************************************* xchart4 4 eq xchart4 5 eq or {%xchart4=4,5 %only for (A,B) /fakt 40 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param 3500 2100 translate %for text and grafic proz_axis_scales4_7 0 1 39 {/i exch def %i=0,39 /An XANi i get YANi i get 0.0001 add div def /Bn ZANi i get YANi i get 0.0001 add div 0.4 mul neg def /AnK XK YK 0.0001 add div def /BnK ZK YK 0.0001 add div 0.4 mul neg def /AnY An AnK sub Yi i get mul def /BnY Bn BnK sub Yi i get mul def AnY fakt mul BnY fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW YANW 0.0001 add div %(a-an)YW XANK YANK 0.0001 add div sub YW mul fakt mul ZANW YANW 0.0001 add div %(b-an)YW ZANK YANK 0.0001 add div sub 0.4 mul neg YW mul fakt mul 90 0 360 arc stroke 0 080 add 0 080 add moveto TBS TELi xchartl get show %10 chromatic colours from continuous colours TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get YANCj j get 0.0001 add div %2.5(a-an)Y XANK YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg def /AnY An Yi i get mul fakt mul def /BnY Bn Yi i get mul fakt mul def %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB Yi i get mul def /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 4 eq {(C) show imshow} if xchart4 5 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 370 sub BnY 050 sub moveto xchart4 4 eq {(G) show imshow} if xchart4 5 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 050 sub BnY 150 add moveto xchart4 4 eq {(Y) show imshow} if xchart4 5 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 100 sub BnY 300 sub moveto xchart4 4 eq {(max) show} if xchart4 5 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 100 sub BnY 250 sub moveto xchart4 4 eq {(G) show ioshow} if xchart4 5 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /An XANCj j get YANCj j get 0.0001 add div %(a-an) XANK YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg def /AnY An YK Yi i get sub mul fakt mul def %(a-an)Y /BnY Bn YK Yi i get sub mul fakt mul def %(b-bn)Y %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB YK Yi i get sub mul def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 120 add BnY 050 sub moveto xchart4 4 eq {(R) show imshow} if xchart4 5 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 120 add BnY 050 sub moveto xchart4 4 eq {(M) show imshow} if xchart4 5 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 200 sub BnY 250 sub moveto xchart4 4 eq {(B) show imshow} if xchart4 5 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 100 sub BnY 150 add moveto xchart4 4 eq {(min) show} if xchart4 5 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin j 4 eq {AnY 100 sub BnY 150 add moveto xchart4 4 eq {(M) show ioshow} if xchart4 5 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 } if %xchart4=4,5 %************************************************************** xchart4 6 eq xchart4 7 eq or {%xchart4=6,7 %only for (A1,B1) /fakt 40 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param 3500 2100 translate %for text and grafic proz_axis_scales4_7 0 1 39 {/i exch def %i=0,39 /An XANi i get xc sub YANi i get 0.0001 add div def /Bn ZANi i get YANi i get 0.0001 add div 0.4 mul neg Bc mul def /AnK XANK xc sub YANK 0.0001 add div def /BnK ZANK YANK 0.0001 add div 0.4 mul neg Bc mul def /AnY An AnK sub Yi i get mul def /BnY Bn BnK sub Yi i get mul def AnY fakt mul BnY fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW xc sub YANW 0.0001 add div %(a-an)YW XANK xc sub YANK 0.0001 add div sub YW mul fakt mul ZANW YANW 0.0001 add div %(b-an)YW ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul YW mul fakt mul 90 0 360 arc stroke 0 080 add 0 080 add moveto TBS TELi xchartl get show %10 chromatic colours from continuous colours TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get xc sub YANCj j get 0.0001 add div %2.5(a-an)Y XANK xc sub YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul def /AnY An Yi i get mul fakt mul def /BnY Bn Yi i get mul fakt mul def %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB Yi i get mul def /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 6 eq {(C) show imshow} if xchart4 7 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 370 sub BnY 050 sub moveto xchart4 6 eq {(G) show imshow} if xchart4 7 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 050 sub BnY 150 add moveto xchart4 6 eq {(Y) show imshow} if xchart4 7 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 100 sub BnY 300 sub moveto xchart4 6 eq {(max) show} if xchart4 7 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 100 sub BnY 250 sub moveto xchart4 6 eq {(G) show ioshow} if xchart4 7 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /An XANCj j get xc sub YANCj j get 0.0001 add div %(a-an) XANK xc sub YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul def /AnY An YK Yi i get sub mul fakt mul def %(a-an)Y /BnY Bn YK Yi i get sub mul fakt mul def %(b-bn)Y %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB YK Yi i get sub mul def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 120 add BnY 050 sub moveto xchart4 6 eq {(R) show imshow} if xchart4 7 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 120 add BnY 050 sub moveto xchart4 6 eq {(M) show imshow} if xchart4 7 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 200 sub BnY 250 sub moveto xchart4 6 eq {(B) show imshow} if xchart4 7 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 100 sub BnY 150 add moveto xchart4 6 eq {(min) show} if xchart4 7 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin j 4 eq {AnY 100 sub BnY 150 add moveto xchart4 6 eq {(M) show ioshow} if xchart4 7 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 } if %xchart4=6,7 showpage grestore %} for %xchartl=0,7 } for %xchart4=0,7 } for %xcolorl=0,0 %%Trailer %line 239 %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add MM 064 STSl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 16 %!PS-Adobe-3.0 EPSF-3.0 egw70-6a env00-6n %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark06 where {pop} {userdict /pdfmark06 /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/egw7/egw7.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2022030112000) /ModDate (D:2022030112000) /DOCINFO pdfmark06 [ /View [ /Fit ] /DOCVIEW pdfmark06 %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 /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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def %********************************************************* /proz_param {%proz_param 4600 3800 moveto TBS (Parame\255) show 4600 3600 moveto TBS (ter:) show xchart4 2 eq xchart4 4 eq or xchart4 6 eq or {TBIS ( N) show} if xchart4 3 eq xchart4 5 eq or xchart4 7 eq or {TBIS ( Y) show xcolorl 1 eq {xcol10_BS} if} if /kx kxi xchartl get def /kxx 445 kx 5 mul add def 4150 300 moveto TBS (max: ) show kxx cvishow (_770) show 4150 080 moveto TBS (min: 380_) show kxx cvishow /index2_7 {%index2_7 xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {0 -50 rmoveto TBL (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if xchart4 4 eq xchart4 5 eq or {0 -50 rmoveto TBL () show 0 50 rmoveto xcolorl 1 eq {xcol10_BS} if } if xchart4 6 eq {0 -50 rmoveto TBL (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } bind def %index2_7 /index2_7n {%index2_7n xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {0 -50 rmoveto TBL (2,n) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if xchart4 4 eq xchart4 5 eq or {0 -50 rmoveto TBL (n) show 0 50 rmoveto xcolorl 1 eq {xcol10_BS} if } if xchart4 6 eq {0 -50 rmoveto TBL (1,n) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } bind def %index2_7n /x0p 50 def x0p 3800 moveto TBIS (XYZ) show 0 -50 rmoveto TBL (W) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if TBS (=) show XK cvsshow2 (, ) show YK cvsshow2 (, ) show ZK cvsshow2 x0p 3550 moveto TBIS (A) show index2_7 TBS ( = 2,5 \050) show TBIS (a) show index2_7 TBS ( - ) show TBIS (a) show index2_7n TBS (\051 ) show TBIS (Y) show xcolorl 1 eq {xcol10_BS} if x0p 3300 moveto TBIS (B) show index2_7 TBS ( = 2,5 ) show TBIS (B) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( \050) show TBIS (b) show index2_7 TBS ( - ) show TBIS (b) show index2_7n TBS (\051 ) show TBIS (Y) show xcolorl 1 eq {xcol10_BS} if x0p 3050 moveto TBIS (a) show index2_7 TBS ( = ) show TBIS (a) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( [) show TBIS (\050x) show xcolorl 1 eq {xcol10_BS} if TBS (-) show TBIS (x) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBIS (\051/y) show xcolorl 1 eq {xcol10_BS} if TBS (]) show x0p 2800 moveto TBIS (b) show index2_7 TBS ( = ) show TBIS (b) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( [) show TBIS (z) show xcolorl 1 eq {xcol10_BS} if TBIS (/y) show xcolorl 1 eq {xcol10_BS} if TBS (]) show x0p 2550 moveto TBIS (a) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( = 1, ) show TBIS (b) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( = -0,4) show x0p 2300 moveto TBIS (x) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( = ) show xct show (, ) show TBIS (B) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( = ) show Bct show x0p 2080 moveto TBIS (n) show TBS ( = ) show TELi xchartl get show x0p 1860 moveto TBIS (C) show TBL 0 -50 rmoveto (AB,) show 0 50 rmoveto index2_7 TBS (=[) show TBIS (A) show index2_7 TBL -20 100 rmoveto (2) show 0 -100 rmoveto TBS (+) show TBIS (B) show index2_7 TBL -20 100 rmoveto (2) show 0 -100 rmoveto TBS (]) show TBL 0 100 rmoveto (1/2) show 0 -100 rmoveto } bind def %proz_param %**************************************************************** /proz_opti {%proz_opti TBS 0 0 0 1 setcmyk_olvcolor /xchart12 xchart4 12 mul def xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBS (10 Optimalfarben (o)) showde %0egw71-7 02581 (10 optimal colours (o)) showen %1egw71-7 02581 (10 colores \363ptimos (o)) showes %2egw71-7 02581 (10 couleurs optimales (o)) showfr %3egw71-7 02581 (10 colori ottimi (o)) showit %4egw71-7 02581 (10 optimal colours (o)) showjp %5egw71-7 02581 TBIS (, Y) show TBL 0 -60 rmoveto (W) show 0 60 rmoveto xchartl 1 eq {xcol10KBS} if TBS K 0 eq {(=100) show}{(=90) show} ifelse TBIS (, Y) show TBL 0 -60 rmoveto (N) show 0 60 rmoveto xchartl 1 eq {xcol10KBS} if TBS K 0 eq {(=0) show}{(=3,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (8 von maximalem (m)) showde %0egw71-7 03581 (8 of maximum (m)) showen %1egw71-7 03581 (8 de m\341ximo (m)) showes %2egw71-7 03581 (8 de la maximum (m)) showfr %3egw71-7 03581 (8 di massimo (m)) showit %4egw71-7 03581 (8 of maximum (m)) showjp %5egw71-7 03581 TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto TBS ( f\374r ) showde %0egw71-7 03581 ( for ) showen %1egw71-7 03581 ( bajo ) showes %2egw71-7 03581 ( pour ) showfr %3egw71-7 03581 ( per ) showit %4egw71-7 03581 ( for ) showjp %5egw71-7 03581 TELi xchartl get show xtexti xchart12 2 add get ytexti xchart12 2 add get moveto xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 (in der Normfarbtafel) showde %0egw71-7 04581 (in the chromaticity diagram) showen %1egw71-7 04581 (en el diagrama de chromaticidad) showes %2egw71-7 04581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 04581 (nel diagramma di cromaticit\340) showit %4egw71-7 04581 (in the chromaticity diagram) showjp %5egw71-7 04581 TBIS ( (x, y)) show } if %xchart4=0,1 xchart4 2 eq xchart4 3 eq or {%xchart4=2,3 (im linearen Farbenraum ) showde %0egw71-7 06581 (in linear colour space ) showea %1egw71-7 06581 TBS (\050) show TBIS (C) show TBL 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if TBIS (, Y) show xcolorl 1 eq {xcol10_BS} if TBS (\051) show } if %xchart4=2,3 xchart4 4 eq xchart4 5 eq or {%xchart4=4,5 (in Buntwertdiagramm) showde %0egw71-7 08581 (in chromatic value diagram) showen %1egw71-7 08581 (en el diagrama valor crom\341tico) showes %2egw71-7 08581 (dans la valeur chromatique le diagramme) showfr %3egw71-7 08581 (nel diagramma di valore cromatico) showit %4egw71-7 08581 (in chromatic value diagram) showjp %5egw71-7 08581 TBIS ( (A, B)) show } if %xchart4=4,5 xchart4 6 eq {%xchart4=6 (in Buntwertdiagram) showde %0egw71-7 10581 (in chromatc value diagram) showen %1egw71-7 10581 (en el diagrama croma) showes %2egw71-7 10581 (dans le diagramme de chroma) showfr %3egw71-7 10581 (nel diagramma di chroma) showit %4egw71-7 10581 (in chromactic value diagram) showjp %5egw71-7 10581 TBIS ( \050A) show 0 -50 rmoveto TBL (1) show 0 50 rmoveto TBS (, ) show TBIS (B) show 0 -50 rmoveto TBL (1) show 0 50 rmoveto TBS (\051) show } if %xchart4=6 xchart4 7 eq {%xchart4=7 (in Buntwertdiagram) showde %0egw71-7 11581 (in chromatic value diagram) showen %1egw71-7 11581 (en el diagrama croma) showes %2egw71-7 11581 (dans le diagramme de chroma) showfr %3egw71-7 11581 (nel diagramma di chroma) showit %4egw71-7 11581 (in chroma diagram) showjp %5egw71-7 11581 TBIS ( \050A) show 0 -50 rmoveto TBL (2) show 0 50 rmoveto TBS (, ) show TBIS (B) show 0 -50 rmoveto TBL (2) show 0 50 rmoveto TBS (\051) show } if %xchart4=7 } bind def %proz_opti %**************************************************************************** /proz_name_range {%proz_name_range /xchart12 xchart4 12 mul def xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name & Spektralbereich) showde %0egw71-7 00581 (Name and spectral range) showen %1egw71-7 00581 (Nombre y gama espectral) showes %2egw71-7 00581 (Nom et la gamma spectrale) showfr %3egw71-7 00581 (Nome e la gamma spettrale) showit %4egw71-7 00581 (Name and spectral range) showjp %5egw71-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBE 0 get show TBL 0 -40 rmoveto FARBE 1 get show 0 40 rmoveto TBIS FARBE 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBE 3 get show TBL 0 -40 rmoveto FARBE 4 get show 0 40 rmoveto TBIS FARBE 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBE 6 get show TBL 0 -40 rmoveto FARBE 7 get show 0 40 rmoveto TBIS FARBE 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBE 9 get show TBL 0 -40 rmoveto FARBE 10 get show 0 40 rmoveto TBIS FARBE 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBE 12 get show TBL 0 -40 rmoveto FARBE 13 get show 0 40 rmoveto TBIS FARBE 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBE 15 get show TBL 0 -40 rmoveto FARBE 16 get show 0 40 rmoveto TBIS FARBE 17 get show xtexti xchart12 10 add get ytexti xchart12 10 add get moveto TBIS FARBE 18 get show TBL 0 -40 rmoveto FARBE 19 get show 0 40 rmoveto TBIS FARBE 20 get show xtexti xchart12 11 add get ytexti xchart12 11 add get moveto TBIS FARBE 21 get show TBL 0 -40 rmoveto FARBE 22 get show 0 40 rmoveto TBIS FARBE 23 get show } bind def %proz_name_range %**************************************************************** /proz_axis_scales4_7 {%proz_axis_scales4_7 %axis and scales 0 0 0 1 setcmyk_olvcolor -1000 0 moveto 2800 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1800 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [() ( -50) ( ) ( ) ( 100)] def /yt10x [(-100) ( ) ( ) ( ) (100)] def 0 0 0 1 setcmyk_olvcolor 1 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {-1600 i 800 mul add 0 moveto xchart4 4 eq { %xchart4=4 -100 200 rmoveto TBIK (A) show xcolorl 1 eq {xcol10_BS} if } if %xchart4=4 xchart4 5 eq { %xchart4=5 -100 200 rmoveto TBIK (A) show xcolorl 1 eq {xcol10_BS} if } if %xchart4=5 xchart4 6 eq { %xchart4=6 -200 200 rmoveto TBIK (A) show 00 -50 rmoveto TBS (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=6 xchart4 7 eq { %xchart4=7 -200 200 rmoveto TBIK (A) show 00 -50 rmoveto TBS (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=7 } if } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1650 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {0 -1650 i 800 mul add moveto xchart4 4 eq { %xchart4=4 100 150 rmoveto TBIK (B) show TM xcolorl 1 eq {xcol10_BS} if } if %xchart4=4 xchart4 5 eq { %xchart4=5 100 150 rmoveto TBIK (B) show xcolorl 1 eq {xcol10_BS} if 0 1150 add 1600 0200 add moveto } if %xchart4=5 xchart4 6 eq { %xchart4=6 100 150 rmoveto TBIK (B) show -40 -50 rmoveto TBS (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=6 xchart4 7 eq { %xchart4=7 100 150 rmoveto TBIK (B) show -40 -50 rmoveto TBS (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=7 } if } for %i=0,4 } bind def %proz_axis_scales4_7 %*********************************************************** /proz_chromaticity_lines {%BEG proz_chromaticity_lines /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /FXYZ 240 array def /XSi 82 array def /YSi 82 array def /ZSi 82 array def /XANSi 82 array def /YANSi 82 array def /ZANSi 82 array def /AANSi 82 array def %actual data for plot, purple colours /BANSi 82 array def 0 1 239 {/i exch def %i=0,239 FXYZ i xcolorl 0 eq {F2 i get put} {F10 i get put} ifelse } for %i=0,239 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM FXYZ 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 XSi i FXYZ 00 i add get YKSUM div 100 mul put YSi i FXYZ 80 i add get YKSUM div 100 mul put ZSi i FXYZ 160 i add get YKSUM div 100 mul put /SUM XSi i get YSi i get add ZSi i get add 0.0001 add def XANSi i XSi i get SUM div put YANSi i YSi i get SUM div put ZANSi i ZSi i get SUM div put AANSi i XANSi i get put BANSi i YANSi i get put } for %i=0,1,79 /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 00 i add get YKSUM div 100 mul put YZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 17 i add get YKSUM div 100 mul put ZZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 34 i add get YKSUM div 100 mul put /SUM XZi i get YZi i get add ZZi i get add 0.0001 add def XANZi i XZi i get SUM div put YANZi i YZi i get SUM div put ZANZi i ZZi i get SUM div put AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolorl 1 eq {TL 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolorl 1 eq {TL 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolorl 0 eq {(CIE 1931) show} if xcolorl 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANSi i get fakt mul BANSi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 1 000 000 ( ) %30 1 050 000 (535) %31 1 000 000 ( ) %32 M 1 000 000 ( ) %33 1 050 030 (550) %34 1 000 000 ( ) %35 1 050 030 (560) %36 1 000 000 ( ) %37 1 050 030 (570) %38 L 1 000 000 ( ) %39 1 050 030 (580) %40 1 050 050 ( ) %41 1 050 030 (590) %42 1 050 050 ( ) %43 1 050 030 (600) %44 0 000 000 ( ) %45 1 050 070 (610) %46 0 000 000 ( ) %47 1 050 050 (620) %48 0 000 000 ( ) %49 0 000 000 (630) %50 0 000 000 ( ) %51 1 050 030 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANSi i get fakt mul BANSi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANSi i get fakt mul BANSi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 /AnY475 AANSi 19 get fakt mul def /BnY475 BANSi 19 get fakt mul def /AnY573 AANSi 38 get 0.4 mul AANSi 39 get 0.6 mul add fakt mul def /BnY573 BANSi 38 get 0.4 mul BANSi 39 get 0.6 mul add fakt mul def TBIL 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANSi i get fakt mul xytshift i41 get add BANSi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIL 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 xtrans8 neg ytrans8 neg translate %for scala and grafic } bind def %END proz_chromaticity_lines %***************************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /TELi 8 array def /xchart8 1 def %0:Pxx, 1:Dxx xchart8 0 eq {%xchart8=0 Pxx /TELi [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. } if %xchart8=0 xchart8 1 eq {%xchart8=1 Dxx /TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. } if %xchart8=1 /SD65 82 array def %380 bis 775 mit deltalambda=05 /SD50 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SA00 82 array def %380 bis 775 mit deltalambda=05 /SE00 82 array def %380 bis 775 mit deltalambda=05 /SC00 82 array def %380 bis 775 mit deltalambda=05 /SP00 82 array def %380 bis 775 mit deltalambda=05 /SQ00 82 array def %380 bis 775 mit deltalambda=05 /SDAK 82 array def %380 bis 775 mit deltalambda=05 /RA 82 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 82 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 82 array def xchart8 1 eq {%xchart8=1 Dxx /TNC 4000 def %******************************************** 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } if %xchart8=1 Dxx %****************************************** xchart8 0 eq {%xchart8=0 Pxx %defined only for xchart8=0 Pxx /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def /SP60 82 array def %380 bis 775 mit deltalambda=05 /SP55 82 array def %380 bis 775 mit deltalambda=05 /SP50 82 array def %380 bis 775 mit deltalambda=05 /SP45 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SP35 82 array def %380 bis 775 mit deltalambda=05 /SP30 82 array def %380 bis 775 mit deltalambda=05 /SP25 82 array def %380 bis 775 mit deltalambda=05 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } if %xchart8=0 %************************************************* /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBE 30 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (G) (o) ( 520_570) %06 (M) (o) ( 570_520) %07 (W) (0) ( 380_770) %08 (N) (0) ( 380_770) %09 ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 720 array def %9x80 /RX0 [ %(%Rm 00 560_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0468 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Gm 02 475_575) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0468 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0468 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Cm 03 380_560) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0468 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Mm 05 575_475) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0468 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0468 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Mo 07 570_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%W0(r=0,900) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%N0(r=0,036) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 ] def /xcol10_BS {TBL 0 -50 rmoveto (10) show 0 50 rmoveto TBS} bind def /xcol10KBS {TBL 0 -50 rmoveto (,10) show 0 50 rmoveto TBS} bind def /xcolorl xcolor def 0 1 0 {/xcolorl exch def %xcolorl=0,0 xcolorl 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 } if /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 82 array def %FXN 0 = F2N imax /FYN 82 array def /FZN 82 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def 20 setlinewidth /xdel 1005 def /ydel 395 def /x0 050 def /x1 -150 def /Xi 82 array def %80 spectral colours 380 to 775nm /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XRj 10 array def %10 spectral or max 10 device colours /YRj 10 array def /ZRj 10 array def /XANRj 10 array def /YANRj 10 array def /ZANRj 10 array def /XSj 10 array def %10 spectral or max 10 device atagonistic colours /YSj 10 array def /ZSj 10 array def /XANSj 10 array def /YANSj 10 array def /ZANSj 10 array def /XCj 10 array def %10 spectral from continuous colours /YCj 10 array def /ZCj 10 array def /XANCj 10 array def /YANCj 10 array def /ZANCj 10 array def /XAj 10 array def %10 spectral from continuous colours /YAj 10 array def /ZAj 10 array def /XANAj 10 array def /YANAj 10 array def /ZANAj 10 array def /RAk 82 array def 0 1 0 {/xchart4 exch def %xchart4=0,7 /xchartl xchart def 3 1 3 {/xchartl exch def %xchartl=0,7 %/K 0 def %for normalization 1 /K 1 def %for normalization 0,900 gsave 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolorl cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow 4 /Times-ISOL1 FS 72 86 moveto (egw70-6a env00-6n, BEA01-4N.EPS) show 72 90 translate 0.010 MM dup scale 25 setlinewidth 0 0 0 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath clip 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for 8 illuminants Dxx or Pxx 0 1 79 {/i exch def %i=0,79 SDAK i xchart8 0 eq {%xchart8=0 Pxx xchartl 0 eq {SP60 i get put} if xchartl 1 eq {SP55 i get put} if xchartl 2 eq {SP50 i get put} if xchartl 3 eq {SP45 i get put} if xchartl 4 eq {SP40 i get put} if xchartl 5 eq {SP35 i get put} if xchartl 6 eq {SP30 i get put} if xchartl 7 eq {SP25 i get put} if }%xchart8=0 Pxx {%xchart8=1 Dxx xchartl 0 eq {SD65 i get put} if xchartl 1 eq {SD50 i get put} if xchartl 2 eq {SP40 i get put} if xchartl 3 eq {SA00 i get put} if xchartl 4 eq {SE00 i get put} if xchartl 5 eq {SC00 i get put} if xchartl 6 eq {SP00 i get put} if xchartl 7 eq {SQ00 i get put} if } ifelse %xchart8=1 Dxx } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def /AANW XW YW 0.0001 add div def /BANW ZW YW 0.0001 add div 0.4 mul neg def %************************************************ %XYZRj for 10 reflections 0 1 09 {/j exch def %j=0,9 %10 Reflections /jx j 80 mul def 0 1 79 {/i exch def %i=0,79 RAk i RX0 jx i add get 1000 div put } for %i=0,79 /XR 0 def /YR 0 def /ZR 0 def 0 1 079 {/i exch def %i=0,79 /XR XR F2N 00 i add get RAk i get mul add def /YR YR F2N 80 i add get RAk i get mul add def /ZR ZR F2N 160 i add get RAk i get mul add def } for %i=0,79 XRj j XR put YRj j YR put ZRj j ZR put /SUMR XR YR add ZR add def XANRj j XR SUMR 0.0001 add div put YANRj j YR SUMR 0.0001 add div put ZANRj j ZR SUMR 0.0001 add div put } for %j=0,9 %******************************************* 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* /WEL1 60 array def %irregular definition /WEL2 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0.036 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 0.900 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 0.900 put } for %i=0,i2 } ifelse %i1>i2 %correction (0.900+0.036)/2=0.648 i2 i1 ge {%i1i2 RA i1 0.468 put RA i2 0.468 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* 0 0 0 1 setcmyk_olvcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 Xi k X put Yi k Y put Zi k Z put XANi k XAN put YANi k YAN put ZANi k ZAN put }%Icom=0 {%Icom=1 /kP 20 k add def Xi kP XW X sub put Yi kP YW Y sub put Zi kP ZW Z sub put /SUMi Xi kP get Yi kP get add Zi kP get add def XANi kP Xi kP get SUMi 0.0001 add div put YANi kP Yi kP get SUMi 0.0001 add div put ZANi kP Zi kP get SUMi 0.0001 add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 Xi k Xi k get 0.9000 mul put Yi k Yi k get 0.9000 mul put Zi k Zi k get 0.9000 mul put Xi kP Xi kP get 0.9000 mul put Yi kP Yi kP get 0.9000 mul put Zi kP Zi kP get 0.9000 mul put } if %K=1 } for %k=0,19 %********************************************************************** %XW,YW,ZW and XK,YK,ZK for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.9000 mul def /YK YW 0.9000 mul def /ZK ZW 0.9000 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for D65, D50, P40, A00, E00 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /LP LP 1 add def /xtexti 96 array def /ytexti 96 array def /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1700 2000 2000 3000 3200 4300 3200 4300 3200 4300 3200 4300 %0 (x,y) 1700 2000 2000 3000 3200 4300 3200 4300 3200 4300 3200 4300 %1 (x,y) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %2 (A2,B2) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %3 (A2,B2) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %4 (A,B) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %5 (A,B) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %6 (A1,B1) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %7 (A2,B2) ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 (x,y) 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %1 (x,y) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 (A2,B2) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 (A2,B2) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 (A,B) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 (A,B) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 (A1,B1) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 (A2,B2) ] def xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 4600 1600 moveto TBS (Parame\255) show 4600 1400 moveto TBS (ter:) show TBIS xchart4 0 eq {( N) show} if xchart4 1 eq {( Y) show} if proz_chromaticity_lines } if %xchart4=0,1 %*********************************************************** /icolor 9 array def %Rm %Ym %Gm %Cm %Bm %Mm %Go %Mo %W /icolor [20 10 06 00 30 26 06 26 40] def /imshow {-20 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def %************************************************* %allways /kxi 8 array def /xci 8 array def /Bci 8 array def /xcti 8 array def /Bcti 8 array def % 0 1 2 3 4 5 6 7 % (P60)(P55)(P50)(P45)(P40)(P35)(P30)(P25) %or (D65)(D50)(P40)(A00)(E00)(C00)(P00)(Q00) /kxi [9 10 10 11 9 9 10 9] def /kx kxi xchartl get def xchart4 0 eq xchart4 1 eq or xchart4 4 eq or xchart4 5 eq or {%xchart4=0,1 (x,y); 4,5 (A, B) % (P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ] def /xcti [(0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000)] def /Bci [ 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 ] def /Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def } if %xchart4=1 xchart4 6 eq {%xchart4=6 (A1, B1) % (P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.110 0.110 0.110 0.110 0.110 0.110 0.110 0.110 ] def /xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def /Bci [ 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 ] def /Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def } if %xchart4=6 xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {%xchart4=2,3,7 % (P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.110 0.110 0.110 0.110 0.110 0.110 0.110 0.110 ] def /xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def /Bci [ 0.800 1.000 1.300 2.500 0.900 0.700 1.000 0.700 ] def /Bcti [(0,800) (1,000) (1,300) (2,500) (0,900) (0,700) (1,000) (0,700)] def } if %xchart4=2,3,7 /xc xci xchartl get def /xct xcti xchartl get def /Bc Bci xchartl get def /Bct Bcti xchartl get def xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 %only for (x,y) /fakt 4000 def proz_name_range proz_opti 600 400 translate %for scala and graphic 0 1 39 {/i exch def %i=0,39 /An XANi i get def /Bn YANi i get def An fakt mul Bn fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW fakt mul YANW fakt mul 90 0 360 arc stroke XANW fakt mul 500 sub YANW fakt mul 050 sub moveto TBS TELi xchartl get show TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {%new only for i=40 /i 40 def /k 6 def %Go Xi i XRj k get put Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get def /Bn YANCj j get def /AnY An fakt mul def %xan /BnY Bn fakt mul def %yan /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 400 sub BnY 050 sub moveto xchart4 0 eq {(C) show imshow} if xchart4 1 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 400 sub BnY 050 sub moveto xchart4 0 eq {(G) show imshow} if xchart4 1 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 100 sub BnY 250 sub moveto xchart4 0 eq {(Y) show imshow} if xchart4 1 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 450 sub BnY 050 sub moveto xchart4 0 eq {(max) show} if xchart4 1 eq {Paramshow} if 0.3 0 1 0 setcmykcolor /AnYmax AnY def /BnYmax BnY def } if %Ymax j 4 eq {AnY 370 sub BnY 000 add moveto xchart4 0 eq {(G) show ioshow} if xchart4 1 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 %continue j=0,4 for antagonistic (A) colours 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {%new only for i=40 /i 40 def /k 6 def %Mo Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add abs def XANAj j XK Xi i get sub SUM div put YANAj j YK Yi i get sub SUM div put ZANAj j ZK Zi i get sub SUM div put /An XANAj j get def /Bn YANAj j get def /AnY An fakt mul def %xan /BnY Bn fakt mul def %yan /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 000 add BnY 250 sub moveto xchart4 0 eq {(R) show imshow} if xchart4 1 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 050 sub BnY 270 sub moveto xchart4 0 eq {(M) show imshow} if xchart4 1 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 350 sub BnY 100 add moveto xchart4 0 eq {(B) show imshow} if xchart4 1 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 150 sub BnY 250 sub moveto xchart4 0 eq {(min) show} if xchart4 1 eq {Paramshow} if 0.7 1 0 0 setcmykcolor /AnYmin AnY def /BnYmin BnY def } if %Ymin j 4 eq {AnY 350 sub BnY 150 sub moveto xchart4 0 eq {(M) show ioshow} if xchart4 1 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 /mABY BnYmax BnYmin sub AnYmax AnYmin sub 0.0001 add div def /bABY BnYmax AnYmax mABY mul sub def /AnYx bABY neg mABY div def /BnYx 0 def 1 0 0 setrgbcolor AnYmax BnYmax moveto AnYx BnYx lineto stroke AnYx 000 sub BnYx 150 sub moveto TBL AnYx fakt div cvsshow2 %******************************************** 0 setgray /AnY1 1.00 fakt mul def /BnY1 0.0 def /AnYW XANW fakt mul def /BnYW YANW fakt mul def /mABY BnYW BnY1 sub AnYW AnY1 sub 0.0001 add div def /bABY BnYW AnYW mABY mul sub def /AnYx 0 def /BnYx bABY def 0 setgray [100] 0 setdash AnY1 BnY1 moveto AnYx BnYx lineto stroke %AnY475 BnY475 moveto AnY573 BnY573 lineto stroke [ ] 0 setdash -600 -400 translate %for scala and grafic } if %xchart4=0,1 %************************************************************** xchart4 2 eq xchart4 3 eq or {%xchart4=2,3 %only for (A2,B2) /fakt 20 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param newpath /xt2 3900 def /yt2 1200 def xt2 yt2 translate %red cylinder CAB=62 1 0 0 setrgbcolor [100] 0 setdash 062 fakt mul 100 fakt mul moveto 062 fakt mul 000 fakt mul lineto stroke -62 fakt mul 100 fakt mul moveto -62 fakt mul 000 fakt mul lineto stroke 060 fakt mul 102 fakt mul moveto (62) show -64 fakt mul 102 fakt mul moveto (-62) show [ ] 0 setdash 0 setgray %axis and scales 0 0 0 1 setcmyk_olvcolor -1200 0 moveto 2500 0 rlineto stroke 0 -400 moveto 0 3000 rlineto stroke 1300 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill -50 2600 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-50) ( ) ( 50)] def /yt10x [(0) ( ) (100)] def 0 0 0 1 setcmyk_olvcolor 0 1 2 {/i exch def %i=0,2 x-axis -1000 i 1000 mul add -75 moveto 0 150 rlineto stroke -1200 i 1000 mul add -300 moveto TBS xt10x i get show i 2 eq {-1000 i 1000 mul add 0 moveto -200 200 rmoveto TBIK (C) show 00 -50 rmoveto TBS (AB,2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } for %i=0,2 0 1 2 {/i exch def %i=0,2 y-axis -75 0000 i 1000 mul add moveto 150 0 rlineto stroke 0100 i 1000 mul 100 sub i 0 eq {100 sub} if moveto TBS yt10x i get show i 2 eq {0 0200 i 1000 mul add moveto 100 150 rmoveto TBIK (Y) show xcolorl 1 eq {xcol10KBS} if } if } for %i=0,2 newpath TBS 0 setgray 0 3.6 fakt mul 90 0 360 arc fill %N newpath 6 fakt mul 4 fakt mul moveto (3,6) show 2 fakt mul 52 fakt mul moveto (50) show 1 setgray 0 90.0 fakt mul 90 0 360 arc fill %W 0 setgray 0 90.0 fakt mul 90 0 360 arc stroke %W newpath 5 fakt mul 80 fakt mul moveto (90) show newpath 2 fakt mul 35 fakt mul moveto (46,8) show /Anj 10 array def /Bnj 10 array def /AnYj 10 array def /BnYj 10 array def /dABj 10 array def /CABj 10 array def /Yj 10 array def /Cfj 10 array def /Yfj 10 array def %10 chromatic colours from continuous colours TBIS 0 1 3 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put Anj j XANCj j get xc sub YANCj j get 0.0001 add div %2.5(a-an)Y XANK xc sub YANK 0.0001 add div sub put Bnj j ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul put Yj j Yi i get put AnYj j Anj j get Yi i get mul fakt mul put BnYj j Bnj j get Yi i get mul fakt mul put %dABj, CABj used later dABj j Anj j get dup mul Bnj j get dup mul add 0.0001 add sqrt put CABj j dABj j get Yi i get mul put % Cm Gm Ym Ymax Rm Mm Bm Bmin] /Vorp [-1 -1 1 1 1 1 -1 -1 ] def %only j=0,3 Cfj j CABj j get fakt mul Vorp j get mul 2.5 mul put Yfj j Yj j get fakt mul put /Cf Cfj j get def /Yf Yfj j get def /Paramshow {Yi i get cvishow} bind def j 0 eq {Cf 330 sub Yf 120 sub moveto xchart4 2 eq {(C) show imshow} if %j=0 xchart4 3 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {Cf 370 sub Yf 000 sub moveto xchart4 2 eq {(G) show imshow} if %j=1 xchart4 3 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {Cf 120 add Yf 50 sub moveto xchart4 2 eq {(Y) show imshow} if %j=2 xchart4 3 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {Cf 150 sub Yf 150 add moveto xchart4 2 eq {(max) show} if %j=3 xchart4 3 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax %j 4 eq {Cf 100 sub Yf 250 sub moveto % xchart4 2 eq {(G) show ioshow} if % xchart4 3 eq {Paramshow} if % 1 0.5 1 0 setcmykcolor} if %Go newpath Cf Yf 90 0 360 arc fill 0 setgray newpath Cf Yf 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /jp j 4 add def Anj jp XANCj j get xc sub YANCj j get 0.0001 add div %(a-an) XANK xc sub YANK 0.0001 add div sub put Bnj jp ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul put Yj jp YK Yi i get sub put AnYj jp Anj jp get YK Yi i get sub mul fakt mul put %(a-an)Y BnYj jp Bnj jp get YK Yi i get sub mul fakt mul put %(b-bn)Y %dABjp, CABjp used later dABj jp Anj jp get dup mul Bnj jp get dup mul add 0.0001 add sqrt put CABj jp dABj jp get YK Yi i get sub mul put %only j=0,3 Vorp 4..7 Cfj jp CABj jp get fakt mul Vorp jp get mul 2.5 mul put Yfj jp Yj jp get fakt mul put /Cf Cfj jp get def /Yf Yfj jp get def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {Cf 00 add Yf 150 add moveto xchart4 2 eq {(R) show imshow} if %j=4 xchart4 3 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {Cf 100 sub Yf 250 sub moveto xchart4 2 eq {(M) show imshow} if %j=5 xchart4 3 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {Cf 350 sub Yf 50 sub moveto xchart4 2 eq {(B) show imshow} if %j=6 xchart4 3 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {Cf 150 sub Yf 230 sub moveto xchart4 2 eq {(min) show} if %j=7 xchart4 3 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin %j 4 eq {Cf 100 sub Yf 150 add moveto % xchart4 2 eq {(M) show ioshow} if % xchart4 3 eq {Paramshow} if % 0 0.5 0 0 setcmykcolor} if %Mo newpath Cf Yf 90 0 360 arc fill 0 setgray newpath Cf Yf 90 0 360 arc stroke } for %j=0,3 0 setgray %0 90 fakt mul moveto %50 fakt mul 45 fakt mul lineto stroke /Cf1 Cfj 3 get def /Yf1 Yfj 3 get def 0 90 fakt mul moveto Cf1 Yf1 lineto 0 3.6 fakt mul lineto stroke /Cf2 Cfj 7 get def /Yf2 Yfj 7 get def 0 90 fakt mul moveto Cf2 Yf2 lineto 0 3.6 fakt mul lineto stroke [100] 0 setdash Cfj 0 get Yfj 0 get moveto Cfj 4 get Yfj 4 get lineto stroke Cfj 1 get Yfj 1 get moveto Cfj 5 get Yfj 5 get lineto stroke Cfj 2 get Yfj 2 get moveto Cfj 6 get Yfj 6 get lineto stroke Cfj 3 get Yfj 3 get moveto Cfj 7 get Yfj 7 get lineto stroke %Cf1 Yf1 moveto Cf2 Yf2 lineto stroke xt2 neg yt2 neg translate } if %xchart4=2,3 %******************************************************* xchart4 4 eq xchart4 5 eq or {%xchart4=4,5 %only for (A,B) /fakt 40 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param 3500 2100 translate %for text and grafic proz_axis_scales4_7 0 1 39 {/i exch def %i=0,39 /An XANi i get YANi i get 0.0001 add div def /Bn ZANi i get YANi i get 0.0001 add div 0.4 mul neg def /AnK XK YK 0.0001 add div def /BnK ZK YK 0.0001 add div 0.4 mul neg def /AnY An AnK sub Yi i get mul def /BnY Bn BnK sub Yi i get mul def AnY fakt mul BnY fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW YANW 0.0001 add div %(a-an)YW XANK YANK 0.0001 add div sub YW mul fakt mul ZANW YANW 0.0001 add div %(b-an)YW ZANK YANK 0.0001 add div sub 0.4 mul neg YW mul fakt mul 90 0 360 arc stroke 0 080 add 0 080 add moveto TBS TELi xchartl get show %10 chromatic colours from continuous colours TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get YANCj j get 0.0001 add div %2.5(a-an)Y XANK YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg def /AnY An Yi i get mul fakt mul def /BnY Bn Yi i get mul fakt mul def %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB Yi i get mul def /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 4 eq {(C) show imshow} if xchart4 5 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 370 sub BnY 050 sub moveto xchart4 4 eq {(G) show imshow} if xchart4 5 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 050 sub BnY 150 add moveto xchart4 4 eq {(Y) show imshow} if xchart4 5 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 100 sub BnY 300 sub moveto xchart4 4 eq {(max) show} if xchart4 5 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 100 sub BnY 250 sub moveto xchart4 4 eq {(G) show ioshow} if xchart4 5 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /An XANCj j get YANCj j get 0.0001 add div %(a-an) XANK YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg def /AnY An YK Yi i get sub mul fakt mul def %(a-an)Y /BnY Bn YK Yi i get sub mul fakt mul def %(b-bn)Y %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB YK Yi i get sub mul def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 120 add BnY 050 sub moveto xchart4 4 eq {(R) show imshow} if xchart4 5 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 120 add BnY 050 sub moveto xchart4 4 eq {(M) show imshow} if xchart4 5 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 200 sub BnY 250 sub moveto xchart4 4 eq {(B) show imshow} if xchart4 5 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 100 sub BnY 150 add moveto xchart4 4 eq {(min) show} if xchart4 5 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin j 4 eq {AnY 100 sub BnY 150 add moveto xchart4 4 eq {(M) show ioshow} if xchart4 5 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 } if %xchart4=4,5 %************************************************************** xchart4 6 eq xchart4 7 eq or {%xchart4=6,7 %only for (A1,B1) /fakt 40 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param 3500 2100 translate %for text and grafic proz_axis_scales4_7 0 1 39 {/i exch def %i=0,39 /An XANi i get xc sub YANi i get 0.0001 add div def /Bn ZANi i get YANi i get 0.0001 add div 0.4 mul neg Bc mul def /AnK XANK xc sub YANK 0.0001 add div def /BnK ZANK YANK 0.0001 add div 0.4 mul neg Bc mul def /AnY An AnK sub Yi i get mul def /BnY Bn BnK sub Yi i get mul def AnY fakt mul BnY fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW xc sub YANW 0.0001 add div %(a-an)YW XANK xc sub YANK 0.0001 add div sub YW mul fakt mul ZANW YANW 0.0001 add div %(b-an)YW ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul YW mul fakt mul 90 0 360 arc stroke 0 080 add 0 080 add moveto TBS TELi xchartl get show %10 chromatic colours from continuous colours TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 6 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get xc sub YANCj j get 0.0001 add div %2.5(a-an)Y XANK xc sub YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul def /AnY An Yi i get mul fakt mul def /BnY Bn Yi i get mul fakt mul def %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB Yi i get mul def /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 6 eq {(C) show imshow} if xchart4 7 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 370 sub BnY 050 sub moveto xchart4 6 eq {(G) show imshow} if xchart4 7 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 050 sub BnY 150 add moveto xchart4 6 eq {(Y) show imshow} if xchart4 7 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 100 sub BnY 300 sub moveto xchart4 6 eq {(max) show} if xchart4 7 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 100 sub BnY 250 sub moveto xchart4 6 eq {(G) show ioshow} if xchart4 7 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /An XANCj j get xc sub YANCj j get 0.0001 add div %(a-an) XANK xc sub YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul def /AnY An YK Yi i get sub mul fakt mul def %(a-an)Y /BnY Bn YK Yi i get sub mul fakt mul def %(b-bn)Y %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB YK Yi i get sub mul def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 120 add BnY 050 sub moveto xchart4 6 eq {(R) show imshow} if xchart4 7 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 120 add BnY 050 sub moveto xchart4 6 eq {(M) show imshow} if xchart4 7 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 200 sub BnY 250 sub moveto xchart4 6 eq {(B) show imshow} if xchart4 7 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 100 sub BnY 150 add moveto xchart4 6 eq {(min) show} if xchart4 7 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin j 4 eq {AnY 100 sub BnY 150 add moveto xchart4 6 eq {(M) show ioshow} if xchart4 7 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 } if %xchart4=6,7 showpage grestore } for %xchartl=0,7 } for %xchart4=0,7 } for %xcolorl=0,0 %%Trailer %line 249 %%EndDocument EndEPSF grestore gsave BeginEPSF /xc1 16 def /yc1 12 def /xt 1 def xchart 1 eq {/xt 1 def} if 28 SHSl sub MM 020 STAl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %!PS-Adobe-3.0 EPSF-3.0 egw70-7a ent40-2n %%BoundingBox: 70 83 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: http://farbe.li.tu-berlin.de/egw7/egw7.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:2023070112000) /ModDate (D:20230701112000) /DOCINFO pdfmark07 [ /View [ /FitB ] /DOCVIEW pdfmark07 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def %********************************************************* /proz_param {%proz_param 4600 3800 moveto TBS (Parame\255) show 4600 3600 moveto TBS (ter:) show xchart4 2 eq xchart4 4 eq or xchart4 6 eq or {TBIS ( N) show} if xchart4 3 eq xchart4 5 eq or xchart4 7 eq or {TBIS ( Y) show xcolorl 1 eq {xcol10_BS} if} if /kx kxi xchartl get def /kxx 445 kx 5 mul add def 4150 300 moveto TBS (max: ) show kxx cvishow (_770) show 4150 080 moveto TBS (min: 380_) show kxx cvishow /index2_7 {%index2_7 xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {0 -50 rmoveto TBL (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if xchart4 4 eq xchart4 5 eq or {0 -50 rmoveto TBL () show 0 50 rmoveto xcolorl 1 eq {xcol10_BS} if } if xchart4 6 eq {0 -50 rmoveto TBL (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } bind def %index2_7 /index2_7n {%index2_7n xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {0 -50 rmoveto TBL (2,n) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if xchart4 4 eq xchart4 5 eq or {0 -50 rmoveto TBL (n) show 0 50 rmoveto xcolorl 1 eq {xcol10_BS} if } if xchart4 6 eq {0 -50 rmoveto TBL (1,n) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } bind def %index2_7n /x0p 50 def x0p 3800 moveto TBIS (XYZ) show 0 -50 rmoveto TBL (W) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if TBS (=) show XK cvsshow2 (, ) show YK cvsshow2 (, ) show ZK cvsshow2 x0p 3550 moveto TBIS (A) show index2_7 TBS ( = 2,5 \050) show TBIS (a) show index2_7 TBS ( - ) show TBIS (a) show index2_7n TBS (\051 ) show TBIS (Y) show xcolorl 1 eq {xcol10_BS} if x0p 3300 moveto TBIS (B) show index2_7 TBS ( = 2,5 ) show tfr TBIS (B) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto tfn TBS ( \050) show TBIS (b) show index2_7 TBS ( - ) show TBIS (b) show index2_7n TBS (\051 ) show TBIS (Y) show xcolorl 1 eq {xcol10_BS} if x0p 3050 moveto TBIS (a) show index2_7 TBS ( = ) show TBIS (a) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( [) show TBIS (\050x) show xcolorl 1 eq {xcol10_BS} if TBS (-) show TBIS (x) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBIS (\051/y) show xcolorl 1 eq {xcol10_BS} if TBS (]) show x0p 2800 moveto TBIS (b) show index2_7 TBS ( = ) show TBIS (b) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( [) show TBIS (z) show xcolorl 1 eq {xcol10_BS} if TBIS (/y) show xcolorl 1 eq {xcol10_BS} if TBS (]) show x0p 2550 moveto TBIS (a) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( = 1, ) show TBIS (b) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( = -0,4) show x0p 2300 moveto TBIS (x) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( = ) show xct show (, ) show tfr TBIS (B) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( = ) show Bct show tfn /SUMK XK YK add ZK add 0.0001 add def x0p 2080 moveto TBIS (n) show TBS ( = ) show TELi xchartl get show (, ) show TBIS (xy) show 0 -50 rmoveto TBL (W) show 0 50 rmoveto TBS (=) show XK SUMK div cvsshow3 (, ) show YK SUMK div cvsshow3 x0p 1820 moveto TBIS (C) show TBL 0 -50 rmoveto (AB,) show 0 50 rmoveto index2_7 TBS (=[) show TBIS (A) show index2_7 TBL -20 80 rmoveto (2) show 0 -80 rmoveto TBS (+) show TBIS (B) show index2_7 TBL -20 80 rmoveto (2) show 0 -80 rmoveto TBS (]) show TBL 0 80 rmoveto (1/2) show 0 -80 rmoveto } bind def %proz_param %**************************************************************** /proz_opti {%proz_opti TBS 0 0 0 1 setcmyk_olvcolor /xchart12 xchart4 12 mul def xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBS (10 Optimalfarben (o)) showde %0egw71-7 02581 (10 optimal colours (o)) showen %1egw71-7 02581 (10 colores \363ptimos (o)) showes %2egw71-7 02581 (10 couleurs optimales (o)) showfr %3egw71-7 02581 (10 colori ottimi (o)) showit %4egw71-7 02581 (10 optimal colours (o)) showjp %5egw71-7 02581 TBIS (, Y) show TBL 0 -60 rmoveto (W) show 0 60 rmoveto xchartl 1 eq {xcol10KBS} if TBS KN 0 eq {(=100) show} {(=90) show} ifelse TBIS (, Y) show TBL 0 -60 rmoveto (N) show 0 60 rmoveto xchartl 1 eq {xcol10KBS} if TBS KN 0 eq {(=0) show} {(=3,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (8 von maximalem (m)) showde %0egw71-7 03581 (8 of maximum (m)) showen %1egw71-7 03581 (8 de m\341ximo (m)) showes %2egw71-7 03581 (8 de la maximum (m)) showfr %3egw71-7 03581 (8 di massimo (m)) showit %4egw71-7 03581 (8 of maximum (m)) showjp %5egw71-7 03581 TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto TBS ( f\374r ) showde %0egw71-7 03581 ( for ) showen %1egw71-7 03581 ( bajo ) showes %2egw71-7 03581 ( pour ) showfr %3egw71-7 03581 ( per ) showit %4egw71-7 03581 ( for ) showjp %5egw71-7 03581 TELi xchartl get show xtexti xchart12 2 add get ytexti xchart12 2 add get moveto xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 (in der Normfarbtafel) showde %0egw71-7 04581 (in the chromaticity diagram) showen %1egw71-7 04581 (en el diagrama de chromaticidad) showes %2egw71-7 04581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 04581 (nel diagramma di cromaticit\340) showit %4egw71-7 04581 (in the chromaticity diagram) showjp %5egw71-7 04581 TBIS ( (x, y)) show } if %xchart4=0,1 xchart4 2 eq xchart4 3 eq or {%xchart4=2,3 (im linearen Farbenraum ) showde %0egw71-7 06581 (in linear colour space ) showea %1egw71-7 06581 TBS (\050) show TBIS (C) show TBL 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if TBIS (, Y) show xcolorl 1 eq {xcol10_BS} if TBS (\051) show } if %xchart4=2,3 xchart4 4 eq xchart4 5 eq or {%xchart4=4,5 (in Buntwertdiagramm) showde %0egw71-7 08581 (in chromatic value diagram) showen %1egw71-7 08581 (en el diagrama valor crom\341tico) showes %2egw71-7 08581 (dans la valeur chromatique le diagramme) showfr %3egw71-7 08581 (nel diagramma di valore cromatico) showit %4egw71-7 08581 (in chromatic value diagram) showjp %5egw71-7 08581 TBIS ( (A, B)) show } if %xchart4=4,5 xchart4 6 eq {%xchart4=6 (in Buntwertdiagram) showde %0egw71-7 10581 (in chromatc value diagram) showen %1egw71-7 10581 (en el diagrama croma) showes %2egw71-7 10581 (dans le diagramme de chroma) showfr %3egw71-7 10581 (nel diagramma di chroma) showit %4egw71-7 10581 (in chromactic value diagram) showjp %5egw71-7 10581 TBIS ( \050A) show 0 -50 rmoveto TBL (1) show 0 50 rmoveto TBS (, ) show TBIS (B) show 0 -50 rmoveto TBL (1) show 0 50 rmoveto TBS (\051) show } if %xchart4=6 xchart4 7 eq {%xchart4=7 (in Buntwertdiagram) showde %0egw71-7 11581 (in chromatic value diagram) showen %1egw71-7 11581 (en el diagrama croma) showes %2egw71-7 11581 (dans le diagramme de chroma) showfr %3egw71-7 11581 (nel diagramma di chroma) showit %4egw71-7 11581 (in chroma diagram) showjp %5egw71-7 11581 TBIS ( \050A) show 0 -50 rmoveto TBL (2) show 0 50 rmoveto TBS (, ) show TBIS (B) show 0 -50 rmoveto TBL (2) show 0 50 rmoveto TBS (\051) show } if %xchart4=7 } bind def %proz_opti %**************************************************************************** /proz_name_range {%proz_name_range /xchart12 xchart4 12 mul def xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name & Spektralbereich) showde %0egw71-7 00581 (Name and spectral range) showen %1egw71-7 00581 (Nombre y gama espectral) showes %2egw71-7 00581 (Nom et la gamma spectrale) showfr %3egw71-7 00581 (Nome e la gamma spettrale) showit %4egw71-7 00581 (Name and spectral range) showjp %5egw71-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBE 0 get show TBL 0 -40 rmoveto FARBE 1 get show 0 40 rmoveto TBIS FARBE 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBE 3 get show TBL 0 -40 rmoveto FARBE 4 get show 0 40 rmoveto TBIS FARBE 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBE 6 get show TBL 0 -40 rmoveto FARBE 7 get show 0 40 rmoveto TBIS FARBE 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBE 9 get show TBL 0 -40 rmoveto FARBE 10 get show 0 40 rmoveto TBIS FARBE 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBE 12 get show TBL 0 -40 rmoveto FARBE 13 get show 0 40 rmoveto TBIS FARBE 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBE 15 get show TBL 0 -40 rmoveto FARBE 16 get show 0 40 rmoveto TBIS FARBE 17 get show xtexti xchart12 10 add get ytexti xchart12 10 add get moveto TBIS FARBE 18 get show TBL 0 -40 rmoveto FARBE 19 get show 0 40 rmoveto TBIS FARBE 20 get show xtexti xchart12 11 add get ytexti xchart12 11 add get moveto TBIS FARBE 21 get show TBL 0 -40 rmoveto FARBE 22 get show 0 40 rmoveto TBIS FARBE 23 get show } bind def %proz_name_range %**************************************************************** /proz_axis_scales4_7 {%proz_axis_scales4_7 %axis and scales 0 0 0 1 setcmyk_olvcolor -1000 0 moveto 2800 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1800 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [() ( -50) ( ) ( ) ( 100)] def /yt10x [(-100) ( ) ( ) ( ) (100)] def 0 0 0 1 setcmyk_olvcolor 1 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {-1600 i 800 mul add 0 moveto xchart4 4 eq { %xchart4=4 -100 200 rmoveto TBIK (A) show xcolorl 1 eq {xcol10_BS} if } if %xchart4=4 xchart4 5 eq { %xchart4=5 -100 200 rmoveto TBIK (A) show xcolorl 1 eq {xcol10_BS} if } if %xchart4=5 xchart4 6 eq { %xchart4=6 -200 200 rmoveto TBIK (A) show 00 -50 rmoveto TBS (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=6 xchart4 7 eq { %xchart4=7 -200 200 rmoveto TBIK (A) show 00 -50 rmoveto TBS (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=7 } if } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1650 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {0 -1650 i 800 mul add moveto xchart4 4 eq { %xchart4=4 100 150 rmoveto TBIK (B) show TM xcolorl 1 eq {xcol10_BS} if } if %xchart4=4 xchart4 5 eq { %xchart4=5 100 150 rmoveto TBIK (B) show xcolorl 1 eq {xcol10_BS} if 0 1150 add 1600 0200 add moveto } if %xchart4=5 xchart4 6 eq { %xchart4=6 100 150 rmoveto TBIK (B) show -20 -50 rmoveto TBS (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=6 xchart4 7 eq { %xchart4=7 100 150 rmoveto TBIK (B) show -20 -50 rmoveto TBS (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=7 } if } for %i=0,4 } bind def %proz_axis_scales4_7 %*********************************************************** /proz_chromaticity_lines {%BEG proz_chromaticity_lines /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /FXYZ 240 array def /XSi 82 array def /YSi 82 array def /ZSi 82 array def /XANSi 82 array def /YANSi 82 array def /ZANSi 82 array def /AANSi 82 array def %actual data for plot, purple colours /BANSi 82 array def 0 1 239 {/i exch def %i=0,239 FXYZ i xcolorl 0 eq {F2 i get put} {F10 i get put} ifelse } for %i=0,239 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM FXYZ 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 XSi i FXYZ 00 i add get YKSUM div 100 mul put YSi i FXYZ 80 i add get YKSUM div 100 mul put ZSi i FXYZ 160 i add get YKSUM div 100 mul put /SUM XSi i get YSi i get add ZSi i get add 0.0001 add def XANSi i XSi i get SUM div put YANSi i YSi i get SUM div put ZANSi i ZSi i get SUM div put AANSi i XANSi i get put BANSi i YANSi i get put } for %i=0,1,79 /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 00 i add get YKSUM div 100 mul put YZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 17 i add get YKSUM div 100 mul put ZZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 34 i add get YKSUM div 100 mul put /SUM XZi i get YZi i get add ZZi i get add 0.0001 add def XANZi i XZi i get SUM div put YANZi i YZi i get SUM div put ZANZi i ZZi i get SUM div put AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolorl 1 eq {TL 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolorl 1 eq {TL 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolorl 0 eq {(CIE 1931) show} if xcolorl 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANSi i get fakt mul BANSi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 1 000 000 ( ) %30 1 050 000 (535) %31 1 000 000 ( ) %32 M 1 000 000 ( ) %33 1 050 030 (550) %34 1 000 000 ( ) %35 1 050 030 (560) %36 1 000 000 ( ) %37 1 050 030 (570) %38 L 1 000 000 ( ) %39 1 050 030 (580) %40 1 050 050 ( ) %41 1 050 030 (590) %42 1 050 050 ( ) %43 1 050 030 (600) %44 0 000 000 ( ) %45 1 050 070 (610) %46 0 000 000 ( ) %47 1 050 050 (620) %48 0 000 000 ( ) %49 0 000 000 (630) %50 0 000 000 ( ) %51 1 050 030 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANSi i get fakt mul BANSi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANSi i get fakt mul BANSi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIL 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANSi i get fakt mul xytshift i41 get add BANSi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIL 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 xtrans8 neg ytrans8 neg translate %for scala and grafic } bind def %END proz_chromaticity_lines %***************************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /TELi 8 array def /xchart8 1 def %0:Pxx, 1:Dxx default xchart8 0 eq {%xchart8=0 Pxx /TELi [(P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30)] def %8 illumin. } if %xchart8=0 xchart8 1 eq {%xchart8=1 Dxx /TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %8 illumin. } if %xchart8=1 /SD65 82 array def %380 bis 775 mit deltalambda=05 /SD50 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SA00 82 array def %380 bis 775 mit deltalambda=05 /SE00 82 array def %380 bis 775 mit deltalambda=05 /SC00 82 array def %380 bis 775 mit deltalambda=05 /SP00 82 array def %380 bis 775 mit deltalambda=05 /SQ00 82 array def %380 bis 775 mit deltalambda=05 /SDAK 82 array def %380 bis 775 mit deltalambda=05 /RA 82 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 82 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 82 array def xchart8 1 eq {%xchart8=1 Dxx /TNC 4000 def %******************************************** 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } if %xchart8=1 Dxx %****************************************** xchart8 0 eq {%xchart8=0 Pxx %defined only for xchart8=0 Pxx /TNCj 8 array def /TNCj [6500 6000 5500 5000 4500 4000 3500 3000] def /SP65 82 array def %380 bis 775 mit deltalambda=05 /SP60 82 array def %380 bis 775 mit deltalambda=05 /SP55 82 array def %380 bis 775 mit deltalambda=05 /SP50 82 array def %380 bis 775 mit deltalambda=05 /SP45 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SP35 82 array def %380 bis 775 mit deltalambda=05 /SP30 82 array def %380 bis 775 mit deltalambda=05 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP65 i} if j 1 eq {SP60 i} if j 2 eq {SP55 i} if j 3 eq {SP50 i} if j 4 eq {SP45 i} if j 5 eq {SP40 i} if j 6 eq {SP35 i} if j 7 eq {SP30 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } if %xchart8=0 %************************************************* /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBE 30 array def /FARBE [(R) (m) ( 570_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_570) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (M) (o) ( 570_520) %07 (W) (0) ( 380_770) %08 (N) (0) ( 380_770) %09 ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 720 array def %9x80 /RX0 [ %(%Rm 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Mo 07 570_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%W0(r=0,900) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%N0(r=0,036) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 ] def /xcol10_BS {TBL 0 -50 rmoveto (10) show 0 50 rmoveto TBS} bind def /xcol10KBS {TBL 0 -50 rmoveto (,10) show 0 50 rmoveto TBS} bind def /xcolorl xcolor def 0 1 0 {/xcolorl exch def %xcolorl=0,0 xcolorl 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 } if /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 82 array def %FXN 0 = F2N imax /FYN 82 array def /FZN 82 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def 20 setlinewidth /xdel 1005 def /ydel 395 def /x0 050 def /x1 -150 def /Xi 82 array def %80 spectral colours 380 to 775nm /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XRj 10 array def %10 spectral or max 10 device colours /YRj 10 array def /ZRj 10 array def /XANRj 10 array def /YANRj 10 array def /ZANRj 10 array def /XSj 10 array def %10 spectral or max 10 device atagonistic colours /YSj 10 array def /ZSj 10 array def /XANSj 10 array def /YANSj 10 array def /ZANSj 10 array def /XCj 10 array def %10 spectral from continuous colours /YCj 10 array def /ZCj 10 array def /XANCj 10 array def /YANCj 10 array def /ZANCj 10 array def /XAj 10 array def %10 spectral from continuous colours /YAj 10 array def /ZAj 10 array def /XANAj 10 array def /YANAj 10 array def /ZANAj 10 array def /RAk 82 array def 7 1 7 {/xchart4 exch def %xchart4=0,7 /xchartl xchart def 0 1 0 {/xchartl exch def %xchartl=0,7 %/KN 0 def %for normalization 1,000 /KN 1 def %for normalization 0,900 gsave 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolorl cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow /tfr {1 0 0 setrgbcolor} def /tfn {0 setgray} def /tfw {1 setgray} def 5 /Times-ISOL1 FS 72 85 moveto (egw70-7a ent40-2n) show 72 90 translate 0.010 MM dup scale 25 setlinewidth 0 0 0 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath clip 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for 8 illuminants Dxx or Pxx 0 1 79 {/i exch def %i=0,79 SDAK i xchart8 0 eq {%xchart8=0 Pxx xchartl 0 eq {SP65 i get put} if xchartl 1 eq {SP60 i get put} if xchartl 2 eq {SP55 i get put} if xchartl 3 eq {SP50 i get put} if xchartl 4 eq {SP45 i get put} if xchartl 5 eq {SP40 i get put} if xchartl 6 eq {SP35 i get put} if xchartl 7 eq {SP30 i get put} if }%xchart8=0 Pxx {%xchart8=1 Dxx xchartl 0 eq {SD65 i get put} if xchartl 1 eq {SD50 i get put} if xchartl 2 eq {SP40 i get put} if xchartl 3 eq {SA00 i get put} if xchartl 4 eq {SE00 i get put} if xchartl 5 eq {SC00 i get put} if xchartl 6 eq {SP00 i get put} if xchartl 7 eq {SQ00 i get put} if } ifelse %xchart8=1 Dxx } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def /AANW XW YW 0.0001 add div def /BANW ZW YW 0.0001 add div 0.4 mul neg def %************************************************ %XYZRj for 10 reflections 0 1 09 {/j exch def %j=0,9 %10 Reflections /jx j 80 mul def 0 1 79 {/i exch def %i=0,79 RAk i RX0 jx i add get 1000 div put } for %i=0,79 /XR 0 def /YR 0 def /ZR 0 def 0 1 079 {/i exch def %i=0,79 /XR XR F2N 00 i add get RAk i get mul add def /YR YR F2N 80 i add get RAk i get mul add def /ZR ZR F2N 160 i add get RAk i get mul add def } for %i=0,79 XRj j XR put YRj j YR put ZRj j ZR put /SUMR XR YR add ZR add def XANRj j XR SUMR 0.0001 add div put YANRj j YR SUMR 0.0001 add div put ZANRj j ZR SUMR 0.0001 add div put } for %j=0,9 %******************************************* 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* /WEL1 60 array def %irregular definition /WEL2 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0.036 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 0.900 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 0.900 put } for %i=0,i2 } ifelse %i1>i2 %correction (0.900+0.036)/2=0.648 i2 i1 ge {%i1i2 RA i1 0.468 put RA i2 0.468 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* 0 0 0 1 setcmyk_olvcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 Xi k X put Yi k Y put Zi k Z put XANi k XAN put YANi k YAN put ZANi k ZAN put }%Icom=0 {%Icom=1 /kP 20 k add def Xi kP XW X sub put Yi kP YW Y sub put Zi kP ZW Z sub put /SUMi Xi kP get Yi kP get add Zi kP get add def XANi kP Xi kP get SUMi 0.0001 add div put YANi kP Yi kP get SUMi 0.0001 add div put ZANi kP Zi kP get SUMi 0.0001 add div put } ifelse %Icom=1 } for %Icom=0,1 KN 1 eq {%KN=1 change instead of normalization 1,000 Xi k Xi k get 0.9000 mul put Yi k Yi k get 0.9000 mul put Zi k Zi k get 0.9000 mul put Xi kP Xi kP get 0.9000 mul put Yi kP Yi kP get 0.9000 mul put Zi kP Zi kP get 0.9000 mul put } if %KN=1 } for %k=0,19 %********************************************************************** %XW,YW,ZW and XK,YK,ZK for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 KN 0 eq {%KN=0 %normalization /XK XW def /YK YW def /ZK ZW def }%KN=0 {%KN=1 /XK XW 0.9000 mul def /YK YW 0.9000 mul def /ZK ZW 0.9000 mul def } ifelse %KN=1 /SUMK XK YK add ZK add def %for D65, D50, P40, A00, E00 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /LP LP 1 add def /xtexti 96 array def /ytexti 96 array def /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1700 2000 2000 3000 3200 4300 3200 4300 3200 4300 3200 4300 %0 (x,y) 1700 2000 2000 3000 3200 4300 3200 4300 3200 4300 3200 4300 %1 (x,y) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %2 (A2,B2) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %3 (A2,B2) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %4 (A,B) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %5 (A,B) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %6 (A1,B1) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %7 (A2,B2) ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 (x,y) 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %1 (x,y) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 (A2,B2) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 (A2,B2) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 (A,B) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 (A,B) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 (A1,B1) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 (A2,B2) ] def xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 4600 1600 moveto TBS (Parame\255) show 4600 1400 moveto TBS (ter:) show TBIS xchart4 0 eq {( N) show} if xchart4 1 eq {( Y) show} if proz_chromaticity_lines } if %xchart4=0,1 %*********************************************************** /icolor 9 array def %Rm %Ym %Gm %Cm %Bm %Mm %Go %Mo %W /icolor [20 10 06 00 30 26 06 26 40] def /imshow {-20 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def %************************************************* %allways /kxi 8 array def /xci 8 array def /Bci 8 array def /xcti 8 array def /Bcti 8 array def % 0 1 2 3 4 5 6 7 % (P65)(P60)(P55)(P50)(P45)(P40)(P35)(P30) %or (D65)(D50)(P40)(A00)(E00)(C00)(P00)(Q00) /kxi [9 10 10 11 9 9 10 9] def /kx kxi xchartl get def xchart4 0 eq xchart4 1 eq or xchart4 4 eq or xchart4 5 eq or {%xchart4=0,1 (x,y); 4,5 (A, B) % (P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ] def /xcti [(0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000)] def /Bci [ 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 ] def /Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def } if %xchart4=1 xchart4 6 eq {%xchart4=6 (A1, B1) % (P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.110 0.110 0.110 0.110 0.110 0.110 0.110 0.110 ] def /xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def /Bci [ 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 ] def /Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def } if %xchart4=6 xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {%xchart4=2,3,7 % (P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.110 0.110 0.110 0.110 0.110 0.110 0.110 0.110 ] def /xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def /Bci [ 0.750 1.000 1.300 2.500 0.900 0.700 1.000 0.700 ] def /Bcti [(0,750) (1,000) (1,300) (2,500) (0,900) (0,700) (1,000) (0,700)] def } if %xchart4=2,3,7 /xc xci xchartl get def /xct xcti xchartl get def /Bc Bci xchartl get def /Bct Bcti xchartl get def xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 %only for (x,y) /fakt 4000 def proz_name_range proz_opti 600 400 translate %for scala and graphic 0 1 39 {/i exch def %i=0,39 /An XANi i get def /Bn YANi i get def An fakt mul Bn fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW fakt mul YANW fakt mul 90 0 360 arc stroke XANW fakt mul 200 sub YANW fakt mul 250 sub moveto TBS TELi xchartl get show TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {%new only for i=40 /i 40 def /k 6 def %Go Xi i XRj k get put Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get def /Bn YANCj j get def /AnY An fakt mul def %xan /BnY Bn fakt mul def %yan /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 400 sub BnY 050 sub moveto xchart4 0 eq {(C) show imshow} if xchart4 1 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 400 sub BnY 050 sub moveto xchart4 0 eq {(G) show imshow} if xchart4 1 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 100 sub BnY 250 sub moveto xchart4 0 eq {(Y) show imshow} if xchart4 1 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 300 sub BnY 250 sub moveto xchart4 0 eq {(max) show} if xchart4 1 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 320 sub BnY 000 add moveto xchart4 0 eq {(G) show ioshow} if xchart4 1 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 %continue j=0,4 for antagonistic (A) colours 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {%new only for i=40 /i 40 def /k 6 def %Mo Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add abs def XANAj j XK Xi i get sub SUM div put YANAj j YK Yi i get sub SUM div put ZANAj j ZK Zi i get sub SUM div put /An XANAj j get def /Bn YANAj j get def /AnY An fakt mul def %xan /BnY Bn fakt mul def %yan /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 150 add BnY 150 sub moveto xchart4 0 eq {(R) show imshow} if xchart4 1 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 150 add BnY 050 sub moveto xchart4 0 eq {(M) show imshow} if xchart4 1 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 350 sub BnY 100 add moveto xchart4 0 eq {(B) show imshow} if xchart4 1 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 150 sub BnY 250 sub moveto xchart4 0 eq {(min) show} if xchart4 1 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Ymin j 4 eq {AnY 350 sub BnY 050 sub moveto xchart4 0 eq {(M) show ioshow} if xchart4 1 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 -600 -400 translate %for scala and grafic } if %xchart4=0,1 %************************************************************** xchart4 2 eq xchart4 3 eq or {%xchart4=2,3 %only for (A2,B2) /fakt 20 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param newpath /xt2 3900 def /yt2 1200 def xt2 yt2 translate %red cylinder CAB=62 1 0 0 setrgbcolor [100] 0 setdash 062 fakt mul 100 fakt mul moveto 062 fakt mul 000 fakt mul lineto stroke -62 fakt mul 100 fakt mul moveto -62 fakt mul 000 fakt mul lineto stroke 060 fakt mul 102 fakt mul moveto (62) show -64 fakt mul 102 fakt mul moveto (-62) show [ ] 0 setdash 0 setgray %axis and scales 0 0 0 1 setcmyk_olvcolor -1200 0 moveto 2500 0 rlineto stroke 0 -400 moveto 0 3000 rlineto stroke 1300 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill -50 2600 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-50) ( ) ( 50)] def /yt10x [(0) ( ) (100)] def 0 0 0 1 setcmyk_olvcolor 0 1 2 {/i exch def %i=0,2 x-axis -1000 i 1000 mul add -75 moveto 0 150 rlineto stroke -1200 i 1000 mul add -300 moveto TBS xt10x i get show i 2 eq {-1000 i 1000 mul add 0 moveto -200 200 rmoveto TBIK (C) show 00 -50 rmoveto TBS (AB,2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } for %i=0,2 0 1 2 {/i exch def %i=0,2 y-axis -75 0000 i 1000 mul add moveto 150 0 rlineto stroke 0100 i 1000 mul 100 sub i 0 eq {100 sub} if moveto TBS yt10x i get show i 2 eq {0 0200 i 1000 mul add moveto 100 150 rmoveto TBIK (Y) show xcolorl 1 eq {xcol10KBS} if } if } for %i=0,2 newpath TBS 0 setgray 0 3.6 fakt mul 90 0 360 arc fill %N newpath 6 fakt mul 4 fakt mul moveto (3,6) show 2 fakt mul 52 fakt mul moveto (50) show 1 setgray 0 90.0 fakt mul 90 0 360 arc fill %W 0 setgray 0 90.0 fakt mul 90 0 360 arc stroke %W newpath 5 fakt mul 80 fakt mul moveto (90) show newpath 2 fakt mul 35 fakt mul moveto (46,8) show /Anj 10 array def /Bnj 10 array def /AnYj 10 array def /BnYj 10 array def /dABj 10 array def /CABj 10 array def /Yj 10 array def /Cfj 10 array def /Yfj 10 array def %10 chromatic colours from continuous colours TBIS 0 1 3 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put Anj j XANCj j get xc sub YANCj j get 0.0001 add div %2.5(a-an)Y XANK xc sub YANK 0.0001 add div sub put Bnj j ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul put Yj j Yi i get put AnYj j Anj j get Yi i get mul fakt mul put BnYj j Bnj j get Yi i get mul fakt mul put %dABj, CABj used later dABj j Anj j get dup mul Bnj j get dup mul add 0.0001 add sqrt put CABj j dABj j get Yi i get mul put % Cm Gm Ym Ymax Rm Mm Bm Bmin] /Vorp [-1 -1 1 1 1 1 -1 -1 ] def %only j=0,3 Cfj j CABj j get fakt mul Vorp j get mul 2.5 mul put Yfj j Yj j get fakt mul put /Cf Cfj j get def /Yf Yfj j get def /Paramshow {Yi i get cvishow} bind def j 0 eq {Cf 330 sub Yf 120 sub moveto xchart4 2 eq {(C) show imshow} if %j=0 xchart4 3 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {Cf 370 sub Yf 000 sub moveto xchart4 2 eq {(G) show imshow} if %j=1 xchart4 3 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {Cf 120 add Yf 50 sub moveto xchart4 2 eq {(Y) show imshow} if %j=2 xchart4 3 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {Cf 150 sub Yf 150 add moveto xchart4 2 eq {(max) show} if %j=3 xchart4 3 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax %j 4 eq {Cf 100 sub Yf 250 sub moveto % xchart4 2 eq {(G) show ioshow} if % xchart4 3 eq {Paramshow} if % 1 0.5 1 0 setcmykcolor} if %Go newpath Cf Yf 90 0 360 arc fill 0 setgray newpath Cf Yf 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /jp j 4 add def Anj jp XANCj j get xc sub YANCj j get 0.0001 add div %(a-an) XANK xc sub YANK 0.0001 add div sub put Bnj jp ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul put Yj jp YK Yi i get sub put AnYj jp Anj jp get YK Yi i get sub mul fakt mul put %(a-an)Y BnYj jp Bnj jp get YK Yi i get sub mul fakt mul put %(b-bn)Y %dABjp, CABjp used later dABj jp Anj jp get dup mul Bnj jp get dup mul add 0.0001 add sqrt put CABj jp dABj jp get YK Yi i get sub mul put %only j=0,3 Vorp 4..7 Cfj jp CABj jp get fakt mul Vorp jp get mul 2.5 mul put Yfj jp Yj jp get fakt mul put /Cf Cfj jp get def /Yf Yfj jp get def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {Cf 00 add Yf 150 add moveto xchart4 2 eq {(R) show imshow} if %j=4 xchart4 3 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {Cf 100 sub Yf 250 sub moveto xchart4 2 eq {(M) show imshow} if %j=5 xchart4 3 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {Cf 350 sub Yf 50 sub moveto xchart4 2 eq {(B) show imshow} if %j=6 xchart4 3 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {Cf 150 sub Yf 230 sub moveto xchart4 2 eq {(min) show} if %j=7 xchart4 3 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin %j 4 eq {Cf 100 sub Yf 150 add moveto % xchart4 2 eq {(M) show ioshow} if % xchart4 3 eq {Paramshow} if % 0 0.5 0 0 setcmykcolor} if %Mo newpath Cf Yf 90 0 360 arc fill 0 setgray newpath Cf Yf 90 0 360 arc stroke } for %j=0,3 0 setgray %0 90 fakt mul moveto %50 fakt mul 45 fakt mul lineto stroke /Cf1 Cfj 3 get def /Yf1 Yfj 3 get def 0 90 fakt mul moveto Cf1 Yf1 lineto 0 3.6 fakt mul lineto stroke /Cf2 Cfj 7 get def /Yf2 Yfj 7 get def 0 90 fakt mul moveto Cf2 Yf2 lineto 0 3.6 fakt mul lineto stroke [100] 0 setdash Cfj 0 get Yfj 0 get moveto Cfj 4 get Yfj 4 get lineto stroke Cfj 1 get Yfj 1 get moveto Cfj 5 get Yfj 5 get lineto stroke Cfj 2 get Yfj 2 get moveto Cfj 6 get Yfj 6 get lineto stroke Cfj 3 get Yfj 3 get moveto Cfj 7 get Yfj 7 get lineto stroke %Cf1 Yf1 moveto Cf2 Yf2 lineto stroke xt2 neg yt2 neg translate } if %xchart4=2,3 %******************************************************* xchart4 4 eq xchart4 5 eq or {%xchart4=4,5 %only for (A,B) /fakt 40 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param 3500 2100 translate %for text and grafic proz_axis_scales4_7 0 1 39 {/i exch def %i=0,39 /An XANi i get YANi i get 0.0001 add div def /Bn ZANi i get YANi i get 0.0001 add div 0.4 mul neg def /AnK XK YK 0.0001 add div def /BnK ZK YK 0.0001 add div 0.4 mul neg def /AnY An AnK sub Yi i get mul def /BnY Bn BnK sub Yi i get mul def AnY fakt mul BnY fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW YANW 0.0001 add div %(a-an)YW XANK YANK 0.0001 add div sub YW mul fakt mul ZANW YANW 0.0001 add div %(b-an)YW ZANK YANK 0.0001 add div sub 0.4 mul neg YW mul fakt mul 90 0 360 arc stroke 0 080 add 0 080 add moveto TBS TELi xchartl get show %10 chromatic colours from continuous colours TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get YANCj j get 0.0001 add div %2.5(a-an)Y XANK YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg def /AnY An Yi i get mul fakt mul def /BnY Bn Yi i get mul fakt mul def %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB Yi i get mul def /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 4 eq {(C) show imshow} if xchart4 5 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 370 sub BnY 050 sub moveto xchart4 4 eq {(G) show imshow} if xchart4 5 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 050 sub BnY 150 add moveto xchart4 4 eq {(Y) show imshow} if xchart4 5 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 500 sub xchart4 5 eq {150 add} if BnY 050 add moveto xchart4 4 eq {(max) show} if xchart4 5 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 100 sub BnY 150 add moveto xchart4 4 eq {(G) show ioshow} if xchart4 5 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /An XANCj j get YANCj j get 0.0001 add div %(a-an) XANK YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg def /AnY An YK Yi i get sub mul fakt mul def %(a-an)Y /BnY Bn YK Yi i get sub mul fakt mul def %(b-bn)Y %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB YK Yi i get sub mul def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 120 add BnY 050 sub moveto xchart4 4 eq {(R) show imshow} if xchart4 5 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 120 add BnY 050 sub moveto xchart4 4 eq {(M) show imshow} if xchart4 5 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 200 sub BnY 250 sub moveto xchart4 4 eq {(B) show imshow} if xchart4 5 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 100 add BnY 150 sub moveto xchart4 4 eq {(min) show} if xchart4 5 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin j 4 eq {AnY 100 sub BnY 350 sub moveto xchart4 4 eq {(M) show ioshow} if xchart4 5 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 } if %xchart4=4,5 %************************************************************** xchart4 6 eq xchart4 7 eq or {%xchart4=6,7 %only for (A1,B1) /fakt 40 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param 3500 2100 translate %for text and grafic proz_axis_scales4_7 0 1 39 {/i exch def %i=0,39 /An XANi i get xc sub YANi i get 0.0001 add div def /Bn ZANi i get YANi i get 0.0001 add div 0.4 mul neg Bc mul def /AnK XANK xc sub YANK 0.0001 add div def /BnK ZANK YANK 0.0001 add div 0.4 mul neg Bc mul def /AnY An AnK sub Yi i get mul def /BnY Bn BnK sub Yi i get mul def AnY fakt mul BnY fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW xc sub YANW 0.0001 add div %(a-an)YW XANK xc sub YANK 0.0001 add div sub YW mul fakt mul ZANW YANW 0.0001 add div %(b-an)YW ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul YW mul fakt mul 90 0 360 arc stroke 0 080 add 0 080 add moveto TBS TELi xchartl get show %10 chromatic colours from continuous colours TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get xc sub YANCj j get 0.0001 add div %2.5(a-an)Y XANK xc sub YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul def /AnY An Yi i get mul fakt mul def /BnY Bn Yi i get mul fakt mul def %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB Yi i get mul def /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 6 eq {(C) show imshow} if xchart4 7 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 370 sub BnY 050 sub moveto xchart4 6 eq {(G) show imshow} if xchart4 7 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 050 sub BnY 150 add moveto xchart4 6 eq {(Y) show imshow} if xchart4 7 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 500 sub xchart4 7 eq {150 add} if BnY 050 add moveto xchart4 6 eq {(max) show} if xchart4 7 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 100 sub BnY 150 add moveto xchart4 6 eq {(G) show ioshow} if xchart4 7 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /An XANCj j get xc sub YANCj j get 0.0001 add div %(a-an) XANK xc sub YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul def /AnY An YK Yi i get sub mul fakt mul def %(a-an)Y /BnY Bn YK Yi i get sub mul fakt mul def %(b-bn)Y %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB YK Yi i get sub mul def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 120 add BnY 050 sub moveto xchart4 6 eq {(R) show imshow} if xchart4 7 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 120 add BnY 050 sub moveto xchart4 6 eq {(M) show imshow} if xchart4 7 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 200 sub BnY 250 sub moveto xchart4 6 eq {(B) show imshow} if xchart4 7 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 100 add BnY 150 sub moveto xchart4 6 eq {(min) show} if xchart4 7 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin j 4 eq {AnY 100 sub BnY 350 sub moveto xchart4 6 eq {(M) show ioshow} if xchart4 7 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 } if %xchart4=6,7 showpage grestore } for %xchartl=0,7 } for %xchart4=0,7 } for %xcolorl=0,0 %%Trailer %line 259 %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add MM 020 STAl add 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 %!PS-Adobe-3.0 EPSF-3.0 egw70-8a ent40-8n %%BoundingBox: 70 83 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: http://farbe.li.tu-berlin.de/egw7/egw7.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:2023070112000) /ModDate (D:20230701112000) /DOCINFO pdfmark08 [ /View [ /FitB ] /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 /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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def %********************************************************* /proz_param {%proz_param 4600 3800 moveto TBS (Parame\255) show 4600 3600 moveto TBS (ter:) show xchart4 2 eq xchart4 4 eq or xchart4 6 eq or {TBIS ( N) show} if xchart4 3 eq xchart4 5 eq or xchart4 7 eq or {TBIS ( Y) show xcolorl 1 eq {xcol10_BS} if} if /kx kxi xchartl get def /kxx 445 kx 5 mul add def 4150 300 moveto TBS (max: ) show kxx cvishow (_770) show 4150 080 moveto TBS (min: 380_) show kxx cvishow /index2_7 {%index2_7 xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {0 -50 rmoveto TBL (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if xchart4 4 eq xchart4 5 eq or {0 -50 rmoveto TBL () show 0 50 rmoveto xcolorl 1 eq {xcol10_BS} if } if xchart4 6 eq {0 -50 rmoveto TBL (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } bind def %index2_7 /index2_7n {%index2_7n xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {0 -50 rmoveto TBL (2,n) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if xchart4 4 eq xchart4 5 eq or {0 -50 rmoveto TBL (n) show 0 50 rmoveto xcolorl 1 eq {xcol10_BS} if } if xchart4 6 eq {0 -50 rmoveto TBL (1,n) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } bind def %index2_7n /x0p 50 def x0p 3800 moveto TBIS (XYZ) show 0 -50 rmoveto TBL (W) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if TBS (=) show XK cvsshow2 (, ) show YK cvsshow2 (, ) show ZK cvsshow2 x0p 3550 moveto TBIS (A) show index2_7 TBS ( = 2,5 \050) show TBIS (a) show index2_7 TBS ( - ) show TBIS (a) show index2_7n TBS (\051 ) show TBIS (Y) show xcolorl 1 eq {xcol10_BS} if x0p 3300 moveto TBIS (B) show index2_7 TBS ( = 2,5 ) show tfr TBIS (B) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto tfn TBS ( \050) show TBIS (b) show index2_7 TBS ( - ) show TBIS (b) show index2_7n TBS (\051 ) show TBIS (Y) show xcolorl 1 eq {xcol10_BS} if x0p 3050 moveto TBIS (a) show index2_7 TBS ( = ) show TBIS (a) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( [) show TBIS (\050x) show xcolorl 1 eq {xcol10_BS} if TBS (-) show TBIS (x) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBIS (\051/y) show xcolorl 1 eq {xcol10_BS} if TBS (]) show x0p 2800 moveto TBIS (b) show index2_7 TBS ( = ) show TBIS (b) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( [) show TBIS (z) show xcolorl 1 eq {xcol10_BS} if TBIS (/y) show xcolorl 1 eq {xcol10_BS} if TBS (]) show x0p 2550 moveto TBIS (a) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( = 1, ) show TBIS (b) show 0 -50 rmoveto TBL (20) show 0 50 rmoveto TBS ( = -0,4) show x0p 2300 moveto TBIS (x) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( = ) show xct show (, ) show tfr TBIS (B) show 0 -50 rmoveto TBL (c) show 0 50 rmoveto TBS ( = ) show Bct show tfn /SUMK XK YK add ZK add 0.0001 add def x0p 2080 moveto TBIS (n) show TBS ( = ) show TELi xchartl get show (, ) show TBIS (xy) show 0 -50 rmoveto TBL (W) show 0 50 rmoveto TBS (=) show XK SUMK div cvsshow3 (, ) show YK SUMK div cvsshow3 x0p 1820 moveto TBIS (C) show TBL 0 -50 rmoveto (AB,) show 0 50 rmoveto index2_7 TBS (=[) show TBIS (A) show index2_7 TBL -20 80 rmoveto (2) show 0 -80 rmoveto TBS (+) show TBIS (B) show index2_7 TBL -20 80 rmoveto (2) show 0 -80 rmoveto TBS (]) show TBL 0 80 rmoveto (1/2) show 0 -80 rmoveto } bind def %proz_param %**************************************************************** /proz_opti {%proz_opti TBS 0 0 0 1 setcmyk_olvcolor /xchart12 xchart4 12 mul def xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBS (10 Optimalfarben (o)) showde %0egw71-7 02581 (10 optimal colours (o)) showen %1egw71-7 02581 (10 colores \363ptimos (o)) showes %2egw71-7 02581 (10 couleurs optimales (o)) showfr %3egw71-7 02581 (10 colori ottimi (o)) showit %4egw71-7 02581 (10 optimal colours (o)) showjp %5egw71-7 02581 TBIS (, Y) show TBL 0 -60 rmoveto (W) show 0 60 rmoveto xchartl 1 eq {xcol10KBS} if TBS KN 0 eq {(=100) show} {(=90) show} ifelse TBIS (, Y) show TBL 0 -60 rmoveto (N) show 0 60 rmoveto xchartl 1 eq {xcol10KBS} if TBS KN 0 eq {(=0) show} {(=3,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (8 von maximalem (m)) showde %0egw71-7 03581 (8 of maximum (m)) showen %1egw71-7 03581 (8 de m\341ximo (m)) showes %2egw71-7 03581 (8 de la maximum (m)) showfr %3egw71-7 03581 (8 di massimo (m)) showit %4egw71-7 03581 (8 of maximum (m)) showjp %5egw71-7 03581 TBIS ( C) show TBL 0 -60 rmoveto (AB) show 0 60 rmoveto TBS ( f\374r ) showde %0egw71-7 03581 ( for ) showen %1egw71-7 03581 ( bajo ) showes %2egw71-7 03581 ( pour ) showfr %3egw71-7 03581 ( per ) showit %4egw71-7 03581 ( for ) showjp %5egw71-7 03581 TELi xchartl get show xtexti xchart12 2 add get ytexti xchart12 2 add get moveto xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 (in der Normfarbtafel) showde %0egw71-7 04581 (in the chromaticity diagram) showen %1egw71-7 04581 (en el diagrama de chromaticidad) showes %2egw71-7 04581 (dans le diagramme de chromaticit\351) showfr %3egw71-7 04581 (nel diagramma di cromaticit\340) showit %4egw71-7 04581 (in the chromaticity diagram) showjp %5egw71-7 04581 TBIS ( (x, y)) show } if %xchart4=0,1 xchart4 2 eq xchart4 3 eq or {%xchart4=2,3 (im linearen Farbenraum ) showde %0egw71-7 06581 (in linear colour space ) showea %1egw71-7 06581 TBS (\050) show TBIS (C) show TBL 0 -50 rmoveto (AB,2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if TBIS (, Y) show xcolorl 1 eq {xcol10_BS} if TBS (\051) show } if %xchart4=2,3 xchart4 4 eq xchart4 5 eq or {%xchart4=4,5 (in Buntwertdiagramm) showde %0egw71-7 08581 (in chromatic value diagram) showen %1egw71-7 08581 (en el diagrama valor crom\341tico) showes %2egw71-7 08581 (dans la valeur chromatique le diagramme) showfr %3egw71-7 08581 (nel diagramma di valore cromatico) showit %4egw71-7 08581 (in chromatic value diagram) showjp %5egw71-7 08581 TBIS ( (A, B)) show } if %xchart4=4,5 xchart4 6 eq {%xchart4=6 (in Buntwertdiagram) showde %0egw71-7 10581 (in chromatc value diagram) showen %1egw71-7 10581 (en el diagrama croma) showes %2egw71-7 10581 (dans le diagramme de chroma) showfr %3egw71-7 10581 (nel diagramma di chroma) showit %4egw71-7 10581 (in chromactic value diagram) showjp %5egw71-7 10581 TBIS ( \050A) show 0 -50 rmoveto TBL (1) show 0 50 rmoveto TBS (, ) show TBIS (B) show 0 -50 rmoveto TBL (1) show 0 50 rmoveto TBS (\051) show } if %xchart4=6 xchart4 7 eq {%xchart4=7 (in Buntwertdiagram) showde %0egw71-7 11581 (in chromatic value diagram) showen %1egw71-7 11581 (en el diagrama croma) showes %2egw71-7 11581 (dans le diagramme de chroma) showfr %3egw71-7 11581 (nel diagramma di chroma) showit %4egw71-7 11581 (in chroma diagram) showjp %5egw71-7 11581 TBIS ( \050A) show 0 -50 rmoveto TBL (2) show 0 50 rmoveto TBS (, ) show TBIS (B) show 0 -50 rmoveto TBL (2) show 0 50 rmoveto TBS (\051) show } if %xchart4=7 } bind def %proz_opti %**************************************************************************** /proz_name_range {%proz_name_range /xchart12 xchart4 12 mul def xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name & Spektralbereich) showde %0egw71-7 00581 (Name and spectral range) showen %1egw71-7 00581 (Nombre y gama espectral) showes %2egw71-7 00581 (Nom et la gamma spectrale) showfr %3egw71-7 00581 (Nome e la gamma spettrale) showit %4egw71-7 00581 (Name and spectral range) showjp %5egw71-7 00581 xtexti xchart12 4 add get ytexti xchart12 4 add get moveto TBIS FARBE 0 get show TBL 0 -40 rmoveto FARBE 1 get show 0 40 rmoveto TBIS FARBE 2 get show xtexti xchart12 5 add get ytexti xchart12 5 add get moveto TBIS FARBE 3 get show TBL 0 -40 rmoveto FARBE 4 get show 0 40 rmoveto TBIS FARBE 5 get show xtexti xchart12 6 add get ytexti xchart12 6 add get moveto TBIS FARBE 6 get show TBL 0 -40 rmoveto FARBE 7 get show 0 40 rmoveto TBIS FARBE 8 get show xtexti xchart12 7 add get ytexti xchart12 7 add get moveto TBIS FARBE 9 get show TBL 0 -40 rmoveto FARBE 10 get show 0 40 rmoveto TBIS FARBE 11 get show xtexti xchart12 8 add get ytexti xchart12 8 add get moveto TBIS FARBE 12 get show TBL 0 -40 rmoveto FARBE 13 get show 0 40 rmoveto TBIS FARBE 14 get show xtexti xchart12 9 add get ytexti xchart12 9 add get moveto TBIS FARBE 15 get show TBL 0 -40 rmoveto FARBE 16 get show 0 40 rmoveto TBIS FARBE 17 get show xtexti xchart12 10 add get ytexti xchart12 10 add get moveto TBIS FARBE 18 get show TBL 0 -40 rmoveto FARBE 19 get show 0 40 rmoveto TBIS FARBE 20 get show xtexti xchart12 11 add get ytexti xchart12 11 add get moveto TBIS FARBE 21 get show TBL 0 -40 rmoveto FARBE 22 get show 0 40 rmoveto TBIS FARBE 23 get show } bind def %proz_name_range %**************************************************************** /proz_axis_scales4_7 {%proz_axis_scales4_7 %axis and scales 0 0 0 1 setcmyk_olvcolor -1000 0 moveto 2800 0 rlineto stroke 0 -1880 moveto 0 3600 rlineto stroke 1800 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill 0 50 sub 1800 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [() ( -50) ( ) ( ) ( 100)] def /yt10x [(-100) ( ) ( ) ( ) (100)] def 0 0 0 1 setcmyk_olvcolor 1 1 4 {/i exch def %i=0,4 x-axis -1600 i 800 mul add -75 moveto 0 150 rlineto stroke -1800 i 800 mul add -250 moveto TBS xt10x i get show i 4 eq {-1600 i 800 mul add 0 moveto xchart4 4 eq { %xchart4=4 -100 200 rmoveto TBIK (A) show xcolorl 1 eq {xcol10_BS} if } if %xchart4=4 xchart4 5 eq { %xchart4=5 -100 200 rmoveto TBIK (A) show xcolorl 1 eq {xcol10_BS} if } if %xchart4=5 xchart4 6 eq { %xchart4=6 -200 200 rmoveto TBIK (A) show 00 -50 rmoveto TBS (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=6 xchart4 7 eq { %xchart4=7 -200 200 rmoveto TBIK (A) show 00 -50 rmoveto TBS (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=7 } if } for %i=0,4 0 1 4 {/i exch def %i=0,4 y-axis -75 -1600 i 800 mul add moveto 150 0 rlineto stroke 100 -1650 i 800 mul add 100 sub moveto TBS yt10x i get show i 4 eq {0 -1650 i 800 mul add moveto xchart4 4 eq { %xchart4=4 100 150 rmoveto TBIK (B) show TM xcolorl 1 eq {xcol10_BS} if } if %xchart4=4 xchart4 5 eq { %xchart4=5 100 150 rmoveto TBIK (B) show xcolorl 1 eq {xcol10_BS} if 0 1150 add 1600 0200 add moveto } if %xchart4=5 xchart4 6 eq { %xchart4=6 100 150 rmoveto TBIK (B) show -20 -50 rmoveto TBS (1) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=6 xchart4 7 eq { %xchart4=7 100 150 rmoveto TBIK (B) show -20 -50 rmoveto TBS (2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if %xchart4=7 } if } for %i=0,4 } bind def %proz_axis_scales4_7 %*********************************************************** /proz_chromaticity_lines {%BEG proz_chromaticity_lines /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /FXYZ 240 array def /XSi 82 array def /YSi 82 array def /ZSi 82 array def /XANSi 82 array def /YANSi 82 array def /ZANSi 82 array def /AANSi 82 array def %actual data for plot, purple colours /BANSi 82 array def 0 1 239 {/i exch def %i=0,239 FXYZ i xcolorl 0 eq {F2 i get put} {F10 i get put} ifelse } for %i=0,239 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM FXYZ 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 XSi i FXYZ 00 i add get YKSUM div 100 mul put YSi i FXYZ 80 i add get YKSUM div 100 mul put ZSi i FXYZ 160 i add get YKSUM div 100 mul put /SUM XSi i get YSi i get add ZSi i get add 0.0001 add def XANSi i XSi i get SUM div put YANSi i YSi i get SUM div put ZANSi i ZSi i get SUM div put AANSi i XANSi i get put BANSi i YANSi i get put } for %i=0,1,79 /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 00 i add get YKSUM div 100 mul put YZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 17 i add get YKSUM div 100 mul put ZZi i xcolorl 0 eq {F02Z} {F10Z} ifelse 34 i add get YKSUM div 100 mul put /SUM XZi i get YZi i get add ZZi i get add 0.0001 add def XANZi i XZi i get SUM div put YANZi i YZi i get SUM div put ZANZi i ZZi i get SUM div put AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolorl 1 eq {TL 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolorl 1 eq {TL 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolorl 0 eq {(CIE 1931) show} if xcolorl 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANSi i get fakt mul BANSi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 1 000 000 ( ) %30 1 050 000 (535) %31 1 000 000 ( ) %32 M 1 000 000 ( ) %33 1 050 030 (550) %34 1 000 000 ( ) %35 1 050 030 (560) %36 1 000 000 ( ) %37 1 050 030 (570) %38 L 1 000 000 ( ) %39 1 050 030 (580) %40 1 050 050 ( ) %41 1 050 030 (590) %42 1 050 050 ( ) %43 1 050 030 (600) %44 0 000 000 ( ) %45 1 050 070 (610) %46 0 000 000 ( ) %47 1 050 050 (620) %48 0 000 000 ( ) %49 0 000 000 (630) %50 0 000 000 ( ) %51 1 050 030 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANSi i get fakt mul BANSi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANSi i get fakt mul BANSi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIL 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANSi i get fakt mul xytshift i41 get add BANSi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIL 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 xtrans8 neg ytrans8 neg translate %for scala and grafic } bind def %END proz_chromaticity_lines %***************************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /TELi 8 array def /xchart8 1 def %0:Pxx, 1:Dxx default xchart8 0 eq {%xchart8=0 Pxx /TELi [(P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30)] def %8 illumin. } if %xchart8=0 xchart8 1 eq {%xchart8=1 Dxx /TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %8 illumin. } if %xchart8=1 /SD65 82 array def %380 bis 775 mit deltalambda=05 /SD50 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SA00 82 array def %380 bis 775 mit deltalambda=05 /SE00 82 array def %380 bis 775 mit deltalambda=05 /SC00 82 array def %380 bis 775 mit deltalambda=05 /SP00 82 array def %380 bis 775 mit deltalambda=05 /SQ00 82 array def %380 bis 775 mit deltalambda=05 /SDAK 82 array def %380 bis 775 mit deltalambda=05 /RA 82 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 82 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 82 array def xchart8 1 eq {%xchart8=1 Dxx /TNC 4000 def %******************************************** 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } if %xchart8=1 Dxx %****************************************** xchart8 0 eq {%xchart8=0 Pxx %defined only for xchart8=0 Pxx /TNCj 8 array def /TNCj [6500 6000 5500 5000 4500 4000 3500 3000] def /SP65 82 array def %380 bis 775 mit deltalambda=05 /SP60 82 array def %380 bis 775 mit deltalambda=05 /SP55 82 array def %380 bis 775 mit deltalambda=05 /SP50 82 array def %380 bis 775 mit deltalambda=05 /SP45 82 array def %380 bis 775 mit deltalambda=05 /SP40 82 array def %380 bis 775 mit deltalambda=05 /SP35 82 array def %380 bis 775 mit deltalambda=05 /SP30 82 array def %380 bis 775 mit deltalambda=05 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP65 i} if j 1 eq {SP60 i} if j 2 eq {SP55 i} if j 3 eq {SP50 i} if j 4 eq {SP45 i} if j 5 eq {SP40 i} if j 6 eq {SP35 i} if j 7 eq {SP30 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } if %xchart8=0 %************************************************* /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBE 30 array def /FARBE [(R) (m) ( 570_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 470_570) %02 (C) (m) ( 380_570) %03 (B) (m) ( 380_520) %04 (M) (m) ( 570_470) %05 (G) (o) ( 520_570) %06 (M) (o) ( 570_520) %07 (W) (0) ( 380_770) %08 (N) (0) ( 380_770) %09 ] def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /RX0 720 array def %9x80 /RX0 [ %(%Rm 00 570_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Ym 01 520_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Gm 02 470_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Cm 03 380_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Bm 04 380_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Mm 05 570_470) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%Go 06 520_570) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %(%Mo 07 570_520) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0468 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0468 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%W0(r=0,900) 08 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0900 0900 0900 0900 0900 0900 0900 0900 0900 0900 %(%N0(r=0,036) 09 380_770) %380 %385 %390 %395 %400 %405 %410 %415 %420 %425 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %430 %435 %440 %445 %450 %455 %460 %465 %470 %475 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %480 %485 %490 %495 %500 %505 %510 %515 %520 %525 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %530 %535 %540 %545 %550 %555 %560 %565 %570 %575 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %580 %585 %590 %595 %600 %605 %610 %615 %620 %625 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %630 %635 %640 %645 %650 %655 %660 %665 %670 %675 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %680 %685 %690 %695 %700 %705 %710 %715 %720 %725 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 %730 %735 %740 %745 %750 %755 %760 %765 %770 %775 0036 0036 0036 0036 0036 0036 0036 0036 0036 0036 ] def /xcol10_BS {TBL 0 -50 rmoveto (10) show 0 50 rmoveto TBS} bind def /xcol10KBS {TBL 0 -50 rmoveto (,10) show 0 50 rmoveto TBS} bind def /xcolorl xcolor def 0 1 0 {/xcolorl exch def %xcolorl=0,0 xcolorl 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 } if /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 82 array def %FXN 0 = F2N imax /FYN 82 array def /FZN 82 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def 20 setlinewidth /xdel 1005 def /ydel 395 def /x0 050 def /x1 -150 def /Xi 82 array def %80 spectral colours 380 to 775nm /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XRj 10 array def %10 spectral or max 10 device colours /YRj 10 array def /ZRj 10 array def /XANRj 10 array def /YANRj 10 array def /ZANRj 10 array def /XSj 10 array def %10 spectral or max 10 device atagonistic colours /YSj 10 array def /ZSj 10 array def /XANSj 10 array def /YANSj 10 array def /ZANSj 10 array def /XCj 10 array def %10 spectral from continuous colours /YCj 10 array def /ZCj 10 array def /XANCj 10 array def /YANCj 10 array def /ZANCj 10 array def /XAj 10 array def %10 spectral from continuous colours /YAj 10 array def /ZAj 10 array def /XANAj 10 array def /YANAj 10 array def /ZANAj 10 array def /RAk 82 array def 7 1 7 {/xchart4 exch def %xchart4=0,7 /xchartl xchart def 3 1 3 {/xchartl exch def %xchartl=0,7 %/KN 0 def %for normalization 1,000 /KN 1 def %for normalization 0,900 gsave 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolorl cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow /tfr {1 0 0 setrgbcolor} def /tfn {0 setgray} def /tfw {1 setgray} def 5 /Times-ISOL1 FS 72 85 moveto (egw70-8a ent40-8n) show 72 90 translate 0.010 MM dup scale 25 setlinewidth 0 0 0 0 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath fill 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath clip 0 0 0 1 setcmyk_olvcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto 5400 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for 8 illuminants Dxx or Pxx 0 1 79 {/i exch def %i=0,79 SDAK i xchart8 0 eq {%xchart8=0 Pxx xchartl 0 eq {SP65 i get put} if xchartl 1 eq {SP60 i get put} if xchartl 2 eq {SP55 i get put} if xchartl 3 eq {SP50 i get put} if xchartl 4 eq {SP45 i get put} if xchartl 5 eq {SP40 i get put} if xchartl 6 eq {SP35 i get put} if xchartl 7 eq {SP30 i get put} if }%xchart8=0 Pxx {%xchart8=1 Dxx xchartl 0 eq {SD65 i get put} if xchartl 1 eq {SD50 i get put} if xchartl 2 eq {SP40 i get put} if xchartl 3 eq {SA00 i get put} if xchartl 4 eq {SE00 i get put} if xchartl 5 eq {SC00 i get put} if xchartl 6 eq {SP00 i get put} if xchartl 7 eq {SQ00 i get put} if } ifelse %xchart8=1 Dxx } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def /AANW XW YW 0.0001 add div def /BANW ZW YW 0.0001 add div 0.4 mul neg def %************************************************ %XYZRj for 10 reflections 0 1 09 {/j exch def %j=0,9 %10 Reflections /jx j 80 mul def 0 1 79 {/i exch def %i=0,79 RAk i RX0 jx i add get 1000 div put } for %i=0,79 /XR 0 def /YR 0 def /ZR 0 def 0 1 079 {/i exch def %i=0,79 /XR XR F2N 00 i add get RAk i get mul add def /YR YR F2N 80 i add get RAk i get mul add def /ZR ZR F2N 160 i add get RAk i get mul add def } for %i=0,79 XRj j XR put YRj j YR put ZRj j ZR put /SUMR XR YR add ZR add def XANRj j XR SUMR 0.0001 add div put YANRj j YR SUMR 0.0001 add div put ZANRj j ZR SUMR 0.0001 add div put } for %j=0,9 %******************************************* 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* /WEL1 60 array def %irregular definition /WEL2 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1 [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1 k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXD j get def %start at 405..700nm /FF2 FYD j get def /FF3 FZD j get def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RA i 0.036 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RA i 0.900 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RA i 0.900 put } for %i=0,i2 } ifelse %i1>i2 %correction (0.900+0.036)/2=0.648 i2 i1 ge {%i1i2 RA i1 0.468 put RA i2 0.468 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /X 0 def /Y 0 def /Z 0 def 0 1 079 {/i exch def %i=0,79 /X X F2N 00 i add get RA i get mul add def /Y Y F2N 80 i add get RA i get mul add def /Z Z F2N 160 i add get RA i get mul add def } for %i=0,79 /SUM X Y add Z add def /XAN X SUM 0.0001 add div def /YAN Y SUM 0.0001 add div def /ZAN Z SUM 0.0001 add div def %************************************************* 0 0 0 1 setcmyk_olvcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 Xi k X put Yi k Y put Zi k Z put XANi k XAN put YANi k YAN put ZANi k ZAN put }%Icom=0 {%Icom=1 /kP 20 k add def Xi kP XW X sub put Yi kP YW Y sub put Zi kP ZW Z sub put /SUMi Xi kP get Yi kP get add Zi kP get add def XANi kP Xi kP get SUMi 0.0001 add div put YANi kP Yi kP get SUMi 0.0001 add div put ZANi kP Zi kP get SUMi 0.0001 add div put } ifelse %Icom=1 } for %Icom=0,1 KN 1 eq {%KN=1 change instead of normalization 1,000 Xi k Xi k get 0.9000 mul put Yi k Yi k get 0.9000 mul put Zi k Zi k get 0.9000 mul put Xi kP Xi kP get 0.9000 mul put Yi kP Yi kP get 0.9000 mul put Zi kP Zi kP get 0.9000 mul put } if %KN=1 } for %k=0,19 %********************************************************************** %XW,YW,ZW and XK,YK,ZK for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 KN 0 eq {%KN=0 %normalization /XK XW def /YK YW def /ZK ZW def }%KN=0 {%KN=1 /XK XW 0.9000 mul def /YK YW 0.9000 mul def /ZK ZW 0.9000 mul def } ifelse %KN=1 /SUMK XK YK add ZK add def %for D65, D50, P40, A00, E00 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /LP LP 1 add def /xtexti 96 array def /ytexti 96 array def /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1700 2000 2000 3000 3200 4300 3200 4300 3200 4300 3200 4300 %0 (x,y) 1700 2000 2000 3000 3200 4300 3200 4300 3200 4300 3200 4300 %1 (x,y) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %2 (A2,B2) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %3 (A2,B2) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %4 (A,B) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %5 (A,B) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %6 (A1,B1) 0050 0050 0050 0050 0050 1300 0050 1300 0050 1300 0050 1300 %7 (A2,B2) ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 (x,y) 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %1 (x,y) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 (A2,B2) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 (A2,B2) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 (A,B) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 (A,B) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 (A1,B1) 0500 0290 0080 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 (A2,B2) ] def xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 4600 1600 moveto TBS (Parame\255) show 4600 1400 moveto TBS (ter:) show TBIS xchart4 0 eq {( N) show} if xchart4 1 eq {( Y) show} if proz_chromaticity_lines } if %xchart4=0,1 %*********************************************************** /icolor 9 array def %Rm %Ym %Gm %Cm %Bm %Mm %Go %Mo %W /icolor [20 10 06 00 30 26 06 26 40] def /imshow {-20 -50 rmoveto TBL (m) show 0 50 rmoveto TBIS} def /ioshow {0 -50 rmoveto TBL (o) show 0 50 rmoveto TBIS} def %************************************************* %allways /kxi 8 array def /xci 8 array def /Bci 8 array def /xcti 8 array def /Bcti 8 array def % 0 1 2 3 4 5 6 7 % (P65)(P60)(P55)(P50)(P45)(P40)(P35)(P30) %or (D65)(D50)(P40)(A00)(E00)(C00)(P00)(Q00) /kxi [9 10 10 11 9 9 10 9] def /kx kxi xchartl get def xchart4 0 eq xchart4 1 eq or xchart4 4 eq or xchart4 5 eq or {%xchart4=0,1 (x,y); 4,5 (A, B) % (P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 ] def /xcti [(0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000) (0,000)] def /Bci [ 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 ] def /Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def } if %xchart4=1 xchart4 6 eq {%xchart4=6 (A1, B1) % (P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.110 0.110 0.110 0.110 0.110 0.110 0.110 0.110 ] def /xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def /Bci [ 1.000 1.000 1.000 1.000 1.000 1.000 1.000 1.000 ] def /Bcti [(1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000) (1,000)] def } if %xchart4=6 xchart4 2 eq xchart4 3 eq or xchart4 7 eq or {%xchart4=2,3,7 % (P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30) %or (D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00) % 0 1 2 3 4 5 6 7 /xci [ 0.110 0.110 0.110 0.110 0.110 0.110 0.110 0.110 ] def /xcti [(0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110) (0,110)] def /Bci [ 0.750 1.000 1.300 2.500 0.900 0.700 1.000 0.700 ] def /Bcti [(0,750) (1,000) (1,300) (2,500) (0,900) (0,700) (1,000) (0,700)] def } if %xchart4=2,3,7 /xc xci xchartl get def /xct xcti xchartl get def /Bc Bci xchartl get def /Bct Bcti xchartl get def xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 %only for (x,y) /fakt 4000 def proz_name_range proz_opti 600 400 translate %for scala and graphic 0 1 39 {/i exch def %i=0,39 /An XANi i get def /Bn YANi i get def An fakt mul Bn fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW fakt mul YANW fakt mul 90 0 360 arc stroke XANW fakt mul 200 sub YANW fakt mul 250 sub moveto TBS TELi xchartl get show TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {%new only for i=40 /i 40 def /k 6 def %Go Xi i XRj k get put Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get def /Bn YANCj j get def /AnY An fakt mul def %xan /BnY Bn fakt mul def %yan /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 400 sub BnY 050 sub moveto xchart4 0 eq {(C) show imshow} if xchart4 1 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 400 sub BnY 050 sub moveto xchart4 0 eq {(G) show imshow} if xchart4 1 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 100 sub BnY 250 sub moveto xchart4 0 eq {(Y) show imshow} if xchart4 1 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 300 sub BnY 250 sub moveto xchart4 0 eq {(max) show} if xchart4 1 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 320 sub BnY 000 add moveto xchart4 0 eq {(G) show ioshow} if xchart4 1 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 %continue j=0,4 for antagonistic (A) colours 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {%new only for i=40 /i 40 def /k 6 def %Mo Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add abs def XANAj j XK Xi i get sub SUM div put YANAj j YK Yi i get sub SUM div put ZANAj j ZK Zi i get sub SUM div put /An XANAj j get def /Bn YANAj j get def /AnY An fakt mul def %xan /BnY Bn fakt mul def %yan /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 150 add BnY 150 sub moveto xchart4 0 eq {(R) show imshow} if xchart4 1 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 150 add BnY 050 sub moveto xchart4 0 eq {(M) show imshow} if xchart4 1 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 350 sub BnY 100 add moveto xchart4 0 eq {(B) show imshow} if xchart4 1 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 150 sub BnY 250 sub moveto xchart4 0 eq {(min) show} if xchart4 1 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Ymin j 4 eq {AnY 350 sub BnY 050 sub moveto xchart4 0 eq {(M) show ioshow} if xchart4 1 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 -600 -400 translate %for scala and grafic } if %xchart4=0,1 %************************************************************** xchart4 2 eq xchart4 3 eq or {%xchart4=2,3 %only for (A2,B2) /fakt 20 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param newpath /xt2 3900 def /yt2 1200 def xt2 yt2 translate %red cylinder CAB=62 1 0 0 setrgbcolor [100] 0 setdash 062 fakt mul 100 fakt mul moveto 062 fakt mul 000 fakt mul lineto stroke -62 fakt mul 100 fakt mul moveto -62 fakt mul 000 fakt mul lineto stroke 060 fakt mul 102 fakt mul moveto (62) show -64 fakt mul 102 fakt mul moveto (-62) show [ ] 0 setdash 0 setgray %axis and scales 0 0 0 1 setcmyk_olvcolor -1200 0 moveto 2500 0 rlineto stroke 0 -400 moveto 0 3000 rlineto stroke 1300 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto closepath fill -50 2600 100 sub moveto 50 100 rlineto 50 -100 rlineto closepath fill /xt10x 5 array def /yt10x 5 array def /xt10x [(-50) ( ) ( 50)] def /yt10x [(0) ( ) (100)] def 0 0 0 1 setcmyk_olvcolor 0 1 2 {/i exch def %i=0,2 x-axis -1000 i 1000 mul add -75 moveto 0 150 rlineto stroke -1200 i 1000 mul add -300 moveto TBS xt10x i get show i 2 eq {-1000 i 1000 mul add 0 moveto -200 200 rmoveto TBIK (C) show 00 -50 rmoveto TBS (AB,2) show 0 50 rmoveto xcolorl 1 eq {xcol10KBS} if } if } for %i=0,2 0 1 2 {/i exch def %i=0,2 y-axis -75 0000 i 1000 mul add moveto 150 0 rlineto stroke 0100 i 1000 mul 100 sub i 0 eq {100 sub} if moveto TBS yt10x i get show i 2 eq {0 0200 i 1000 mul add moveto 100 150 rmoveto TBIK (Y) show xcolorl 1 eq {xcol10KBS} if } if } for %i=0,2 newpath TBS 0 setgray 0 3.6 fakt mul 90 0 360 arc fill %N newpath 6 fakt mul 4 fakt mul moveto (3,6) show 2 fakt mul 52 fakt mul moveto (50) show 1 setgray 0 90.0 fakt mul 90 0 360 arc fill %W 0 setgray 0 90.0 fakt mul 90 0 360 arc stroke %W newpath 5 fakt mul 80 fakt mul moveto (90) show newpath 2 fakt mul 35 fakt mul moveto (46,8) show /Anj 10 array def /Bnj 10 array def /AnYj 10 array def /BnYj 10 array def /dABj 10 array def /CABj 10 array def /Yj 10 array def /Cfj 10 array def /Yfj 10 array def %10 chromatic colours from continuous colours TBIS 0 1 3 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put Anj j XANCj j get xc sub YANCj j get 0.0001 add div %2.5(a-an)Y XANK xc sub YANK 0.0001 add div sub put Bnj j ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul put Yj j Yi i get put AnYj j Anj j get Yi i get mul fakt mul put BnYj j Bnj j get Yi i get mul fakt mul put %dABj, CABj used later dABj j Anj j get dup mul Bnj j get dup mul add 0.0001 add sqrt put CABj j dABj j get Yi i get mul put % Cm Gm Ym Ymax Rm Mm Bm Bmin] /Vorp [-1 -1 1 1 1 1 -1 -1 ] def %only j=0,3 Cfj j CABj j get fakt mul Vorp j get mul 2.5 mul put Yfj j Yj j get fakt mul put /Cf Cfj j get def /Yf Yfj j get def /Paramshow {Yi i get cvishow} bind def j 0 eq {Cf 330 sub Yf 120 sub moveto xchart4 2 eq {(C) show imshow} if %j=0 xchart4 3 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {Cf 370 sub Yf 000 sub moveto xchart4 2 eq {(G) show imshow} if %j=1 xchart4 3 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {Cf 120 add Yf 50 sub moveto xchart4 2 eq {(Y) show imshow} if %j=2 xchart4 3 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {Cf 150 sub Yf 150 add moveto xchart4 2 eq {(max) show} if %j=3 xchart4 3 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax %j 4 eq {Cf 100 sub Yf 250 sub moveto % xchart4 2 eq {(G) show ioshow} if % xchart4 3 eq {Paramshow} if % 1 0.5 1 0 setcmykcolor} if %Go newpath Cf Yf 90 0 360 arc fill 0 setgray newpath Cf Yf 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /jp j 4 add def Anj jp XANCj j get xc sub YANCj j get 0.0001 add div %(a-an) XANK xc sub YANK 0.0001 add div sub put Bnj jp ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul put Yj jp YK Yi i get sub put AnYj jp Anj jp get YK Yi i get sub mul fakt mul put %(a-an)Y BnYj jp Bnj jp get YK Yi i get sub mul fakt mul put %(b-bn)Y %dABjp, CABjp used later dABj jp Anj jp get dup mul Bnj jp get dup mul add 0.0001 add sqrt put CABj jp dABj jp get YK Yi i get sub mul put %only j=0,3 Vorp 4..7 Cfj jp CABj jp get fakt mul Vorp jp get mul 2.5 mul put Yfj jp Yj jp get fakt mul put /Cf Cfj jp get def /Yf Yfj jp get def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {Cf 00 add Yf 150 add moveto xchart4 2 eq {(R) show imshow} if %j=4 xchart4 3 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {Cf 100 sub Yf 250 sub moveto xchart4 2 eq {(M) show imshow} if %j=5 xchart4 3 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {Cf 350 sub Yf 50 sub moveto xchart4 2 eq {(B) show imshow} if %j=6 xchart4 3 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {Cf 150 sub Yf 230 sub moveto xchart4 2 eq {(min) show} if %j=7 xchart4 3 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin %j 4 eq {Cf 100 sub Yf 150 add moveto % xchart4 2 eq {(M) show ioshow} if % xchart4 3 eq {Paramshow} if % 0 0.5 0 0 setcmykcolor} if %Mo newpath Cf Yf 90 0 360 arc fill 0 setgray newpath Cf Yf 90 0 360 arc stroke } for %j=0,3 0 setgray %0 90 fakt mul moveto %50 fakt mul 45 fakt mul lineto stroke /Cf1 Cfj 3 get def /Yf1 Yfj 3 get def 0 90 fakt mul moveto Cf1 Yf1 lineto 0 3.6 fakt mul lineto stroke /Cf2 Cfj 7 get def /Yf2 Yfj 7 get def 0 90 fakt mul moveto Cf2 Yf2 lineto 0 3.6 fakt mul lineto stroke [100] 0 setdash Cfj 0 get Yfj 0 get moveto Cfj 4 get Yfj 4 get lineto stroke Cfj 1 get Yfj 1 get moveto Cfj 5 get Yfj 5 get lineto stroke Cfj 2 get Yfj 2 get moveto Cfj 6 get Yfj 6 get lineto stroke Cfj 3 get Yfj 3 get moveto Cfj 7 get Yfj 7 get lineto stroke %Cf1 Yf1 moveto Cf2 Yf2 lineto stroke xt2 neg yt2 neg translate } if %xchart4=2,3 %******************************************************* xchart4 4 eq xchart4 5 eq or {%xchart4=4,5 %only for (A,B) /fakt 40 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param 3500 2100 translate %for text and grafic proz_axis_scales4_7 0 1 39 {/i exch def %i=0,39 /An XANi i get YANi i get 0.0001 add div def /Bn ZANi i get YANi i get 0.0001 add div 0.4 mul neg def /AnK XK YK 0.0001 add div def /BnK ZK YK 0.0001 add div 0.4 mul neg def /AnY An AnK sub Yi i get mul def /BnY Bn BnK sub Yi i get mul def AnY fakt mul BnY fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW YANW 0.0001 add div %(a-an)YW XANK YANK 0.0001 add div sub YW mul fakt mul ZANW YANW 0.0001 add div %(b-an)YW ZANK YANK 0.0001 add div sub 0.4 mul neg YW mul fakt mul 90 0 360 arc stroke 0 080 add 0 080 add moveto TBS TELi xchartl get show %10 chromatic colours from continuous colours TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get YANCj j get 0.0001 add div %2.5(a-an)Y XANK YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg def /AnY An Yi i get mul fakt mul def /BnY Bn Yi i get mul fakt mul def %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB Yi i get mul def /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 4 eq {(C) show imshow} if xchart4 5 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 370 sub BnY 050 sub moveto xchart4 4 eq {(G) show imshow} if xchart4 5 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 050 sub BnY 150 add moveto xchart4 4 eq {(Y) show imshow} if xchart4 5 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 500 sub xchart4 5 eq {150 add} if BnY 050 add moveto xchart4 4 eq {(max) show} if xchart4 5 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 100 sub BnY 150 add moveto xchart4 4 eq {(G) show ioshow} if xchart4 5 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /An XANCj j get YANCj j get 0.0001 add div %(a-an) XANK YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg def /AnY An YK Yi i get sub mul fakt mul def %(a-an)Y /BnY Bn YK Yi i get sub mul fakt mul def %(b-bn)Y %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB YK Yi i get sub mul def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 120 add BnY 050 sub moveto xchart4 4 eq {(R) show imshow} if xchart4 5 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 120 add BnY 050 sub moveto xchart4 4 eq {(M) show imshow} if xchart4 5 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 200 sub BnY 250 sub moveto xchart4 4 eq {(B) show imshow} if xchart4 5 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 100 add BnY 150 sub moveto xchart4 4 eq {(min) show} if xchart4 5 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin j 4 eq {AnY 100 sub BnY 350 sub moveto xchart4 4 eq {(M) show ioshow} if xchart4 5 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 } if %xchart4=4,5 %************************************************************** xchart4 6 eq xchart4 7 eq or {%xchart4=6,7 %only for (A1,B1) /fakt 40 def /a2 1.00 def /b2 -0.4 def proz_name_range proz_opti proz_param 3500 2100 translate %for text and grafic proz_axis_scales4_7 0 1 39 {/i exch def %i=0,39 /An XANi i get xc sub YANi i get 0.0001 add div def /Bn ZANi i get YANi i get 0.0001 add div 0.4 mul neg Bc mul def /AnK XANK xc sub YANK 0.0001 add div def /BnK ZANK YANK 0.0001 add div 0.4 mul neg Bc mul def /AnY An AnK sub Yi i get mul def /BnY Bn BnK sub Yi i get mul def AnY fakt mul BnY fakt mul i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 XANW xc sub YANW 0.0001 add div %(a-an)YW XANK xc sub YANK 0.0001 add div sub YW mul fakt mul ZANW YANW 0.0001 add div %(b-an)YW ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul YW mul fakt mul 90 0 360 arc stroke 0 080 add 0 080 add moveto TBS TELi xchartl get show %10 chromatic colours from continuous colours TBIS 0 1 4 {/j exch def %j=0,4 j 0 eq {/i 0 def} if %Cm-Rm j 1 eq {/i 5 def} if %Gm-Mm j 2 eq {/i 13 def} if %Ym-Bm j 3 eq {/i kx def} if %Max-Min j 4 eq {/i 40 def /k 6 def %Go Xi i XRj k get put %special Yi i YRj k get put Zi i ZRj k get put } if /SUM Xi i get Yi i get add Zi i get add 0.0001 add def XANCj j Xi i get SUM div put YANCj j Yi i get SUM div put ZANCj j Zi i get SUM div put /An XANCj j get xc sub YANCj j get 0.0001 add div %2.5(a-an)Y XANK xc sub YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %2.5(b-bn)Y ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul def /AnY An Yi i get mul fakt mul def /BnY Bn Yi i get mul fakt mul def %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB Yi i get mul def /Paramshow {Yi i get cvishow} bind def j 0 eq {AnY 350 sub BnY 050 sub moveto xchart4 6 eq {(C) show imshow} if xchart4 7 eq {Paramshow} if 1 0 0 0 setcmykcolor} if %Cm j 1 eq {AnY 370 sub BnY 050 sub moveto xchart4 6 eq {(G) show imshow} if xchart4 7 eq {Paramshow} if 1 0 1 0 setcmykcolor} if %Gm j 2 eq {AnY 050 sub BnY 150 add moveto xchart4 6 eq {(Y) show imshow} if xchart4 7 eq {Paramshow} if 0 0 1 0 setcmykcolor} if %Ym j 3 eq {AnY 500 sub xchart4 7 eq {150 add} if BnY 050 add moveto xchart4 6 eq {(max) show} if xchart4 7 eq {Paramshow} if 0.3 0 1 0 setcmykcolor} if %Ymax j 4 eq {AnY 100 sub BnY 150 add moveto xchart4 6 eq {(G) show ioshow} if xchart4 7 eq {Paramshow} if 1 0.5 1 0 setcmykcolor} if %Go newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke /SUM XK Xi i get sub YK Yi i get sub add ZK Zi i get sub add 0.0001 add def XANCj j XK Xi i get sub SUM div put YANCj j YK Yi i get sub SUM div put ZANCj j ZK Zi i get sub SUM div put /An XANCj j get xc sub YANCj j get 0.0001 add div %(a-an) XANK xc sub YANK 0.0001 add div sub def /Bn ZANCj j get YANCj j get 0.0001 add div %(b-bn) ZANK YANK 0.0001 add div sub 0.4 mul neg Bc mul def /AnY An YK Yi i get sub mul fakt mul def %(a-an)Y /BnY Bn YK Yi i get sub mul fakt mul def %(b-bn)Y %dAB, CAB not used /dAB An dup mul Bn dup mul add 0.0001 add sqrt def /CAB dAB YK Yi i get sub mul def /Paramshow {YK Yi i get sub cvishow} bind def j 0 eq {AnY 120 add BnY 050 sub moveto xchart4 6 eq {(R) show imshow} if xchart4 7 eq {Paramshow} if 0 1 1 0 setcmykcolor} if %Rm j 1 eq {AnY 120 add BnY 050 sub moveto xchart4 6 eq {(M) show imshow} if xchart4 7 eq {Paramshow} if 0 1 0 0 setcmykcolor} if %Mm j 2 eq {AnY 200 sub BnY 250 sub moveto xchart4 6 eq {(B) show imshow} if xchart4 7 eq {Paramshow} if 1 1 0 0 setcmykcolor} if %Bm j 3 eq {AnY 100 add BnY 150 sub moveto xchart4 6 eq {(min) show} if xchart4 7 eq {Paramshow} if 0.7 1 0 0 setcmykcolor} if %Bmin j 4 eq {AnY 100 sub BnY 350 sub moveto xchart4 6 eq {(M) show ioshow} if xchart4 7 eq {Paramshow} if 0 0.5 0 0 setcmykcolor} if %Mo newpath AnY BnY 90 0 360 arc fill 0 setgray newpath AnY BnY 90 0 360 arc stroke } for %j=0,4 } if %xchart4=6,7 showpage grestore } for %xchartl=0,7 } for %xchart4=0,7 } for %xcolorl=0,0 %%Trailer %line 269 %%EndDocument EndEPSF grestore gsave showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add 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 egw70-8N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw70-8N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 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 /SHSr 2 MM def /SHAr 2 MM def BeginEPSF 161 MM 06 MM sub SHSr 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 egw71-1N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw71-1N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 06 MM sub SHAr add 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 egw71-2N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw71-2N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 06 MM sub SHSr 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 egw71-3n_54 %%BoundingBox: 70 85 387 335 %START PDFDE011.EPS /pdfmark13 where {pop} {userdict /pdfmark13 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: farbe.li.tu-berlin.de/egw7/egw7.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:2023080112000) /ModDate (D:2023080112000) /DOCINFO pdfmark13 [ /View [ /Fit ] /DOCVIEW pdfmark13 %END PDFDE011 %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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TV {110 /Times-ISOL1 FS} bind def /TW {080 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TIV {110 /TimesI-ISOL1 FS} bind def /TIW {080 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBV {110 /TimesB-ISOL1 FS} bind def /TBW {080 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /TBIV {110 /TimesBI-ISOL1 FS} bind def /TBIW {080 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def /SV {110 /Symbol FS} bind def /SW {080 /Symbol FS} bind def %***************************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % gsave /cvishow0 {cvi 6 string cvs show} def /kchartl 1 def %0:left page, 1:right page /pchartl 0 def %0:top page, 4:down page %not used 72 90 translate 0.010 MM dup scale 40 setlinewidth /ymax1 08550 def /xmax1 11050 def %2x5400+250=11050 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto kchartl 0 eq {(egw70-) show} {(egw71-) show} ifelse pchartl 0 eq {(3n) show} {(7n) show} ifelse grestore gsave %00 %01 %02 /SHSl 00.0 def /SHAl -3.0 def /STSl 13.0 def /STAl 14.5 def BeginEPSF 28 SHSl sub MM 064 STSl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 15 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw71-1a CNS30-2A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark11 where {pop} {userdict /pdfmark11 /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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /DOCINFO pdfmark11 [ /View [ /Fit ] /DOCVIEW pdfmark11 %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 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 (egw71-1a CNS30-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 (egw70-) 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 (/) 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 (/) 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 %line 239 %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add MM 064 STSl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 16 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw71-2a CNS30-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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /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 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 (egw71-2a CNS30-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 (egw70-) 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 (/) 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 (/) 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 %line 249 %%EndDocument EndEPSF grestore gsave BeginEPSF /xc1 16 def /yc1 12 def /xt 1 def xchart 1 eq {/xt 1 def} if 28 SHSl sub MM 020 STAl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw71-3a CNS40-2A %%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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /DOCINFO pdfmark13 [ /View [ /Fit ] /DOCVIEW pdfmark13 %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 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 (egw71-3a CNS40-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 (egw70-) 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 (/) 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 259 %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add MM 020 STAl add 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 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw71-4a CNS40-8A %%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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /DOCINFO pdfmark14 [ /View [ /Fit ] /DOCVIEW pdfmark14 %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 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 (egw71-4a CNS40-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 (egw70-) 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 (/) 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 269 %%EndDocument EndEPSF grestore gsave showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 06 MM sub SHAr add 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 egw71-4N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw71-4N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 06 MM sub SHSr 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 egw71-5N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw71-5N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 06 MM sub SHAr add 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 egw71-6N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw71-6N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 grestore showpage %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 161 MM 06 MM sub SHSr 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 egw71-7n_54 %%BoundingBox: 70 85 387 335 %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/egw7/egw7.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:2023080112000) /ModDate (D:2023080112000) /DOCINFO pdfmark17 [ /View [ /Fit ] /DOCVIEW pdfmark17 %END PDFDE011 %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 /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-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-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 /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TV {110 /Times-ISOL1 FS} bind def /TW {080 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TIV {110 /TimesI-ISOL1 FS} bind def /TIW {080 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBV {110 /TimesB-ISOL1 FS} bind def /TBW {080 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /TBIV {110 /TimesBI-ISOL1 FS} bind def /TBIW {080 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def /SV {110 /Symbol FS} bind def /SW {080 /Symbol FS} bind def %***************************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % gsave /cvishow0 {cvi 6 string cvs show} def /kchartl 1 def %0:left page, 1:right page /pchartl 4 def %0:top page, 4:down page %not used 72 90 translate 0.010 MM dup scale 40 setlinewidth /ymax1 08550 def /xmax1 11050 def %2x5400+250=11050 1.0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath fill 0 setgray 0 0 moveto xmax1 0 rlineto 0 ymax1 rlineto xmax1 neg 0 rlineto closepath stroke TK 0 setgray 150 /Times-ISOL1 FS 150 -140 moveto kchartl 0 eq {(egw70-) show} {(egw71-) show} ifelse pchartl 0 eq {(3n) show} {(7n) show} ifelse grestore gsave %00 %01 %02 /SHSl 00.0 def /SHAl -3.0 def /STSl 13.0 def /STAl 14.5 def BeginEPSF 28 SHSl sub MM 064 STSl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 15 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw71-5a CNS30-2A_m %%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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /DOCINFO pdfmark15 [ /View [ /Fit ] /DOCVIEW pdfmark15 %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_L22 {%BEG Yi_L*i_dYi_L22 L22=TUBJ22 2022 %formulae see eeo01-2a %TUBJ22 /YYL 0.001 def /YFL 0.000001 def /Yu 18. def /A1 0.0170 def /A2 0.3343 def /A2u 5.9310 def %Yr =Y/Yu %DYr =A1(1+A2u*Yr) %F*(Yr)=ln[1+A2u*Yr]/[A1*A2u*] %DY =A1(1+A2 *Y ) %F*(Y) =ln[1+A2 *Y ]/[A1*A2 ] /YnW 100 def /Yu 018 def /Yn 100 def /L*u A2 Yu mul 1 add ln A1 A2 mul div def /dYu A2 Yu mul 1 add A1 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 A2 mul 1 add ln A1 A2 mul div put dYi ik Yi ik get A2 mul 1 add A1 mul 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_L22=TUBJ22 2023 %*********************************************** %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 (egw71-6a CNS30-2A_m) 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 (egw71-5a) 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 3800 ytr0 sub moveto xchartl 00 eq {%xchartl=00 (log) bLs 20rm (L*) jLs 1600 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (TUBJ22 lightness ) showen (TUBJ22\255Helligkeit ) showde (log \0500,1) bLs 20rm (L*) jLs (85) ibLs (\051) bLs 1 0 0 setrgbcolor 1600 xtr0 sub 3800 ytr0 sub 200 sub moveto TBL (CIELAB lightness ) showen (CIELAB\255Helligkeit ) showde (log) bLs 20rm (L*) jLs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log) bLs 20rm (\050) bLs (L*) jLs (22) ibLs (/) bLs 20rm (L*) jLs (22,u) ibLs (\051) bLs 2000 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (normalized TUBJ22 lightness) showen (normierte TUBJ22\255Helligkeit) showde 2000 xtr0 sub 3800 ytr0 sub 200 sub moveto (log) bLs 20rm (\050) bLs (L*) jLs (22) ibLs ( / ) bLs (L*) jLs (22,u) ibLs (\051) bLs 1 0 0 setrgbcolor 2000 xtr0 sub 3800 ytr0 sub 450 sub moveto TBL (normalized CIELAB lightness) showen (normierte CIELAB\255Helligkeit) showde 2000 xtr0 sub 3800 ytr0 sub 650 sub moveto (log) bLs 20rm (\050) bLs ( L*/L*) jLs (u) ibLs (\051) bLs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bLs 20rm (D) sKs 20rm (Y) jLs 1300 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3800 ytr0 sub 240 sub moveto (10) bLs 20rm (D) sKs 20rm (Y) jLs TBL 0 -50 rmoveto (TUBJ22) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sKs 20rm (Y) jLs TBL 0 -50 rmoveto (CIELAB) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bLs 20rm (\050) bLs (D) sKs 20rm (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs (\051) bLs 1800 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3800 ytr0 sub 200 sub moveto (D) sKs 20rm (Y) jLs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sKs 20rm (Y) jLs (u) ibLs 1800 xtr0 sub 3800 ytr0 sub 400 sub moveto TBL (for TUBJ22 and ) showen (f\374r TUBJ22 und ) showde 1 0 0 setrgbcolor (CIELAB) bLs 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bLs 20rm (\050) bLs (D) sKs (Y/Y) jLs (u) ibLs (\051) bLs 1900 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3800 ytr0 sub 200 sub moveto (10) bLs (S) jLs TBL 0 -50 rmoveto (r,TUBJ22) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jLs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log [\050) bLs (D) sKs (Y/Y) jLs (\051 / \050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs (]) bLs 2800 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2800 xtr0 sub 3800 ytr0 sub 200 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sKs (Y/Y) jLs (u) ibLs 2800 xtr0 sub 3800 ytr0 sub 450 sub moveto (TUBJ22 & ) bLs 1 0 0 setrgbcolor (CIELAB) bLs 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bLs 20rm (\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051) bLs 1900 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE) bLs 20rm (Y) jLs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3800 ytr0 sub 240 sub moveto (0,1) bLs 20rm (C) jLs TBL 0 -50 rmoveto (r,TUBJ22) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jLs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (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 2800 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3800 ytr0 sub 200 sub moveto TBL (normalized to ) showen (normiert f\374r ) showde (\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs 2800 xtr0 sub 3800 ytr0 sub 400 sub moveto (TUBJ22 & ) bLs 1 0 0 setrgbcolor (CIELAB) bLs 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 %TUBJ22 & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L22} if %TUBJ22 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 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 TUBJ22 x0 L*i iu get log MULY mul 250 sub moveto (log) bLs 20rm (L*) jLs (22,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 (22,u) ibLs (=) bLs TBL L*u TBL cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu TBL cvishow } if %n=0 TUBJ22 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %TUBJ22 & 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 150 sub 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 (TUBJ22) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %dY=A1*[1+A2*Y]=A1*[1+A2u*Y/Yu] %L*=ln(1+A2*Y)/[A1*A2]=ln(1+A2u*Y/Yu)/[A1*A2u] 30 setlinewidth /y01 y0 ydel 1.1 mul sub def x0 600 add y01 050 add moveto 1200 0 rlineto stroke x0 y01 moveto (L*) jLs (22) ibLs ( =) bLs x0 650 add y01 130 add moveto (ln[1 + A) bLs (2) ibLs ( Y) jLs (]) bLs x0 800 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2) ibLs x0 2000 add y01 050 add moveto 1500 0 rlineto stroke x0 1800 add y01 moveto (=) bLs x0 2050 add y01 130 add moveto (ln[1 + A) bLs (2u) ibLs (\050) bLs (Y/Y) jLs (u) ibLs (\051]) bLs x0 2050 add 200 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2u) ibLs x0 y0 ydel 2.3 mul sub moveto (A) bLs (1) ibLs (=0,0170, ) bLs (A) bLs (2) ibLs (=0,3343, ) bLs (A) bLs (2u) ibLs (=5,391, ) bLs (Y) jLs (u) ibLs (=18) bLs 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 3.3 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 %TUBJ22 & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L22} if %TUBJ22 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 TUBJ22 x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (22) ibLs (\051) bLs (/\050) bLs (L*) jLs (22,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 (22,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 %TUBJ22 & 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 150 sub def /y0 2550 def /x1 800 def /y1 2550 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 070 add moveto TBL (TUBJ22) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %dY=A1*[1+A2*Y]=A1*[1+A2u*Y/Yu] %L*=ln(1+A2*Y)/[A1*A2]=ln(1+A2u*Y/Yu)/[A1*A2u] 30 setlinewidth /y01 y0 ydel 1.1 mul sub def x0 600 add y01 050 add moveto 1100 0 rlineto stroke x0 y01 moveto (L*) jLs (22) ibLs ( =) bLs x0 650 add y01 130 add moveto (ln[1 + A) bLs (2) ibLs ( Y) jLs (]) bLs x0 800 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2) ibLs x0 2000 add y01 050 add moveto 1500 0 rlineto stroke x0 1800 add y01 moveto (=) bLs x0 2050 add y01 130 add moveto (ln[1 + A) bLs (2u) ibLs (\050) bLs (Y/Y) jLs (u) ibLs (\051]) bLs x0 2050 add 200 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2u) ibLs x0 y0 ydel 2.3 mul sub moveto (A) bLs (1) ibLs (=0,0170, ) bLs (A) bLs (2) ibLs (=0,3343, ) bLs (A) bLs (2u) ibLs (=5,391, ) bLs (Y) jLs (u) ibLs (=18) bLs 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 3.3 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_L22} if %TUBJ22 2022 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 TUBJ22 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 TUBJ22 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 TUBJ22 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 TUBJ22 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 (/) 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 TUBJ22 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 TUBJ22 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 (/) 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 TUBJ22, 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 %line 239 %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add MM 064 STSl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 16 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw71-6a CNS30-2A %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark16 where {pop} {userdict /pdfmark16 /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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /DOCINFO pdfmark16 [ /View [ /Fit ] /DOCVIEW pdfmark16 %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_L23 {%BEG Yi_L*i_dYi_L23 L23=TUBJ23 2023 %formulae see eeo01-2a %TUBJ23 /YYL 0.001 def /YFL 0.000001 def /Yu 18. def /A1 0.0251 def /A2 0.1566 def /A2u 2.778 def /A3 1.107 def /A31add 2.107 def %Yr =Y/Yu %DYr =A1(1+A2u*Yr)**A3 %F*(Yr)= {[1+A2u*Yr]**(A3+1)}/[A1*A2u*(A3+1)] %DY =A1(1+A2 *Y )**A3 %F*(Y) = {[1+A2 *Y ]**(A3+1)}/[A1*A2 *(A3+1)] /YnW 100 def /Yu 018 def /Yn 100 def /L*u A2 Yu mul 1 add A31add exp A1 A2 mul A31add mul div def /dYu A2 Yu mul 1 add A3 exp A1 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 A2 mul 1 add A31add exp A1 A2 mul A31add mul div put dYi ik Yi ik get A2 mul 1 add A3 exp A1 mul 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_L23=TUBJ23 2023 %*********************************************** %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 (egw71-6a CNS30-2A_m) 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 (egw70-6a) 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 3800 ytr0 sub moveto xchartl 00 eq {%xchartl=00 (log) bLs 20rm (L*) jLs 1600 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (TUBJ23 lightness ) showen (TUBJ23\255Helligkeit ) showde (log \0500,1) bLs 20rm (L*) jLs (85) ibLs (\051) bLs 1 0 0 setrgbcolor 1600 xtr0 sub 3800 ytr0 sub 200 sub moveto TBL (CIELAB lightness ) showen (CIELAB\255Helligkeit ) showde (log) bLs 20rm (L*) jLs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log) bLs 20rm (\050) bLs (L*) jLs (23) ibLs (/) bLs 20rm (L*) jLs (23,u) ibLs (\051) bLs 2000 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (normalized TUBJ23 lightness) showen (normierte TUBJ23\255Helligkeit) showde 2000 xtr0 sub 3800 ytr0 sub 200 sub moveto (log) bLs 20rm (\050) bLs (L*) jLs (23) ibLs ( / ) bLs (L*) jLs (23,u) ibLs (\051) bLs 1 0 0 setrgbcolor 2000 xtr0 sub 3800 ytr0 sub 450 sub moveto TBL (normalized CIELAB lightness) showen (normierte CIELAB\255Helligkeit) showde 2000 xtr0 sub 3800 ytr0 sub 650 sub moveto (log) bLs 20rm (\050) bLs ( L*/L*) jLs (u) ibLs (\051) bLs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bLs 20rm (D) sKs 20rm (Y) jLs 1300 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3800 ytr0 sub 240 sub moveto (10) bLs 20rm (D) sKs 20rm (Y) jLs TBL 0 -50 rmoveto (TUBJ23) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sKs 20rm (Y) jLs TBL 0 -50 rmoveto (CIELAB) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bLs 20rm (\050) bLs (D) sKs 20rm (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs (\051) bLs 1800 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3800 ytr0 sub 200 sub moveto (D) sKs 20rm (Y) jLs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sKs 20rm (Y) jLs (u) ibLs 1800 xtr0 sub 3800 ytr0 sub 400 sub moveto TBL (for TUBJ23 and ) showen (f\374r TUBJ23 und ) showde 1 0 0 setrgbcolor (CIELAB) bLs 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bLs 20rm (\050) bLs (D) sKs (Y/Y) jLs (u) ibLs (\051) bLs 1900 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3800 ytr0 sub 200 sub moveto (10) bLs (S) jLs TBL 0 -50 rmoveto (r,TUBJ23) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jLs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log [\050) bLs (D) sKs (Y/Y) jLs (\051 / \050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs (]) bLs 2800 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2800 xtr0 sub 3800 ytr0 sub 200 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sKs (Y/Y) jLs (u) ibLs 2800 xtr0 sub 3800 ytr0 sub 450 sub moveto (TUBJ23 & ) bLs 1 0 0 setrgbcolor (CIELAB) bLs 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bLs 20rm (\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051) bLs 1900 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE) bLs 20rm (Y) jLs TBK ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3800 ytr0 sub 240 sub moveto (0,1) bLs 20rm (C) jLs TBL 0 -50 rmoveto (r,TUBJ23) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jLs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (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 2800 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3800 ytr0 sub 200 sub moveto TBL (normalized to ) showen (normiert f\374r ) showde (\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs 2800 xtr0 sub 3800 ytr0 sub 400 sub moveto (TUBJ23 & ) bLs 1 0 0 setrgbcolor (CIELAB) bLs 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 %TUBJ23 & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L23} if %TUBJ23 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 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 TUBJ23 x0 L*i iu get log MULY mul 250 sub moveto (log) bLs 20rm (L*) jLs (23,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 (23,u) ibLs (=) bLs TBL L*u TBL cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu TBL cvishow } if %n=0 TUBJ23 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %TUBJ23 & 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 150 sub 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 (TUBJ23) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %dY=A1*[1+A2*Y]**A3 %L*=[(1+A2*Y)**(A3+1)] / [A1*A2*(A3+1)] 30 setlinewidth /y01 y0 ydel 1.1 mul sub def x0 600 add y01 050 add moveto 1600 0 rlineto stroke x0 y01 moveto (L*) jLs (23) ibLs ( =) bLs x0 650 add y01 130 add moveto ([1 + A) bLs (2) ibLs ( Y) jLs (]) bLs 0 60 rmoveto (\050A) bLs (3) ibLs ( + 1\051) bLs 0 -60 rmoveto x0 800 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2) ibLs ( \050) bLs (A) bLs (3) ibLs ( + 1\051) bLs x0 y0 ydel 2.3 mul sub moveto (A) bLs (1) ibLs ( = 0,0251, ) bLs (A) bLs (2) ibLs ( = 0,1566, ) bLs (A) bLs (3) ibLs ( = 1,1070) bLs 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 3.3 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 %TUBJ23 & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L23} if %TUBJ23 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 TUBJ23 x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (23) ibLs (\051) bLs (/\050) bLs (L*) jLs (23,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 (23,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 %TUBJ23 & 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 150 sub def /y0 2550 def /x1 800 def /y1 2550 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 070 add moveto TBL (TUBJ23) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %dY=A1*[1+A2*Y]**A3=A1*[1+A2u*(Y/Yu)]**A3 %L*=[(1+A2 *Y )**(A3+1)]/[A1*A2 *(A3+1)] % =[(1+A2u*(Y/Yu))**(A3+1)]/[A1*A2u*(A3+1)] 30 setlinewidth /y01 y0 ydel 1.1 mul sub def x0 550 add y01 050 add moveto 1300 0 rlineto stroke x0 y01 moveto (L*) jLs (23) ibLs (=) bLs x0 550 add y01 130 add moveto ([1+A) bLs (2) ibLs ( Y) jLs (]) bLs 0 60 rmoveto (\050A) bLs (3) ibLs (+1\051) bLs 0 -60 rmoveto x0 750 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2) ibLs ( \050) bLs (A) bLs (3) ibLs (+1\051) bLs x0 2050 add y01 050 add moveto 1800 0 rlineto stroke x0 1900 add y01 moveto (=) bLs x0 2100 add y01 130 add moveto ([1+A) bLs (2u) ibLs (\050) bLs (Y/Y) jLs (u) ibLs (\051]) bLs 0 60 rmoveto (\050A) bLs (3) ibLs (+1\051) bLs 0 -60 rmoveto x0 2100 add 000 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2u) ibLs ( \050) bLs (A) bLs (3) ibLs (+1\051) bLs x0 y0 ydel 2.3 mul sub moveto (A) bLs (1) ibLs (=0,0251, ) bLs (A) bLs (2) ibLs (=0,1566, ) bLs (A) bLs (3) ibLs (=1,1070, ) bLs (Y) jLs (u) ibLs (=18) bLs 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 3.3 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_L23} if %TUBJ23 2023 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 TUBJ23 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 TUBJ23 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 TUBJ23 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 TUBJ23 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 (/) 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 TUBJ23 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 TUBJ23 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 (/) 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 TUBJ23, 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 %line 249 %%EndDocument EndEPSF grestore gsave BeginEPSF /xc1 16 def /yc1 12 def /xt 1 def xchart 1 eq {/xt 1 def} if 28 SHSl sub MM 020 STAl add MM translate 10 /Times-ISOL1 FS 53 MM 1 MM moveto ( ) show 1 1 scale -77 -91 translate %%BeginDocument: Bild 17 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw71-7a CNS30-2A_m %%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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /DOCINFO pdfmark17 [ /View [ /Fit ] /DOCVIEW pdfmark17 %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_L22 {%BEG Yi_L*i_dYi_L22 L22=TUBJ22 2022 %formulae see eeo01-2a %TUBJ22 /YYL 0.001 def /YFL 0.000001 def /Yu 18. def /A1 0.0170 def /A2 0.3343 def /A2u 5.9310 def %Yr =Y/Yu %DYr =A1(1+A2u*Yr) %F*(Yr)=ln[1+A2u*Yr]/[A1*A2u*] %DY =A1(1+A2 *Y ) %F*(Y) =ln[1+A2 *Y ]/[A1*A2 ] /YnW 100 def /Yu 018 def /Yn 100 def /L*u A2 Yu mul 1 add ln A1 A2 mul div def /dYu A2 Yu mul 1 add A1 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 A2 mul 1 add ln A1 A2 mul div put dYi ik Yi ik get A2 mul 1 add A1 mul 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_L22=TUBJ22 2023 %*********************************************** %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 (egw71-6a CNS30-2A_m) 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 (egw71-7a) 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 3800 ytr0 sub moveto xchartl 00 eq {%xchartl=00 (log) bLs 20rm (L*) jLs 1600 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (TUBJ22 lightness ) showen (TUBJ22\255Helligkeit ) showde (log \0500,1) bLs 20rm (L*) jLs (85) ibLs (\051) bLs 1 0 0 setrgbcolor 1600 xtr0 sub 3800 ytr0 sub 200 sub moveto TBL (CIELAB lightness ) showen (CIELAB\255Helligkeit ) showde (log) bLs 20rm (L*) jLs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log) bLs 20rm (\050) bLs (L*) jLs (22) ibLs (/) bLs 20rm (L*) jLs (22,u) ibLs (\051) bLs 2000 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (normalized TUBJ22 lightness) showen (normierte TUBJ22\255Helligkeit) showde 2000 xtr0 sub 3800 ytr0 sub 200 sub moveto (log) bLs 20rm (\050) bLs (L*) jLs (22) ibLs ( / ) bLs (L*) jLs (22,u) ibLs (\051) bLs 1 0 0 setrgbcolor 2000 xtr0 sub 3800 ytr0 sub 450 sub moveto TBL (normalized CIELAB lightness) showen (normierte CIELAB\255Helligkeit) showde 2000 xtr0 sub 3800 ytr0 sub 650 sub moveto (log) bLs 20rm (\050) bLs ( L*/L*) jLs (u) ibLs (\051) bLs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bLs 20rm (D) sKs 20rm (Y) jLs 1300 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3800 ytr0 sub 240 sub moveto (10) bLs 20rm (D) sKs 20rm (Y) jLs TBL 0 -50 rmoveto (TUBJ22) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sKs 20rm (Y) jLs TBL 0 -50 rmoveto (CIELAB) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bLs 20rm (\050) bLs (D) sKs 20rm (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs (\051) bLs 1800 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3800 ytr0 sub 200 sub moveto (D) sKs 20rm (Y) jLs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sKs 20rm (Y) jLs (u) ibLs 1800 xtr0 sub 3800 ytr0 sub 400 sub moveto TBL (for TUBJ22 and ) showen (f\374r TUBJ22 und ) showde 1 0 0 setrgbcolor (CIELAB) bLs 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bLs 20rm (\050) bLs (D) sKs (Y/Y) jLs (u) ibLs (\051) bLs 1900 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3800 ytr0 sub 200 sub moveto (10) bLs (S) jLs TBL 0 -50 rmoveto (r,TUBJ22) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jLs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log [\050) bLs (D) sKs (Y/Y) jLs (\051 / \050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs (]) bLs 2800 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2800 xtr0 sub 3800 ytr0 sub 200 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sKs (Y/Y) jLs (u) ibLs 2800 xtr0 sub 3800 ytr0 sub 450 sub moveto (TUBJ22 & ) bLs 1 0 0 setrgbcolor (CIELAB) bLs 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bLs 20rm (\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051) bLs 1900 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE) bLs 20rm (Y) jLs TBL ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3800 ytr0 sub 240 sub moveto (0,1) bLs 20rm (C) jLs TBL 0 -50 rmoveto (r,TUBJ22) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jLs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (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 2800 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBL ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3800 ytr0 sub 200 sub moveto TBL (normalized to ) showen (normiert f\374r ) showde (\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs 2800 xtr0 sub 3800 ytr0 sub 400 sub moveto (TUBJ22 & ) bLs 1 0 0 setrgbcolor (CIELAB) bLs 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 %TUBJ22 & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L22} if %TUBJ22 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 TUBJ22 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 TUBJ22 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 TUBJ22 x0 L*i iu get log MULY mul 250 sub moveto (log) bLs 20rm (L*) jLs (22,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 (22,u) ibLs (=) bLs TBL L*u TBL cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu TBL cvishow } if %n=0 TUBJ22 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %TUBJ22 & 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 150 sub 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 (TUBJ22) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %dY=A1*[1+A2*Y]=A1*[1+A2u*Y/Yu] %L*=ln(1+A2*Y)/[A1*A2]=ln(1+A2u*Y/Yu)/[A1*A2u] 30 setlinewidth /y01 y0 ydel 1.1 mul sub def x0 600 add y01 050 add moveto 1200 0 rlineto stroke x0 y01 moveto (L*) jLs (22) ibLs ( =) bLs x0 650 add y01 130 add moveto (ln[1 + A) bLs (2) ibLs ( Y) jLs (]) bLs x0 800 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2) ibLs x0 2000 add y01 050 add moveto 1500 0 rlineto stroke x0 1800 add y01 moveto (=) bLs x0 2050 add y01 130 add moveto (ln[1 + A) bLs (2u) ibLs (\050) bLs (Y/Y) jLs (u) ibLs (\051]) bLs x0 2050 add 200 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2u) ibLs x0 y0 ydel 2.3 mul sub moveto (A) bLs (1) ibLs ( = 0,0170, ) bLs (A) bLs (2) ibLs ( = 0,3343, ) bLs (A) bLs (2u) ibLs ( = 5,391, ) bLs (Y) jLs (u) ibLs ( = 18) bLs 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 3.3 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 %TUBJ22 & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L22} if %TUBJ22 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 TUBJ22 x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (22) ibLs (\051) bLs (/\050) bLs (L*) jLs (22,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 (22,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 %TUBJ22 & 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 150 sub def /y0 2550 def /x1 800 def /y1 2550 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 070 add moveto TBL (TUBJ22) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %dY=A1*[1+A2*Y]=A1*[1+A2u*Y/Yu] %L*=ln(1+A2*Y)/[A1*A2]=ln(1+A2u*Y/Yu)/[A1*A2u] 30 setlinewidth /y01 y0 ydel 1.1 mul sub def x0 600 add y01 050 add moveto 1100 0 rlineto stroke x0 y01 moveto (L*) jLs (22) ibLs ( =) bLs x0 650 add y01 130 add moveto (ln[1 + A) bLs (2) ibLs ( Y) jLs (]) bLs x0 800 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2) ibLs x0 2000 add y01 050 add moveto 1500 0 rlineto stroke x0 1800 add y01 moveto (=) bLs x0 2050 add y01 130 add moveto (ln[1 + A) bLs (2u) ibLs (\050) bLs (Y/Y) jLs (u) ibLs (\051]) bLs x0 2050 add 200 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2u) ibLs x0 y0 ydel 2.3 mul sub moveto (A) bLs (1) ibLs ( = 0,0170, ) bLs (A) bLs (2) ibLs ( = 0,3343, ) bLs (A) bLs (2u) ibLs ( = 5,391, ) bLs (Y) jLs (u) ibLs ( = 18) bLs 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 3.3 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_L22} if %TUBJ22 2022 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 TUBJ22 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 TUBJ22 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 TUBJ22 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 TUBJ22 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 (/) 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 TUBJ22 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 TUBJ22 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 TUBJ22, 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_L22} if %TUBJ22 2022 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 (/) 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 TUBJ22, 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 tfn %C08 x0 2650 add y0 200 add moveto (A) bLs (1) ibLs (=0,0170, ) bLs (A) bLs (2) ibLs (=0,3343) bLs x0 2650 add y0 moveto (A) bLs (2u) ibLs (=5,391, ) bLs (Y) jLs (u) ibLs (=18) bLs x0 y0 moveto TBL (normierter TUBJ22\255Kontrast) showde (normalized TUBJ22 contrast) showen %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 1.0 ydel mul sub moveto (log) bLs 20 0 rmoveto ([) bLs ((Y/dY)/(Y/dY)) jLs (u) ibLs (]) bLs ( = [\0501+A) bLs (2u) ibLs (\051 \050) bLs (Y/Y) jLs (u) ibLs (\051]) bLs ( / [1+A) bLs (2u) ibLs (\050) bLs (Y/Y) jLs (u) ibLs (\051]) bLs tfr %C08 x0 y0 2.0 ydel mul sub moveto TBL (normierter CIELAB\255Kontrast) showde (normalized CIELAB contrast) showen %Cr= log[(Y/dY)/(Yu/dYu)] x0 500 add y0 3.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 tfn } 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 %line 259 %%EndDocument EndEPSF grestore gsave BeginEPSF 86 SHAl add MM 020 STAl add 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 %!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/egw7/egw71-8a CNS30-2A %%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/egw7/egw7.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:2023080112000) /ModDate (D:20230801112000) /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_L23 {%BEG Yi_L*i_dYi_L23 L23=TUBJ23 2023 %formulae see eeo01-2a %TUBJ23 /YYL 0.001 def /YFL 0.000001 def /Yu 18. def /A1 0.0251 def /A2 0.1566 def /A2u 2.778 def /A3 1.107 def /A31add 2.107 def %Yr =Y/Yu %DYr =A1(1+A2u*Yr)**A3 %F*(Yr)= {[1+A2u*Yr]**(A3+1)}/[A1*A2u*(A3+1)] %DY =A1(1+A2 *Y )**A3 %F*(Y) = {[1+A2 *Y ]**(A3+1)}/[A1*A2 *(A3+1)] /YnW 100 def /Yu 018 def /Yn 100 def /L*u A2 Yu mul 1 add A31add exp A1 A2 mul A31add mul div def /dYu A2 Yu mul 1 add A3 exp A1 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 A2 mul 1 add A31add exp A1 A2 mul A31add mul div put dYi ik Yi ik get A2 mul 1 add A3 exp A1 mul 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_L23=TUBJ23 2023 %*********************************************** %%EndProlog gsave /lanind 1 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /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 (egw71-8a CNS30-2A_m) 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 (egw70-6a) 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 3800 ytr0 sub moveto xchartl 00 eq {%xchartl=00 (log) bLs 20rm (L*) jLs 1600 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (TUBJ23 lightness ) showen (TUBJ23\255Helligkeit ) showde (log \0500,1) bLs 20rm (L*) jLs (85) ibLs (\051) bLs 1 0 0 setrgbcolor 1600 xtr0 sub 3800 ytr0 sub 200 sub moveto TBL (CIELAB lightness ) showen (CIELAB\255Helligkeit ) showde (log) bLs 20rm (L*) jLs 0 0 0 setrgbcolor } if %xchartl=00 xchartl 01 eq {%xchartl=01 (log) bLs 20rm (\050) bLs (L*) jLs (23) ibLs (/) bLs 20rm (L*) jLs (23,u) ibLs (\051) bLs 2000 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (normalized TUBJ23 lightness) showen (normierte TUBJ23\255Helligkeit) showde 2000 xtr0 sub 3800 ytr0 sub 200 sub moveto (log) bLs 20rm (\050) bLs (L*) jLs (23) ibLs ( / ) bLs (L*) jLs (23,u) ibLs (\051) bLs 1 0 0 setrgbcolor 2000 xtr0 sub 3800 ytr0 sub 450 sub moveto TBL (normalized CIELAB lightness) showen (normierte CIELAB\255Helligkeit) showde 2000 xtr0 sub 3800 ytr0 sub 650 sub moveto (log) bLs 20rm (\050) bLs ( L*/L*) jLs (u) ibLs (\051) bLs 0 0 0 setrgbcolor } if %xchartl=01 xchartl 02 eq {%xchartl=02 (log) bLs 20rm (D) sKs 20rm (Y) jLs 1300 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (CIE tristimulus value difference ) showen (CIE\255Normfarbwertdifferenz ) showde 1300 xtr0 sub 3800 ytr0 sub 240 sub moveto (10) bLs 20rm (D) sKs 20rm (Y) jLs TBL 0 -50 rmoveto (TUBJ23) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (D) sKs 20rm (Y) jLs TBL 0 -50 rmoveto (CIELAB) show 0 50 rmoveto TBK 0 0 0 setrgbcolor } if %xchartl=02 xchartl 03 eq {%xchartl=03 (log) bLs 20rm (\050) bLs (D) sKs 20rm (Y) jLs (/) bLs (D) sKs (Y) jLs (u) ibLs (\051) bLs 1800 xtr0 sub 3800 ytr0 sub 000 sub moveto TBL (CIE tristimulus value difference) showen (CIE\255Normfarbwertdifferenz) showde 1800 xtr0 sub 3800 ytr0 sub 200 sub moveto (D) sKs 20rm (Y) jLs TBK ( normalized to ) showen ( normiert f\374r ) showde (D) sKs 20rm (Y) jLs (u) ibLs 1800 xtr0 sub 3800 ytr0 sub 400 sub moveto TBL (for TUBJ23 and ) showen (f\374r TUBJ23 und ) showde 1 0 0 setrgbcolor (CIELAB) bLs 0 0 0 setrgbcolor } if %xchartl=03 xchartl 04 eq {%xchartl=04 (log) bLs 20rm (\050) bLs (D) sKs (Y/Y) jLs (u) ibLs (\051) bLs 1900 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 1900 xtr0 sub 3800 ytr0 sub 200 sub moveto (10) bLs (S) jLs TBL 0 -50 rmoveto (r,TUBJ23) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (S) jLs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=04 xchartl 05 eq {%xchartl=05 (log [\050) bLs (D) sKs (Y/Y) jLs (\051 / \050) bLs (D) sKs (Y/Y) jLs (\051) bLs (u) ibLs (]) bLs 2800 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBK ( sensitivity) showen (\255Empfindlichkeit) showde 2800 xtr0 sub 3800 ytr0 sub 200 sub moveto (normalized to ) showen (normiert f\374r ) showde (D) sKs (Y/Y) jLs (u) ibLs 2800 xtr0 sub 3800 ytr0 sub 450 sub moveto (TUBJ23 & ) bLs 1 0 0 setrgbcolor (CIELAB) bLs 0 0 0 setrgbcolor } if %xchartl=05 xchartl 06 eq {%xchartl=06 (log) bLs 20rm (\050) bLs (Y/) jLs (D) sKs (Y) jLs (\051) bLs 1900 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE) bLs 20rm (Y) jLs TBL ( contrast) showen (\255Kontrast) showde 1900 xtr0 sub 3800 ytr0 sub 240 sub moveto (0,1) bLs 20rm (C) jLs TBL 0 -50 rmoveto (r,TUBJ23) show 0 50 rmoveto TBK ( und ) showde ( and ) showen 1 0 0 setrgbcolor (C) jLs TBL 0 -50 rmoveto (r,CIELAB) show 0 50 rmoveto 0 0 0 setrgbcolor } if %xchartl=06 xchartl 07 eq {%xchartl=07 (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 2800 xtr0 sub 3800 ytr0 sub 000 sub moveto (CIE ) bLs (Y) jLs TBL ( contrast) showen (\255Kontrast) showde 2800 xtr0 sub 3800 ytr0 sub 200 sub moveto TBL (normalized to ) showen (normiert f\374r ) showde (\050) bLs (Y) jLs (/) bLs (D) sKs (Y) jLs (\051) bLs (u) ibLs 2800 xtr0 sub 3800 ytr0 sub 400 sub moveto (TUBJ23 & ) bLs 1 0 0 setrgbcolor (CIELAB) bLs 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 %TUBJ23 & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L23} if %TUBJ23 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 TUBJ23 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 TUBJ23 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 TUBJ23 x0 L*i iu get log MULY mul 250 sub moveto (log) bLs 20rm (L*) jLs (23,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 (23,u) ibLs (=) bLs TBL L*u TBL cvishow (, Y) jLs (u) ibLs (=) bLs TBL Yu TBL cvishow } if %n=0 TUBJ23 xtr ytr translate %new cero point } if %k=0 } for %k=0,0 } for %n=0,1 %TUBJ23 & 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 150 sub def /y0 2350 def /x1 800 def /y1 2350 def /xdel 800 def /ydel 300 def %/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 (TUBJ23) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %dY=A1*[1+A2*Y]**A3 %L*=(1+A2*Y)**(A3+1) % /[A1*A2*(A3+1)] 30 setlinewidth /y01 y0 ydel 1.1 mul sub def x0 600 add y01 050 add moveto 1600 0 rlineto stroke x0 y01 moveto (L*) jLs (23) ibLs ( =) bLs x0 650 add y01 130 add moveto ([1 + A) bLs (2) ibLs ( Y) jLs (]) bLs 0 60 rmoveto (\050A) bLs (3) ibLs ( + 1\051) bLs 0 -60 rmoveto x0 800 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2) ibLs ( \050) bLs (A) bLs (3) ibLs ( + 1\051) bLs x0 y0 ydel 2.3 mul sub moveto (A) bLs (1) ibLs ( = 0,0251, ) bLs (A) bLs (2) ibLs ( = 0,1566, ) bLs (A) bLs (3) ibLs ( = 1,1070) bLs 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 3.3 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 %TUBJ23 & CIELAB 0 1 0 {/k exch def %k=0,0:W,R,G,B n 0 eq {Yi_L*i_dYi_L23} if %TUBJ23 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 TUBJ23 x0 ytr 220 sub moveto (log[) bLs (\050) bLs (L*) jLs (23) ibLs (\051) bLs (/\050) bLs (L*) jLs (23,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 (23,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 %TUBJ23 & 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 150 sub def /y0 2550 def /x1 800 def /y1 2550 def /xdel 800 def /ydel 300 def ioute 0 eq {%ioute=0 tfr %C01 0 0 0 setrgbcolor x0 y0 070 add moveto TBL (TUBJ23) show ( and ) showen ( und ) showde 1 0 0 setrgbcolor (CIELAB) show 0 0 0 setrgbcolor ( lightness) showen (\255Helligkeit) showde %dY=A1*[1+A2*Y]**A3=A1*[1+A2u*(Y/Yu)]**A3 %L*=[(1+A2 *Y )**(A3+1)]/[A1*A2 *(A3+1)] % =[(1+A2u*(Y/Yu))**(A3+1)]/[A1*A2u*(A3+1)] 30 setlinewidth /y01 y0 ydel 1.1 mul sub def x0 550 add y01 050 add moveto 1300 0 rlineto stroke x0 y01 moveto (L*) jLs (23) ibLs (=) bLs x0 550 add y01 130 add moveto ([1+A) bLs (2) ibLs ( Y) jLs (]) bLs 0 60 rmoveto (\050A) bLs (3) ibLs (+1\051) bLs 0 -60 rmoveto x0 750 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2) ibLs ( \050) bLs (A) bLs (3) ibLs (+1\051) bLs x0 2050 add y01 050 add moveto 1800 0 rlineto stroke x0 1900 add y01 moveto (=) bLs x0 2100 add y01 130 add moveto ([1+A) bLs (2u) ibLs (\050) bLs (Y/Y) jLs (u) ibLs (\051]) bLs 0 60 rmoveto (\050A) bLs (3) ibLs (+1\051) bLs 0 -60 rmoveto x0 2100 add 000 add y01 120 sub moveto (A) bLs (1) ibLs ( A) bLs (2u) ibLs ( \050) bLs (A) bLs (3) ibLs (+1\051) bLs x0 y0 ydel 2.3 mul sub moveto (A) bLs (1) ibLs (=0,0251, ) bLs (A) bLs (2) ibLs (=0,1566, ) bLs (A) bLs (3) ibLs (=1,1070, ) bLs (Y) jLs (u) ibLs (=18) bLs 1 0 0 setrgbcolor %L*= 116(Y/Yn)**(1/3)-16 x0 y0 3.3 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_L23} if %TUBJ23 2023 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 TUBJ23 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 TUBJ23 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 TUBJ23 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 TUBJ23 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 (/) 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 TUBJ23 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 TUBJ23 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 TUBJ23, 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_L23} if %TUBJ23 2023 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 (/) 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 TUBJ23, 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 tfn %C08 x0 2650 add y0 200 add moveto (A) bLs (2) ibLs (=0,1566, ) bLs (A) bLs (2u) ibLs (=2,778) bLs x0 2650 add y0 moveto (A) bLs (3) ibLs (=1,107, ) bLs (Y) jLs (u) ibLs (=18) bLs x0 y0 moveto TBL (normierter TUBJ23\255Kontrast) showde (normalized TUBJ23 contrast) showen %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 1.0 ydel mul sub moveto ([) bLs ((Y/dY)/(Y/dY)) jLs (u) ibLs (]) bLs ( = {[) bLs (Y/Y) jLs (u) ibLs (]) show ([1+A) bLs (2u) ibLs (]) bLs 0 50 rmoveto (A) bLs (3) ibLs 0 -50 rmoveto (} / {) bLs ([1+A) bLs (2) ibLs (Y) jLs (]) bLs 0 50 rmoveto (A) bLs (3) ibLs 0 -50 rmoveto (}) bLs tfr %C08 x0 y0 2.0 ydel mul sub moveto TBL (normierter CIELAB\255Kontrast) showde (normalized CIELAB contrast) showen %Cr= log[(Y/dY)/(Yu/dYu)] x0 y0 3.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 tfn } 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 %line 269 %%EndDocument EndEPSF grestore gsave showpage grestore %%Trailer %%EndDocument EndEPSF grestore gsave BeginEPSF 219 MM 06 MM sub SHAr add 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 egw71-8N %%BoundingBox: 70 85 246 206 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def %%EndProlog gsave /ioutx 0 def ioutx 1 eq {%ioutx=1 4 /Times-Roman FS 72 86 moveto (egw71-8N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 6100 def /ywidth 4000 def 1 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke } if %ioutx=1 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 /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 1.0 MM translate %page shift down 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 0 eq {/Txx (-) def /Fxx (-) def} if xchart 1 ge {%xchart>=1 /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>=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 /xmo xlo xro xlo sub 0.5 mul add def /ymo yro 1 MM sub def xmo 1 MM sub ymo moveto 2 MM 0 rlineto stroke xmo ymo 1 MM sub moveto 0 1 MM rlineto stroke 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 /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 /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 %special /10TIN_10 {10TIN 0 -2 rmoveto xcolor 1 eq {(10) show} if 0 2 rmoveto} def /10TINK10 {10TIN 0 -2 rmoveto xcolor 1 eq {(,10) show} if 0 2 rmoveto} def /10SN {10 /Symbol FS} def /12SN {12 /Symbol FS} def /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P65) (P60) (P55) (P50) (P45) (P40) (P35) (P30)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. /xchart8 0 def %xchart8=0: Pxx, xchart8=1: Dxx 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 0 setgray 12TIN 61 MM 13.5 MM moveto (TUB\255Pr\374fvorlage egw7; ) showde (TUB\255test chart egw7; ) showen (gr\341fico TUB\255egw7; ) showes (TUB\255test graphique egw7; ) showfr (grafico TUB\255egw7; ) showit (TUB\255test chart egw7; ) showjp /xchart40 0 def %allways /xchart41 0 def %0:%case1, 1:%case2, 2:%case3 xchart40 0 eq {%xchart40=0 (Mischung von 4x4 Bildern f\374r verschiedene Anwendungen) showde (Mixture of 4 x 4 images for different applications) showen } if %xchart40=0 12TIN 61 MM 09.5 MM moveto xchart41 0 eq {%xchart41=0 %case1 (Dies ist ein beispieltext "case1" f\374r viele Anwendungen) showde (This is an example text "case1" for many applications) showen (; Kurzzeile nicht erlaubt) showde (; very short line not allowed) showen } if %xchart41=0 xchart41 1 eq {%xchart41=1 (text case2 ) showde (text case2 ) showen } if %xchart41=2 xchart41 2 eq {%xchart41=2 (text case3 ) showde (text case3 ) showen } if %xchart41=2 62 MM 198.5 MM moveto 12RN tfb (http://farbe.li.tu-berlin.de/egw7/egw7l) show 12TN (0) show % LSC$ show LEX$ show tfn (; only vector graphic VG) showen (; nur Vektorgrafik VG) showde %1 setgray %start white and unvisible (; ) show xchart 0 eq { (Start\255Ausgabe) showde (start output) showen (comience salida) showes (sortie de production) showfr (cominciare l'uscita) showit (start output) showjp } if 62 MM 194 MM moveto (Siehe separate Bilder dieser Seite: ) showde (see separate images of this page: ) showen (vea archivos semejantes: ) showes (voir des fichiers similaires: ) showfr (vedere dei file simili: ) showit (see similar files: ) showjp 12RN tfb (http://farbe.li.tu-berlin.de/egw7/egw7.htm) show tfn 12TN 16 MM 185 MM moveto -90 rotate (Siehe \344hnliche Dateien der ganzen Serie: ) showde (see similar files of the whole serie: ) showen (vea archivos semejantes: ) showes (voir des fichiers similaires de serie: ) showfr (vedere dei file simili: ) showit (see similar files: ) showjp 12RN tfb (http://farbe.li.tu-berlin.de/egws.htm) show tfn 12TN 90 rotate 12 MM 185 MM moveto -90 rotate (Technische Information: ) showde (technical information: ) showen (informaci\363n t\351cnica: ) showes (informations techniques: ) showfr (informazioni tecniche: ) showit (technical information: ) showjp 12RN tfb (http://farbe.li.tu-berlin.de) show tfn 12TN ( oder ) showde ( or ) showen ( o ) showes ( ou ) showfr ( o ) showit ( or ) showjp 12RN tfb (http://color.li.tu-berlin.de) show tfn 12TN 90 rotate 281 MM 185 MM moveto -90 rotate (TUB\255Registrierung: 20230801\255egw7/egw7l) showde (TUB registration: 20230801\255egw7/egw7l) showen (TUB matr\355cula: 20230801\255egw7/egw7l) showes (TUB enregistrement: 20230801\255egw7/egw7l) showfr (TUB iscrizione: 20230801\255egw7/egw7l) showit (TUB registration: 20230801\255egw7/egw7l) showjp (0) show % LSC$ show LEX$ show 90 rotate 281 MM 74 MM moveto -90 rotate (TUB\255Material: Code=rha4ta) showde (TUB material: code=rha4ta) showen (TUB material: code=rha4ta) showes (TUB mat\351riel: code=rha4ta) showfr (TUB materiale: code=rha4ta) showit (TUB material: code=rha4ta) showjp 90 rotate 277 MM 185 MM moveto -90 rotate /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def ( Anwendung f\374r Beurteilung und Messung ) showde ( application for evaluation and measurement ) showen ( aplicaci\363n para la medida ) showes ( application pour la mesure ) showfr ( la domanda per la misura ) showit ( application for measurement ) showjp (von Display\255 oder Druck\255Ausgabe) showde (of display or print output) showen (de display output) showes (de sortie sur \350cran) showfr (di stampa di display) showit (of display output) showjp 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 grestore gsave %********************************************************** %%Trailer %%EndDocument EndEPSF grestore gsave showpage grestore %} for %colsepf=0,1 %} for %pchartf=0,0 %} for %xchartf=0,0 %} for %xcolorf=0,1 %} for %deintpf=0,1 %} for %colormf=0,1 %} for %lanindf=0,0 %%Trailer