%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CE72/CE721-1A 20180221 %%BoundingBox: 70 85 226 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/CE72/CE72.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:2017080112000) /ModDate (D:20170801112000) /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 /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 /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 %************************************************* /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 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 %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 /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /XZAi 17 array def /YZAi 17 array def /ZZAi 17 array def /XANZAi 17 array def /YANZAi 17 array def /ZANZAi 17 array def /FXAi 80 array def %unnormiert /FYAi 80 array def /FZAi 80 array def /FXNi 80 array def %Y-normiert /FYNi 80 array def /FZNi 80 array def /FXMi 80 array def %XYZ-normiert /FYMi 80 array def /FZMi 80 array def %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 F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .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 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .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 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 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 /F10i %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 /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF02i i4 1 add get put FAi 80 i add FF02i i4 2 add get put FAi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAi 00 i add FF10i i4 1 add get put FAi 80 i add FF10i i4 2 add get put FAi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new /ILT 0 def ILT 0 eq {/tsa 0.000 def} if ILT 1 eq {/tsa 0.010 def} if %actual 2 or 10-degree CIE standard observer E, 80 data, 380-775nm, delta=5nm /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def /xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def /sASjk 80 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP 0.0001 def} ifelse /EYEXP 10 YEXP exp 0.0001 add def sASjk i EYEXP put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %s later with media absortion correction /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 %s with media absortion correction sESj i Ymi2 i get sASjk i get mul put %l with 2% linear s cone attribute lESj i Ymi0 i get sESj i get 0.02 mul add put %m symmetric with no change mESj i Ymi1 i get put } for %i=0,1,79 %Normalisation of LMS to 100 /fslES 0 def /fsmES 0 def /fssES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /fslES fslES lESj i get add def /fsmES fsmES mESj i get add def /fssES fssES sESj i get add def } for %i=0,79 %0 1 79 {/i exch def %i=0,1,79 %no normalisation LMS, multiply with 100 for E00 % lESj i lESj i get put % mESj i mESj i get put % sESj i sESj i get put % } for %i=0,1,79 %0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 % lESj i lESj i get 100 mul put % mESj i mESj i get fsmES 0.0001 add div 100 mul put % sESj i sESj i get 100 mul put % } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lESj i lESj i get fslES 0.0001 add div 21.18 mul put mESj i mESj i get fsmES 0.0001 add div 21.18 mul put sESj i sESj i get fssES 0.0001 add div 21.18 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_R17M3 /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %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 /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 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 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M3 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZi i F02Zi i get put} if xchart13 1 eq {FAZi i F10Zi i get put} if xchart13 2 eq {FAZi i FF02Zi i get put} if xchart13 3 eq {FAZi i FF10Zi i get put} if xchart13 4 eq {FAZi i LMS0Zi i get put} if xchart13 5 eq {FAZi i LMS1Zi i get put} if } for %i=0,50 /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 /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 /FXNZi 17 array def /FYNZi 17 array def /FZNZi 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 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 0 1 79 {/i exch def %i=0,1,79 FXAi i FAi 00 i add get put FYAi i FAi 80 i add get put FZAi i FAi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUM 0 def /YKSUM 0 def /ZKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUM XKSUM FXAi i get add def /YKSUM YKSUM FYAi i get add def /ZKSUM ZKSUM FZAi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXNi i FXAi i get YKSUM div 100 mul put FYNi i FYAi i get YKSUM div 100 mul put FZNi i FZAi i get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMi i FXAi i get XKSUM div 100 mul put FYMi i FYAi i get YKSUM div 100 mul put FZMi i FZAi i get ZKSUM div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant Xi i FXNi i get put Yi i FYNi i get put Zi i FZNi i get put /SUM FXNi i get FYNi i get add FZNi i get add 0.00001 add def XANi i FXNi i get SUM div put YANi i FYNi i get SUM div put ZANi i FZNi i get SUM div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZi i FAZi 00 i add get 100 mul YKSUM div 100 mul put FYNZi i FAZi 17 i add get 100 mul YKSUM div 100 mul put FZNZi i FAZi 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZi i get put YZi i FYNZi i get put ZZi i FZNZi i get put /SUMZ FXNZi i get FYNZi i get add FZNZi i get add def XANZi i FXNZi i get SUMZ div put YANZi i FYNZi i get SUMZ div put ZANZi i FZNZi 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 FXNi i get add def /YW YW FYNi i get add def /ZW ZW FZNi 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_CIE_LMS0 %**************************************************************** /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 %/FAi 240 array def %CIE_02, CIE_10, CIE_F02, CIE_F10, LMS_17M3 %/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 /FAOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /FANOi 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 0 1 239 {/i exch def %i=0,239 FAOi i FAi i get put } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO FAOi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add FAOi 00 i add get YKSUM div 100 mul put FANOi 80 i add FAOi 80 i add get YKSUM div 100 mul put FANOi 160 i add FAOi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 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 %STOP6 %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 %STOP7 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get FAOi 80 i add get mul add def } for %i=0,1,79 %STOP8 0 1 79 {/i exch def %i=0,1,79 FANOi 00 i add SDAKOi i get FAOi 00 i add get mul YKSUM div 100 mul put FANOi 80 i add SDAKOi i get FAOi 80 i add get mul YKSUM div 100 mul put FANOi 160 i add SDAKOi i get FAOi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %STOP11 /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 FANOi 000 i add get put FYNOi i FANOi 080 i add get put FZNOi i FANOi 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 FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 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 %STOP12 %********************************************************* /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 FANOi 00 i add get RAOi i get mul add def /YO YO FANOi 80 i add get RAOi i get mul add def /ZO ZO FANOi 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 FANOi 00 i add get add def /YWO YWO FANOi 80 i add get add def /ZWO ZWO FANOi 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 0 eq {%xchartl=0 %(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=0 %only for (x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) 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=1 %only for (a0,b0) %***************** xchartl 2 eq {%xchartl=2 %(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=2 %only for (a1,b1) %***************** xchartl 3 eq {%xchartl=3 %(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=3 %only for (a2,b2) %***************** xchartl 4 eq {%xchartl=4 %(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=4 %only for (a3,b3) %***************** xchartl 5 eq {%xchartl=5 %(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=5 %only for (a4,b4) %***************** xchartl 6 eq {%xchartl=6 %(a5,b5) /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def 0 1 79 {/i exch def %i=0,79 AANi i XANi i get A51 mul YANi i get A52 mul add A53 add YANi i get FL add div a2x mul put BANi i XANi i get B51 mul YANi i get B52 mul add B53 add YANi i get FL add div b2x mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get A51 mul YANZi i get A52 mul add A53 add YANZi i get FL add div a2x mul put BANZi i XANZi i get B51 mul YANZi i get B52 mul add B53 add YANZi i get FL add div b2x 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 A51 mul YANWL A52 mul add A53 add YANWL FL add div a2x mul def /BANWL XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div b2x mul def /AANWC XANWC A51 mul YANWC A52 mul add A53 add YANWC FL add div a2x mul def /BANWC XANWC B51 mul YANWC B52 mul add B53 add YANWC FL add div b2x mul def } if %xchartl=6 %only for (a5,b5) %***************** xchartl 7 eq {%xchartl=7 %(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=7 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (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=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x -200 0 rmoveto TBIS (B*) show xchartl 1 sub cvicvs 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 0 eq {%xchartl=0,#0 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1<=7 TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 3 eq or xchartl 7 eq or {%xchartl=1,3,7 TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=1,3,7 xchartl 2 eq xchartl 4 eq or xchartl 5 eq or {%xchartl=2,4,5 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 } if %xchartl#2,4,5 xchartl 6 eq {%xchartl=6 TBS (=\0508,61) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-7,20) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-0,269\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart=0,#0 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 0 eq {%xchartl=0,#0 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=0 {%xchartl#0, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 1 ge xchartl 7 le and {%xchartl=1,7 TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchartl=1,7 xchartl 1 eq xchartl 2 eq or {%xchartl=1,2 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=1,2 xchartl 3 eq xchartl 5 eq or {%xchartl=3,5 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=3,5 xchartl 4 eq xchartl 7 eq or {%xchartl=4,7 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=4,7 xchartl 6 eq {%xchartl=6 TBS (=\0501,99) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+3,86) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (-2,40\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=6 } if %xchart10=0, abx } ifelse %xchart#0 } 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 0 eq {%xchartl=0 %(x,y) /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 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 xtrans0 neg ytrans0 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=0 %(x,y) %***************** xchartl 1 eq {%xchartl=1 %(a0,b0) %STOP9 /xtrans1a 0500 def /xtrans1 1300 def /ytrans1 3200 def xtrans1a ytrans1 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 posbx posby 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 xtrans1a neg ytrans1 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans1 ytrans1 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 xtrans1 neg ytrans1 neg translate %ENDE: 2 } if %xchartl=1 %(a0,b0) %*********************************************************** xchartl 2 eq {%xchartl=2 (a1,b1) /xtrans2a 0500 def /xtrans2 1300 def /ytrans2 3200 def xtrans2a ytrans2 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 posbx posby 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 xtrans2a neg ytrans2 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans2 ytrans2 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 xtrans2 neg ytrans2 neg translate %for text and grafic %ENDE: 2 } if %xchartl=2 %***************** xchartl 3 eq {%xchartl=3 %(a2,b2) /xtrans3a 0500 def /xtrans3 1300 def /ytrans3 3200 def xtrans3a ytrans3 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 posbx posby 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 xtrans3a neg ytrans3 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans3 ytrans3 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 xtrans3 neg ytrans3 neg translate %for text and grafic %ENDE: 2 } if %xchartl=3 %*********************************************************** xchartl 4 eq {%xchartl=4 %(a3,b3) /xtrans4a 0500 def /xtrans4 1300 def /ytrans4 3200 def xtrans4a ytrans4 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 posbx posby 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 xtrans4a neg ytrans4 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans4 ytrans4 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 xtrans4 neg ytrans4 neg translate %for text and grafic %ENDE: 2 } if %xchartl=4 %*********************************************************** xchartl 5 eq {%xchartl=5 %(a4,b4) /xtrans5a 0500 def /xtrans5 1300 def /ytrans5 3200 def xtrans5a ytrans5 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 posbx posby 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 xtrans5a neg ytrans5 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans5 ytrans5 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 xtrans5 neg ytrans5 neg translate %for text and grafic %ENDE: 2 } if %xchartl=5 %*********************************************************** xchartl 6 eq {%xchartl=6 %(a5,b5) /xtrans6a 0500 def /xtrans6 1300 def /ytrans6 3200 def xtrans6a ytrans6 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 posbx posby 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 xtrans6a neg ytrans6 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans6 ytrans6 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 xtrans6 neg ytrans6 neg translate %for text and grafic %ENDE: 2 } if %xchartl=6 %*********************************************************** xchartl 7 eq {%xchartl=7 %(a6,b6) /xtrans7a 0500 def /xtrans7 1300 def /ytrans7 3200 def xtrans7a ytrans7 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 posbx posby 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 xtrans7a neg ytrans7 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans7 ytrans7 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 xtrans7 neg ytrans7 neg translate %for text and grafic %ENDE: 2 } if %xchartl=7 } bind def %END proc_chromaticity_lines /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 0 eq {%xchartl=0,#0 (Normfarbtafel) showde (chromaticity) 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=0 {%xchartl#0, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity) showea TBS ( \050) show TBIS (a) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwert) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheit) showde (chroma) showea TBS ( \050) show TBIS (A*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 1 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#0 } bind def %END proc_diagram_xchartl_txt /proc_tab1N {%BEG proc_tab1N /idyT 250 def /iyT 1800 def -3400 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 -3400 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 -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051 ) show TBIS (Y) show %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab1N %******************************************************** /proc_tab2N {%BEG proc_tab2N /idyT 250 def /iyT 1800 def -3400 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 -3400 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 -3400 iyT idyT 2 mul sub moveto TBIS (A) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow -3400 iyT idyT 3 mul sub moveto TBIS (B) show xchart10 2 eq {(*) show} if xchartl 1 sub cvicvs ib6 TBS (=\050) show TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (-[) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,n) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (+) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (]\051) show TBIS (Y) show (18) ib6 TBS (\050) show TBIS (Y/Y) show (18) ib6 TBS (\051) show (1/3) eshow %4 mul to 7 mul in main program -3400 iyT idyT 8 mul sub moveto TBIS (n) show TBS ( = ) show TELi xchartx get show -3400 iyT idyT 9 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (a) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 10 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 (,Y) ib6 TBS (=) show TBIS (b) show (2Y) ib6 TBS (\050) show TBIS (Y) show TBS (/) show TBIS (Y) show (18) ib6 TBS (-1\051) show -3400 iyT idyT 11 mul sub moveto TBIS (a) show (2Y) ib6 TBS (=) show xxt cvsshow3x TBS (, ) show TBIS (b) show (2Y) ib6 TBS (=) show yyt cvsshow3x -3400 iyT idyT 12 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show xat cvsshow3x TBS (, ) show TBIS (b) show xchartl 1 sub cvicvs ib6 (,A) ib6 TBS (=) show yat cvsshow3x } bind def %END proc_tab2N %********************************************************** %%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 1 def /lanind2 1 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 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 5 /Times-ISOL1 FS %175 85 moveto (CE721-1A) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 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 Y10M00ZEX6.PS -> chromaticity coordinates (ai,bi) %xchart10 1 def %for Y10M00ZEX6.PS -> chromatic values (Ai,Bi) %xchart10 2 def %for Y10M00ZEX6.PS -> chroma (A*i,B*i) /xchart10 1 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) %xchart13 0 def %CIE_02 %xchart13 1 def %CIE_10 %xchart13 2 def %CIE_F02 %xchart13 3 def %CIE_F10 %xchart13 4 def %LMS_17M3 %xchart13 5 def %LMS_17M4 /xchart13 4 def %xchart13=4(CIE_42),1(CIE_14),2(CIE_F42),3(CIE_F14),4/5 (model) %/xchart14 0 def %unnormiert %/xchart14 1 def %Yw-normiert %/xchart14 2 def %XYZw-normiert /xchart14 0 def %1:unnormiert, 2:Yw-normiert. 3:XYZw-normiert /posax 2700 def /posay 0550 def /posbx -350 def /posby -3150 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 /xchartx xchart def 0 1 0 {/xchartx exch def %xchartx=0,7 %8 illuminants gsave 20 setlinewidth %0 0 11550 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 11550 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz %STOP %allways proc_CIE_LMS0 %STOP1 proc_DEF_colours 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 %STOP2 /xchartl 05 def 00 1 07 {/xchartl exch def %xchartl=0,7 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(CE721-) show} {(CE721-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.3 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 5531 %******************************************************************** %BEG 'CL70'Y11_XCHART1A_1.PS FROM 'CL66'Y10-7R_66.EPS xchart10 1 eq {%xchart10=1 long loop 1700 lines! %/xxt -0.021 def /yyt -0.024 def %/xat 0.031 def /yat 0.029 def /xxt 0.000 def /yyt 0.000 def /xat 0.000 def /yat 0.000 def /proc_Yexp {%BEG proc_Yexp xchart10 0 eq {%chromaticity /Yexp 1 def } if %chromaticity xchart10 1 eq {%chromatic value xchart3 0 eq {%Munsell colours /Yexp YMi ikV40 get def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp YOi i get def } if %Ostwald colours } if %chromatic value xchart10 2 eq {%chroma xchart3 0 eq {%Munsell colours /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } if %Munsell colours xchart3 1 eq {%Ostwald colours /Yexp Y18 YOi i get Y18 div n0e exp mul def } if %Ostwald colours } if %chroma } bind def %END proc_Yexp 0 0 0 1 setcmykcolor /xchart12 xchartl 12 mul def 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 xchart3 1 eq xchartl 0 eq and {%xchart3=1 only for Ostwald colours and (x,y) xtexti xchart12 3 add get ytexti xchart12 3 add get moveto TBS (Name und Spektralbereich) showde %0CE721-7 00581 (Name and spectral range) showen %1CE721-7 00581 (Nombre y gama espectral) showes %2CE721-7 00581 (Nom et la gamma spectrale) showfr %3CE721-7 00581 (Nome e la gamma spettrale) showit %4CE721-7 00581 (Name and spectral range) showjp %5CE721-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 %0CE721-7 02581 ( System) showea %1CE721-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 %0CE721-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 %0CE721-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1CE721-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2CE721-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3CE721-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4CE721-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5CE721-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 %0CE721-7 03581 (max (m) chromatic value, ) showen %1CE721-7 03581 (chromatic m\341x (m), ) showes %2CE721-7 03581 (max (m) chromatic valeur, ) showfr %3CE721-7 03581 (max (m) chromatic value, ) showit %4CE721-7 03581 (max (m) chromatic value, ) showjp %5CE721-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 proc_diagram_xchartl_txt %END For All Colours last line %*********************************************************** /imM 199 def %maximum Munsell Colours /imO 039 def %maximum Ostwald Colours %***************************************** 0 setgray xchartl 0 eq {%xchartl=0 %(x,y) %only for xchartl=0 proc_chromaticity proc_chromaticity_lines /fakt 4000 def /xtrans0 600 def /ytrans0 400 def xtrans0 ytrans0 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 xtrans0 neg ytrans0 neg translate %for scala and graphi } if %xchartl=0 %************************ %Special coordinate system for (Ax,Bx) digrams*************** %***************** xchartl 1 ge {%xchartl>=1 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 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 xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs 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 xchart10 2 eq {(*) show} if TBS xchartl 1 sub cvicvs ib6 } if %i=4 } for %i=0,4 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl>=1 %********************************************************** xchartl 1 eq {%xchartl=1 %(A0,B0) (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 /xtrans1 3500 def /ytrans1 2000 def xtrans1 ytrans1 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) 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 proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat 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 yyt YMi ikV40 get Y18 div 1 sub mul sub yat 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 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat 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 yyt YOi i get Y18 div 1 sub mul sub yat 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 xtrans1 neg ytrans1 neg translate %for scala and graphic } if %xchartl=1 %(A0,B0) %***************************************************************** xchartl 2 eq {%xchartl=2 %(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 /xtrans2 3500 def /ytrans2 2000 def xtrans2 ytrans2 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (b) show (20) ib6 TBS ( [) show TBIS (z/y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 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 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 proc_Yexp 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 xxt YMi ikV40 get Y18 div 1 sub mul sub xat 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 yyt YMi ikV40 get Y18 div 1 sub mul sub yat 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 proc_Yexp 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 xxt YOi i get Y18 div 1 sub mul sub xat 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 yyt YOi i get Y18 div 1 sub mul sub yat 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 xtrans2 neg ytrans2 neg translate %for scala and graphic } if %xchartl=2 %(A1,B1) %************************ xchartl 3 eq {%xchartl=1 %(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 /xtrans3 3500 def /ytrans3 2000 def xtrans3 ytrans3 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs 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 -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 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 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 proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat 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 yyt YMi ikV40 get Y18 div 1 sub mul sub yat 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 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat 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 yyt YOi i get Y18 div 1 sub mul sub yat 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 xtrans3 neg ytrans3 neg translate %for scala and graphic } if %xchartl=3 %(A2,B2) %************************ xchartl 4 eq {%xchartl=04 %(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 /xtrans4 3500 def /ytrans4 2000 def xtrans4 ytrans4 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs 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 -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 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 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 proc_Yexp 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 xxt YMi ikV40 get Y18 div 1 sub mul sub xat 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 yyt YMi ikV40 get Y18 div 1 sub mul sub yat 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 proc_Yexp 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 xxt YOi i get Y18 div 1 sub mul sub xat 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 yyt YOi i get Y18 div 1 sub mul sub yat 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 xtrans4 neg ytrans4 neg translate %for scala and graphic } if %xchartl=4 %(A3,B3) %************************ xchartl 5 eq {%xchartl=5 %(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 /xtrans5 3500 def /ytrans5 2000 def xtrans5 ytrans5 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (\050x-) show TBS XANT cvsshow3x TBIS (\051/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs 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 -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) show -3400 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 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 proc_Yexp 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 xxt YMi ikV40 get Y18 div 1 sub mul sub xat 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 yyt YMi ikV40 get Y18 div 1 sub mul sub yat 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 proc_Yexp 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 xxt YOi i get Y18 div 1 sub mul sub xat 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 yyt YOi i get Y18 div 1 sub mul sub yat 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 xtrans5 neg ytrans5 neg translate %for scala and graphic } if %xchartl=5 %(A4,B4) %************************ xchartl 6 eq {%xchartl=6 %(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 /A51 8.6120 def /A52 -7.1966 def /A53 -0.2689 def /B51 1.9907 def /B52 3.8617 def /B53 -2.4046 def %a=(a51*x+a52*y+a53)/y %b=(b51*x+b52*y+b53)/y /a2x 0.1 def /b2x 0.1 def /xtrans6 3500 def /ytrans6 2000 def xtrans6 ytrans6 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (a) show (2x) ib6 TBS ([\050+) show A51 cvsshow2x TBIS (x) show TBS A52 cvsshow2x TBIS (y) show TBS A53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs ib6 TBS (=) show TBIS (b) show (2x) ib6 TBS ([\050+) show B51 cvsshow2x TBIS (x) show TBS (+) show B52 cvsshow2x TBIS (y) show TBS B53 cvsshow2x (\051/) show TBIS (y) show TBS (]) show -3400 iyT idyT 6 mul sub moveto TBIS (a) show (2x) ib6 TBS ( = ) show a2x cvsshow2x (, ) show TBIS (b) show (2x) ib6 TBS ( = ) show b2x cvsshow2x -3400 iyT idyT 7 mul sub moveto SS (l) show (B,G,Y,R) ib6 TBS (=475,503,574,494c,E nm) 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 proc_Yexp AnYi i XANMi ikV40 get A51 mul YANMi ikV40 get A52 mul add A53 add YANMi ikV40 get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANMi ikV40 get B51 mul YANMi ikV40 get B52 mul add B53 add YANMi ikV40 get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YMi ikV40 get Y18 div 1 sub mul sub yat sub Yexp mul b2x 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 proc_Yexp AnYi i XANOi i get A51 mul YANOi i get A52 mul add A53 add YANOi i get FL add div n1e exp XANWL A51 mul YANWL A52 mul add A53 add YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat sub Yexp mul a2x mul fakt mul put %A5 BnYi i XANOi i get B51 mul YANOi i get B52 mul add B53 add YANOi i get FL add div n1e exp XANWL B51 mul YANWL B52 mul add B53 add YANWL FL add div n1e exp sub yyt YOi i get Y18 div 1 sub mul sub yat sub Yexp mul b2x 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 xtrans6 neg ytrans6 neg translate %for scala and graphic } if %xchartl=6 %(A5,B5) %************************ xchartl 7 eq {%xchartl=7 %(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 /xtrans7 3500 def /ytrans7 2000 def xtrans7 ytrans7 translate %for scala and graphic proc_tab1N -3400 iyT idyT 4 mul sub moveto TBIS (a) show xchartl 1 sub cvicvs ib6 TBS ( = ) show TBIS (a) show (20) ib6 TBS ( [) show TBIS (x/y) show TBS (]) show -3400 iyT idyT 5 mul sub moveto TBIS (b) show xchartl 1 sub cvicvs 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 -3400 iyT idyT 6 mul sub moveto TBIS (a) show (20) ib6 TBS ( = 1, ) show TBIS (b) show (20) ib6 TBS ( = -0,4) 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 proc_Yexp AnYi i XANMi ikV40 get YANMi ikV40 get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YMi ikV40 get Y18 div 1 sub mul sub xat 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 yyt YMi ikV40 get Y18 div 1 sub mul sub yat 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 proc_Yexp AnYi i XANOi i get YANOi i get FL add div n1e exp XANWL YANWL FL add div n1e exp sub xxt YOi i get Y18 div 1 sub mul sub xat 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 yyt YOi i get Y18 div 1 sub mul sub yat 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 xtrans7 neg ytrans7 neg translate %for scala and graphic } if %xchartl=7 } if %xchart10=1 long loop 1700 lines! %END 'CL70'Y11_XCHART1A_1.PS %*************************************************************** %END INC Y11_XCHART10_0/1/2.PS %************************ %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=0,7 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer