%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/BG28/BG281-3A 20170801 %%BoundingBox: 70 85 226 206 %START PDFDE011.EPS /pdfmark13 where {pop} {userdict /pdfmark13 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: farbe.li.tu-berlin.de/BG28/BG28.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 pdfmark13 [ /View [ /Fit ] /DOCVIEW pdfmark13 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /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 %allways after %Prolog /proc_XYZ_colours {%BEG proc_XYZ_colours %for xchart8=0 /SP25 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP60 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %for combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F2 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F2N 240 array def %normiert auf Y=100 fuer D65 und 10nm /F10 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F2 CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 /F2 %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 .1344 .2148 .2839 .3285 .3483 .3481 .3362 .3187 .2908 .2511 .1954 .1421 .09564 .05795 .03201 .01470 .0049 .0024 .0093 .0291 .06327 .1096 .1655 .2257 .2904 .3597 .4334 .5121 .5945 .6784 .7621 .8425 .9163 .9786 1.0263 1.0567 1.0622 1.0456 1.0026 .9384 .8544 .7514 .6424 .5419 .4479 .3608 .2835 .2187 .1649 .1212 .0874 .0636 .04677 .03290 .02270 .01584 .01136 .00811 .00579 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 .004 .0073 .0116 .01684 .023 .0298 .0380 .048 .06 .0739 .09098 .1126 .139 .1693 .208 .2586 .323 .4073 .503 .6082 .71 .7932 .862 .9149 .954 .9803 .995 1.0 .995 .9786 .952 .9154 .870 .8163 .757 .6949 .631 .5668 .503 .4412 .381 .321 .265 .217 .175 .1382 .107 .0816 .061 .04458 .032 .0232 .017 .01192 .00821 .005723 .004102 .002929 .002091 .001484 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 1.0391 1.3856 1.623 1.7471 1.7826 1.7721 1.7441 1.6692 1.5281 1.2876 1.0419 .8130 .6162 .4652 .3533 .2720 .2123 .1582 .1117 .07825 .05725 .04216 .02984 .0203 .0134 .00875 .00575 .0039 .00275 .0021 .0018 .00165 .0014 .0011 .0010 .0008 .0006 .00034 .00024 .00019 .0001 .00005 .00003 .00002 .00001 % 26*0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 %26 ] def /F10 %3x80 data [.00016 .0006624 .002362 .007242 .01911 .0434 .08474 .1406 .2045 .2647 .3147 .3577 .3837 .3867 .3707 .343 .3023 .2541 .1956 .1323 .08051 .04107 .01617 .005132 .003816 .01544 .03746 .07136 .1177 .173 .2365 .3042 .3768 .4516 .5298 .6161 .7052 .7938 .8787 .9512 1.0142 1.0743 1.1185 1.1343 1.124 1.0891 1.0305 .9507 .8563 .7549 .6475 .5351 .4316 .3437 .2683 .2043 .1526 .1122 .08126 .05793 .04085 .02862 .019941 .01384 .0100 .006605 .004552 .003145 .002175 .001506 .001045 .0007274 .0005083 .0003564 .000251 .0001777 .0001264 .00009015 .00006453 .00004634 .00001736 .00007156 .0002534 .0007685 .002004 .004509 .008756 .01446 .02139 .0295 .03868 .0496 .06208 .0747 .08946 .1063 .1282 .1528 .1852 .2199 .2536 .2977 .3391 .3954 .4608 .5314 .6067 .6857 .7618 .8233 .8752 .9238 .962 .9822 .9918 .9991 .9973 .9824 .9555 .9152 .8689 .8256 .7774 .7203 .6583 .5939 .528 .4618 .3981 .3395 .2835 .2282 .1798 .1402 .1076 .08119 .06028 .0441 .0318 .0226 .0159 .01113 .007749 .0053751 .0037177 .002565 .001768 .001222 .0008462 .0005864 .0004074 .000284 .0001987 .0001395 .00009843 .00006982 .00004974 .00003554 .00002549 .00001834 .0007048 .002928 .01048 .03234 .08601 .1971 .3894 .6568 .9725 1.2825 1.5535 1.7985 1.9673 2.0273 1.9948 1.9007 1.7454 1.5549 1.3176 1.0302 .7721 .5701 .4152 .3024 .2185 .1592 .112 .08225 .06071 .04305 .03045 .02058 .01368 .007918 .003988 .001091 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %10 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %20 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %30 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 %40 0.0 0.0 0.0 0.0 %44 ] def %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOW 82 array def /DOWZ 17 array def /F02Z 51 array def /F10Z 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOW i 380 i 5 mul add put } for %i=0,79 /DOWZ %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def /F02Z %3x17 data 700 ... 400 [.01136 .01141 .01158 .01169 .01176 .01182 .01187 .01191 .01195 .01199 .01204 .01210 .01219 .01232 .01254 .01300 .01431 .00410 .00404 .00383 .00369 .00359 .00352 .00346 .00342 .00337 .00331 .00325 .00317 .00306 .00289 .00262 .00205 .00040 .00000 .00118 .00507 .00754 .00930 .01064 .01167 .01256 .01346 .01445 .01562 .01709 .01910 .02210 .02718 .03765 .06785] def /F10Z %3x17 data 700 ... 400 [.00958 .01015 .01037 .01053 .01065 .01075 .01085 .01096 .01108 .01122 .01139 .01163 .01201 .01268 .01416 .02078 .01911 .00372 .00361 .00357 .00355 .00352 .00351 .00349 .00347 .00345 .00342 .00339 .00335 .00328 .00316 .00289 .00170 .00200 .00000 .00517 .00718 .00858 .00972 .01063 .01150 .01245 .01354 .01478 .01635 .01856 .02194 .02795 .04136 .10106 .08601] def %*************************************************** /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /FXN 82 array def /FYN 82 array def /FZN 82 array def /Xi 82 array def /Yi 82 array def /Zi 82 array def /XANi 82 array def /YANi 82 array def /ZANi 82 array def /AANi 82 array def %actual data for plot, spectral colours /BANi 82 array def /AAN1i 200 array def %actual data for plot, Munsell colours (M=1) /BAN1i 200 array def /AANXi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXi 200 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def /XZi 17 array def /YZi 17 array def /ZZi 17 array def /XANZi 17 array def /YANZi 17 array def /ZANZi 17 array def /AANZi 17 array def %actual data for plot, purple colours /BANZi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def xcolor 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 0 1 050 {/i exch def %i=0,50 F02Z i F10Z i get put } for %i=0,50 } if /InCS 16 array def %16 colour spaces (Index) /InCS [(0) (0) (1) (2) (3) (4) (5) (6) (0) (0) (1) (2) (3) (4) (5) (6)] def %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if put } for %i=0,79 /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 FXN i SDAK i get F2 00 i add get mul YKSUM div 100 mul put FYN i SDAK i get F2 80 i add get mul YKSUM div 100 mul put FZN i SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,79 FXN 80 FXN 79 get put FYN 80 FYN 79 get put FZN 80 FZN 79 get put DOW 80 DOW 79 get put %STOP1 0 1 80 {/i exch def %i=0,80 %for any illuminant Xi i FXN i get put Yi i FYN i get put Zi i FZN i get put /SUM FXN i get FYN i get add FZN i get add 0.00001 add def XANi i FXN i get SUM div put YANi i FYN i get SUM div put ZANi i FZN i get SUM div put } for %i=0,80 %STOP1a 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZ i F02Z 00 i add get 100 mul YKSUM div 100 mul put FYNZ i F02Z 17 i add get 100 mul YKSUM div 100 mul put FZNZ i F02Z 34 i add get 100 mul YKSUM div 100 mul put } for %i=0,16 %STOP2 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZi i FXNZ i get put YZi i FYNZ i get put ZZi i FZNZ i get put /SUMZ FXNZ i get FYNZ i get add FZNZ i get add def XANZi i FXNZ i get SUMZ div put YANZi i FYNZ i get SUMZ div put ZANZi i FZNZ i get SUMZ div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW FXN i get add def /YW YW FYN i get add def /ZW ZW FZN i get add def } for %i=0,79 /SUMW XW YW add ZW add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANW XW SUMW FL add div def /YANW YW SUMW FL add div def /ZANW ZW SUMW FL add div def K 0 eq {%K=0 /XK XW def /YK YW def /ZK ZW def }%K=0 {%K=1 /XK XW 0.8859 mul def /YK YW 0.8859 mul def /ZK ZW 0.8859 mul def } ifelse %K=1 /SUMK XK YK add ZK add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANK XK SUMK div def /YANK YK SUMK div def /ZANK ZK SUMK div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANW def /YANWL YANW def /ZANWL ZANW def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYi 80 array def /BnYi 80 array def } bind def %END proc_XYZ_colours %**************************************************************** /proc_PDT_colours {%BEG proc_PDT_colours /l02Ii 77 array def /m02Ii 77 array def /s02Ii 77 array def /l02Mi 77 array def /m02Mi 77 array def /s02Mi 77 array def /X02Ii 77 array def /Y02Ii 77 array def /Z02Ii 77 array def /xan02Ii 77 array def /yan02Ii 77 array def /zan02Ii 77 array def /X02Mi 77 array def /Y02Mi 77 array def /Z02Mi 77 array def /xan02Mi 77 array def /yan02Mi 77 array def /zan02Mi 77 array def /ycuri 77 array def /l02Mi [ %LMS2.TXT %L2.DAT CIE Table 6.7, p. 34 380=390,385=390, 390, 395, ...760nm 4.150019e-4 4.150019e-4 4.150019e-4 1.051914e-3 2.408353e-3 %400 4.833371e-3 8.721273e-3 1.338382e-2 1.844803e-2 2.293190e-2 2.818772e-2 3.410515e-2 4.025595e-2 4.493761e-2 4.986433e-2 %450 5.534138e-2 6.471575e-2 8.069006e-2 9.947639e-2 1.188010e-1 1.401458e-1 1.639532e-1 1.915579e-1 2.329271e-1 2.889615e-1 %500 3.597162e-1 4.436801e-1 5.364880e-1 6.285647e-1 7.047255e-1 7.706373e-1 8.257146e-1 8.810083e-1 9.190730e-1 9.401995e-1 %550 9.657395e-1 9.814541e-1 9.944890e-1 1 9.923160e-1 9.694379e-1 9.556085e-1 9.276625e-1 8.859720e-1 8.339884e-1 %600 7.751040e-1 7.057161e-1 6.307685e-1 5.542300e-1 4.799434e-1 4.007098e-1 3.278612e-1 2.657847e-1 2.132849e-1 1.651391e-1 %650 1.247498e-1 9.300794e-2 6.850937e-2 4.986664e-2 3.582284e-2 2.537932e-2 1.772025e-2 1.216998e-2 8.471687e-3 5.897527e-3 %700 4.091288e-3 2.804465e-3 1.920570e-3 1.326875e-3 9.177829e-4 6.393665e-4 4.460361e-4 3.108708e-4 2.193310e-4 1.545503e-4 %750 1.095065e-4 7.799195e-5 ] def /m02Mi [ %M2.DAT 3.683495e-4 3.683495e-4 3.683495e-4 9.586496e-4 2.269917e-3 %400 4.700132e-3 8.793667e-3 1.452780e-2 2.166506e-2 2.957127e-2 3.945663e-2 5.182030e-2 6.477837e-2 7.588048e-2 8.705225e-2 %450 9.819288e-2 1.162733e-1 1.445407e-1 1.758936e-1 2.053998e-1 2.357545e-1 2.680649e-1 3.036267e-1 3.570590e-1 4.277598e-1 %500 5.155847e-1 6.155169e-1 7.191508e-1 8.166012e-1 8.855437e-1 9.356857e-1 9.688577e-1 9.952165e-1 9.971948e-1 9.771922e-1 %550 9.995->9.95? 9.565771e-1 9.177407e-1 8.732126e-1 8.135046e-1 7.402868e-1 6.532810e-1 5.725950e-1 4.925950e-1 4.112444e-1 3.344260e-1 %600 2.648744e-1 2.052721e-1 1.562428e-1 1.166407e-1 8.558743e-2 6.211264e-2 4.448770e-2 3.142624e-2 2.180369e-2 1.544792e-2 %650 1.071199e-2 7.302475e-3 4.971759e-3 3.436687e-3 2.376184e-3 1.637344e-3 1.121270e-3 7.610442e-4 5.254605e-4 3.653171e-4 %700 2.534195e-4 1.744014e-4 1.206090e-4 8.417245e-5 5.893455e-5 4.160449e-5 2.943542e-5 2.088575e-5 1.504562e-5 1.082007e-5 %750 7.822762e-6 5.690886e-6 ] def /s02Mi [ %S2.DAT CIE 171.1:2006 9.547289e-3 9.547289e-3 9.547289e-3 2.382484e-2 5.665002e-2 1.224503e-1 2.330076e-1 %410 3.813643e-1 5.436132e-1 6.744815e-1 8.025461e-1 9.035662e-1 9.910145e-1 9.915166e-1 9.553885e-1 8.602408e-1 7.867016e-1 %460 7.382611e-1 6.463534e-1 5.164164e-1 3.903373e-1 2.903220e-1 2.118654e-1 1.605240e-1 1.228400e-1 8.889554e-2 6.082050e-2 %510 4.281244e-2 2.920317e-2 1.939099e-2 1.260114e-2 8.094500e-3 5.088971e-3 3.168911e-3 1.958935e-3 1.202763e-3 7.401673e-4 %560 4.559845e-4 2.817993e-4 1.750370e-4 1.094536e-4 6.899855e-5 4.390257e-5 2.822280e-5 1.834593e-5 1.206675e-5 8.034895e-6 %610 5.418387e-6 0 0 0 0 0 0 0 0 0 %650 0 0 0 0 0 0 0 0 0 0 %700 0 0 0 0 0 0 0 0 0 0 %750 0 0 ] def %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23 /A11 1.94735469 def /A12 -1.41445123 def /A13 0.36476327 def /A21 0.68990272 def /A22 0.34832189 def /A33 1.93485343 def /fsl02Mi 0 def /fsm02Mi 0 def /fss02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Mi fsl02Mi l02Mi i get add def /fsm02Mi fsm02Mi m02Mi i get add def /fss02Mi fss02Mi s02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung LMS l02Ii i l02Mi i get fsm02Mi mul fsl02Mi div put m02Ii i m02Mi i get put s02Ii i s02Mi i get fsm02Mi mul fss02Mi div put } for %i=0,76 /fsl02Ii 0 def /fsm02Ii 0 def /fss02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumlms /fsl02Ii fsl02Ii l02Ii i get add def /fsm02Ii fsm02Ii m02Ii i get add def /fss02Ii fss02Ii s02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 X02Ii i l02Mi i get A11 mul m02Mi i get A12 mul add s02Mi i get A13 mul add put Y02Ii i l02Mi i get A21 mul m02Mi i get A22 mul add put Z02Ii i s02Mi i get A33 mul put } for %i=0,76 /fsX02Ii 0 def /fsY02Ii 0 def /fsZ02Ii 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzIi /fsX02Ii fsX02Ii X02Ii i get add def /fsY02Ii fsY02Ii Y02Ii i get add def /fsZ02Ii fsZ02Ii Z02Ii i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 Normierung auf 1 XYZ X02Mi i X02Ii i get 1.1510330 div put %max 600nm Y02Mi i Y02Ii i get 0.9994608 div put %max 555nm Z02Mi i Z02Ii i get 1.9184370 div put %max 445nm } for %i=0,76 /fsX02Mi 0 def /fsY02Mi 0 def /fsZ02Mi 0 def 0 1 76 {/i exch def %i=0,76 Summe fsumxyzMi /fsX02Mi fsX02Mi X02Mi i get add def /fsY02Mi fsY02Mi Y02Mi i get add def /fsZ02Mi fsZ02Mi Z02Mi i get add def } for %i=0,76 0 1 76 {/i exch def %i=0,76 xyzan /sumXYZ X02Ii i get Y02Ii i get add Z02Ii i get add def xan02Ii i X02Ii i get sumXYZ div put yan02Ii i Y02Ii i get sumXYZ div put zan02Ii i Z02Ii i get sumXYZ div put } for %i=0,76 } bind def %END proc_PDT_colours %************************************************* %STOP4 /proc_Munsell_colours {%BEG proc_Munsell_colours %calculation of transformation data /FARBE 27 array def /FARBE [(Munsell Value 1, 2, 5, 8, 9) () () %00 () () () %01 (Y=1.21, 3.13, 19.8, 59.1, 78.7) () () %02 () () () %03 (L* about 10, 20, 50, 80, 90) () () %04 () () () %05 () () () %06 () () () %07 () () () %08 ] def %Input /xy_MUNSELL 400 array def %80*5=400 xan,yan*1000 data /xy_MUNSELL %BEG xy_MUNSELL [%'DMYY'MUNSELL_V19_CR2.DAT; CHROMA 2 FUER VALUE 1, 2, 5, 8, 9 % 05 % 1 40 1 1 VALUE1 2677 2280 2547 2310 2427 2368 2360 2420 2309 2491 2291 2579 2291 2677 2322 2781 2362 2882 2430 3023 2500 3141 2600 3289 2689 3407 2758 3484 2833 3564 2910 3634 3006 3720 3154 3840 3359 3982 3540 4088 3802 4212 4042 4287 4230 4265 4362 4177 4446 3982 4430 3775 4377 3580 4258 3344 4128 3154 4020 3034 3908 2929 3768 2816 3629 2710 3498 2617 3378 2542 3240 2459 3132 2404 3030 2361 2936 2330 2808 2296 % 1 40 02 2 VALUE2 2803 2567 2712 2582 2638 2624 2592 2675 2558 2725 2545 2799 2559 2874 2578 2940 2606 3010 2651 3098 2697 3175 2765 3271 2820 3341 2869 3400 2918 3450 2978 3507 3069 3580 3165 3650 3309 3743 3421 3803 3556 3848 3660 3858 3757 3839 3825 3785 3872 3688 3889 3590 3880 3476 3852 3365 3811 3274 3751 3181 3692 3111 3614 3033 3532 2957 3459 2892 3383 2829 3279 2754 3161 2691 3071 2647 2984 2612 2892 2583 % 1 40 05 3 VALUE5 2959 2905 2918 2908 2882 2923 2847 2942 2821 2966 2803 3000 2794 3032 2791 3071 2796 3111 2812 3161 2841 3210 2880 3270 2910 3310 2945 3355 2978 3392 3030 3445 3110 3508 3188 3560 3289 3612 3352 3636 3422 3648 3470 3640 3500 3620 3534 3570 3546 3514 3540 3445 3530 3395 3506 3337 3465 3278 3425 3229 3392 3192 3360 3158 3332 3131 3296 3098 3256 3065 3199 3019 3148 2986 3103 2959 3045 2928 3000 2912 % 1 40 08 4 VALUE8 3027 3035 3003 3034 2974 3039 2957 3047 2935 3062 2922 3077 2908 3096 2897 3124 2894 3152 2900 3183 2919 3228 2940 3268 2957 3293 2981 3326 3009 3359 3053 3404 3121 3459 3194 3502 3284 3542 3327 3555 3359 3552 3379 3540 3394 3518 3406 3484 3407 3434 3395 3379 3373 3330 3334 3276 3301 3237 3277 3211 3254 3186 3236 3169 3218 3152 3200 3136 3180 3120 3154 3100 3131 3084 3107 3070 3065 3047 3048 3040 % 1 40 09 5 VALUE9 3038 3054 3015 3052 2991 3057 2975 3063 2949 3076 2937 3087 2919 3102 2909 3125 2907 3159 2911 3188 2930 3232 2947 3267 2965 3293 2987 3323 3017 3357 3058 3400 3124 3454 3198 3500 3284 3534 3321 3539 3349 3537 3365 3527 3378 3504 3390 3472 3392 3430 3380 3377 3353 3325 3320 3273 3284 3233 3263 3210 3240 3188 3210 3168 3205 3155 3190 3141 3172 3126 3149 3108 3128 3094 3107 3081 3067 3060 3050 3051 ] def %END xy_MUNSELL /Y_MUNSELL 5 array def %5 Y*1000 data /Y_MUNSELL %BEG xY_MUNSELL, from Richter Dissertation (1969), page 100 [12100 31300 197700 591000 786600] def %here 4 decimal places! /xy_MUNSELL_C 2 array def %2 xy*1000 data /xy_MUNSELL_C %BEG xy_MUNSELL_C [3101 3162] def %END xy_MUNSELL_C /xy_MUNSELL_Ex 6 array def %6 xy*1000 data, Value 2, 5, 8 /xy_MUNSELL_Ex %BEG xy_MUNSELL_Ex [% 1 01 2 4CR=2EX 3149 3086 % 1 01 5 5CR=2EX 3142 3234 % 1 01 8 6CR=2EX 3144 3275 ] def %END xy_MUNSELL_Ex %M=Munsell /XMi 200 array def %5*40 colour of chroma 2 /YMi 200 array def /ZMi 200 array def /XANMi 200 array def /YANMi 200 array def /ZANMi 200 array def /AANMi 200 array def /BANMi 200 array def 0 0 0 1 setcmykcolor /fscale 0.0001 def 0 1 199 {/k exch def %k=0,199 /k2 k 2 mul def XANMi k xy_MUNSELL k2 0 add get fscale mul put YANMi k xy_MUNSELL k2 1 add get fscale mul put ZANMi k 1. XANMi k get sub YANMi k get sub put /kV k 40 idiv def /YVALUE Y_MUNSELL kV get fscale mul def YMi k YVALUE put /SUMY YVALUE YANMi k get div def XMi k SUMY XANMi k get mul put ZMi k SUMY ZANMi k get mul put } for %k=0,199 %*********************** %XWM,YWM,ZWM and XKW,YKW,ZKW for white /YANWM xy_MUNSELL_C 0 get fscale mul def /YANWM xy_MUNSELL_C 1 get fscale mul def /ZANWM 1. YANWM sub YANWM sub def /YWM 100. def /SUMWM YWM YANWM div def /XWM SUMWM YANWM mul def /ZWM SUMWM ZANWM mul def /XKM XWM def /YKM YWM def /ZKM ZWM def } bind def %END proc_Munsell_colours %************************************************************************* /proc_Ostwald_colours {%BEG proc_Ostwald_colours %Input %/F2 240 array def %either 2 or 10 degree observer %/F10 240 array def %either 2 or 10 degree observer %/SX01 80 array def %380 bis 775 mit deltalambda=05 %/SX02 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX03 80 array def %380 bis 775 mit deltalambda=05 %/SX05 80 array def %380 bis 775 mit deltalambda=05 %/SX06 80 array def %380 bis 775 mit deltalambda=05 %/SX07 80 array def %380 bis 775 mit deltalambda=05 /WEL1i 60 array def %irregular definition /WEL2i 60 array def %irregular definition %0 1 2 3 4 5 6 7 8 9 /WEL1i [405 435 450 460 465 470 475 480 485 490 495 500 510 520 530 540 545 550 555 560 ] def %Calculation /RAOi 80 array def %380 bis 770 nm /F2Oi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /F2NOi 240 array def %3 x 80 data for 380 bis 770nm, either 2 or 10 degree /SDAKOi 80 array def %380 bis 775 mit deltalambda=05 /SX00Oi 80 array def %380 bis 775 mit deltalambda=05 /SX01Oi 80 array def %380 bis 775 mit deltalambda=05 /SX02Oi 80 array def %380 bis 775 mit deltalambda=05 /SX03Oi 80 array def %380 bis 775 mit deltalambda=05 /SX04Oi 80 array def %380 bis 775 mit deltalambda=05 /SX05Oi 80 array def %380 bis 775 mit deltalambda=05 /SX06Oi 80 array def %380 bis 775 mit deltalambda=05 /SX07Oi 80 array def %380 bis 775 mit deltalambda=05 %special wavelength range with complementary colours for E? /FXDOi 80 array def /FYDOi 80 array def /FZDOi 80 array def /DOWOi 80 array def /FADOi 80 array def /FBDOi 80 array def /FCDOi 80 array def %Results /XOi 80 array def %usually 40 Ostwald COLOURS /YOi 80 array def /ZOi 80 array def /XANOi 80 array def %usually 40 Ostwald COLOURS /YANOi 80 array def /ZANOi 80 array def %/XKO def %/YKO def %/ZKO def %/XANKO def %/YANKO def %/ZANKO def %STOP4a 0 1 239 {/i exch def %i=0,239 xcolor 0 eq {%xcolor=0,1 F2Oi i F2 i get put } %xcolor=0 {%xcolor=1 F2Oi i F10 i get put } ifelse %xcolor=1 } for %i=0,239 %STOP5 /YKSUMO 0 def %For any illuminant 0 1 79 {/i exch def %i=0,1,79 /YKSUMO YKSUMO F2Oi 80 i add get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add F2Oi 00 i add get YKSUM div 100 mul put F2NOi 80 i add F2Oi 80 i add get YKSUM div 100 mul put F2NOi 160 i add F2Oi 160 i add get YKSUM div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,79 F2Oi i F2 i get put SX00Oi i SX00 i get put SX01Oi i SX01 i get put SX02Oi i SX02 i get put SX03Oi i SX03 i get put SX04Oi i SX04 i get put SX05Oi i SX05 i get put SX06Oi i SX06 i get put SX07Oi i SX07 i get put } for %i=0,79 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAKOi i xchartx 0 eq {SX00Oi i get} if xchartx 1 eq {SX01Oi i get} if xchartx 2 eq {SX02Oi i get} if xchartx 3 eq {SX03Oi i get} if xchartx 4 eq {SX04Oi i get} if xchartx 5 eq {SX05Oi i get} if xchartx 6 eq {SX06Oi i get} if xchartx 7 eq {SX07Oi i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAKOi i get F2Oi 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2NOi 00 i add SDAKOi i get F2Oi 00 i add get mul YKSUM div 100 mul put F2NOi 80 i add SDAKOi i get F2Oi 80 i add get mul YKSUM div 100 mul put F2NOi 160 i add SDAKOi i get F2Oi 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 /FXNOi 80 array def %FXN 0 = F2N imax /FYNOi 80 array def /FZNOi 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXNOi i F2NOi 000 i add get put FYNOi i F2NOi 080 i add get put FZNOi i F2NOi 160 i add get put } for %i=0,79 %XWO,YWO,ZWO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 /SUMWO XWO YWO add ZWO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWO XWO SUMWO div def /YANWO YWO SUMWO div def /ZANWO ZWO SUMWO div def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXDOi i FXNOi 005 i add get put FYDOi i FYNOi 005 i add get put FZDOi i FZNOi 005 i add get put DOWOi i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXDOi 61 FXDOi 60 get put FYDOi 61 FYDOi 60 get put FZDOi 61 FZDOi 60 get put FXDOi 62 FXDOi 60 get put FYDOi 62 FYDOi 60 get put FZDOi 62 FZDOi 60 get put 0 1 62 {/i exch def %i=0,62 FADOi i FXDOi i get put FBDOi i FYDOi i get put FCDOi i FZDOi i get put } for %i=0,62 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FADO,FBDO,FCDO, KNPO %output FWERTiX/Y/Z (i=1,4) KNP 1 ge {/FWERT1X FADOi KNP 1 sub get def /FWERT1Y FBDOi KNP 1 sub get def /FWERT1Z FCDOi KNP 1 sub get def} {/FWERT1X FADOi 0 get def %again 400nm for i=0 /FWERT1Y FBDOi 0 get def /FWERT1Z FCDOi 0 get def} ifelse /FWERT2X FADOi KNP get def /FWERT2Y FBDOi KNP get def /FWERT2Z FCDOi KNP get def /FWERT3X FADOi KNP 1 add get def /FWERT3Y FBDOi KNP 1 add get def /FWERT3Z FCDOi KNP 1 add get def /FWERT4X FADOi KNP 2 add get def /FWERT4Y FBDOi KNP 2 add get def /FWERT4Z FCDOi KNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* 0 1 19 {/k exch def %k=0,19 %wavelength 405..700nm /j WEL1i k get 400 sub 5 idiv def /LP k def /LPP 20.5 k add def /FF1 FXDOi j get def %start at 405..700nm /FF2 FYDOi j get def /FF3 FZDOi j get def /U1 XWO def /U2 YWO def /U3 ZWO def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FADOi i get FXU1 mul FBDOi i get FXU2 mul add FCDOi i get FXU3 mul add neg def /TP FADOi i 1 add get FXU1 mul FBDOi i 1 add get FXU2 mul add FCDOi i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 %********************************************************* /KNP INP def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOWOi INP get DOWOi INP 1 add get DOWOi INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /KNP IPN def KNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOWOi IPN get DOWOi IPN 1 add get DOWOi IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* 0 1 79 {/i exch def %i=0,79 RAOi i 0 put } for %i=0,79 INP -1 eq {/i1 0 def} %380nm {/i1 INP 5 add def} ifelse %405..700nm IPN -1 eq {/i2 79 def} %770nm {/i2 IPN 5 add def} ifelse %405..700nm i2 i1 ge {%i1i2 i1 1 79 {/i exch def %i=i1,79 RAOi i 1 put } for %i=i1,79 0 1 i2 {/i exch def %i=0,i2 RAOi i 1 put } for %i=0,i2 } ifelse %i1>i2 %correction i2 i1 ge {%i1i2 RAOi i1 0.5 put RAOi i2 0.5 XIEPN 0.5 sub add put } ifelse %i1>i2 %*************************************************** /XO 0 def /YO 0 def /ZO 0 def 0 1 079 {/i exch def %i=0,79 /XO XO F2NOi 00 i add get RAOi i get mul add def /YO YO F2NOi 80 i add get RAOi i get mul add def /ZO ZO F2NOi 160 i add get RAOi i get mul add def } for %i=0,79 /SUMO XO YO add ZO add def /XANO XO SUMO FL add div def /YANO YO SUMO FL add div def /ZANO ZO SUMO FL add div def %************************************************* 0 0 0 1 setcmykcolor 0 1 1 {/Icom exch def %Icom=0,1 Icom 0 eq {%Icom=0,1 XOi k XO put YOi k YO put ZOi k ZO put XANOi k XANO put YANOi k YANO put ZANOi k ZANO put }%Icom=0 {%Icom=1 /kP 20 k add def XOi kP XWO XO sub put YOi kP YWO YO sub put ZOi kP ZWO ZO sub put /SUMO XOi kP get YOi kP get add ZOi kP get add def XANOi kP XOi kP get SUMO FL add div put YANOi kP YOi kP get SUMO FL add div put ZANOi kP ZOi kP get SUMO FL add div put } ifelse %Icom=1 } for %Icom=0,1 K 1 eq {%K=1 XOi k XOi k get 0.8859 mul put YOi k YOi k get 0.8859 mul put ZOi k ZOi k get 0.8859 mul put XOi kP XOi kP get 0.8859 mul put YOi kP YOi kP get 0.8859 mul put ZOi kP ZOi kP get 0.8859 mul put } if %K=1 } for %k=0,19 %************************************** %XWO,YWO,ZWO and XKO,YKO,ZKO for white /XWO 0 def /YWO 0 def /ZWO 0 def 0 1 079 {/i exch def %i=0,79 /XWO XWO F2NOi 00 i add get add def /YWO YWO F2NOi 80 i add get add def /ZWO ZWO F2NOi 160 i add get add def } for %i=0,79 K 0 eq {%K=0 /XKO XWO def /YKO YWO def /ZKO ZWO def }%K=0 {%K=1 /XKO XWO 0.8859 mul def /YKO YWO 0.8859 mul def /ZKO ZWO 0.8859 mul def } ifelse %K=1 /SUMKO XKO YKO add ZKO add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKO XKO SUMKO div def /YANKO YKO SUMKO div def /ZANKO ZKO SUMKO div def /XANWL XANWO def /YANWL YANWO def /ZANWL ZANWO def } bind def %END proc_Ostwald_colours %********************************************************************** %**************************************************************** %allways /proc_DEF_colours {%BEG proc_DEF_colours %Colour Deficiencies /ip1 700 380 sub 5 idiv def %ip=64:700nm /XANP1 XANi ip1 get def /YANP1 YANi ip1 get def /ZANP1 ZANi ip1 get def /id1 505 380 sub 5 idiv def %ip=25:505nm /XAND1 XANi id1 get def /YAND1 YANi id1 get def /ZAND1 ZANi id1 get def /it1 400 380 sub 5 idiv def %ip=4:400nm /XANT1 XANi it1 get def /YANT1 YANi it1 get def /ZANT1 ZANi it1 get def %************************* /XANP XANP1 def /YANP YANP1 def /ZANP ZANP1 def /XAND 1.000 def /YAND 0.001 def /ZAND 0.999 def /XANT 0.171 def /YANT 0.001 def /ZANT 1.000 XANT sub YANT sub def %************************* /XAN00 0.3333 def %Illuminant E /YAN00 0.3333 def /mP YAN00 YANP sub XAN00 XANP sub div def %700nm /bP YAN00 XAN00 mP mul sub def /mD YAN00 YAND sub XAN00 XAND sub div def %xx /bD YAN00 XAN00 mD mul sub def /mT YAN00 YANT sub XAN00 XANT sub div def %xx /bT YAN00 XAN00 mT mul sub def %************************* /mP1 YAN00 YANP1 sub XAN00 XANP1 sub div def %700nm /bP1 YAN00 XAN00 mP1 mul sub def %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /XAND1 XANZi i get def /YAND1 YANZi i get def /mD1 YAN00 YAND1 sub XAN00 XAND1 sub div def %505cnm /bD1 YAN00 XAN00 mD1 mul sub def /mT1 YAN00 YANT1 sub XAN00 XANT1 sub div def %400nm /bT1 YAN00 XAN00 mT1 mul sub def /ishow {0 -40 rmoveto show 0 40 rmoveto} def /eshow {0 60 rmoveto show 0 -60 rmoveto} def /imshow {0 -40 rmoveto (m) show 0 40 rmoveto} def /imaxshow {0 -40 rmoveto (max) show 0 40 rmoveto} def /iminshow {0 -40 rmoveto (min) show 0 40 rmoveto} def } bind def %END proc_DEF_colours %allways if xchart6>=1 /proc_chromaticity {%BEG proc_chromaticity %chromaticity definitions xchartl 8 eq {%xchartl=8 %(x,y) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get put BANi i YANi i get put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get put BANZi i YANZi i get put } for %i=0,16 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 def /BANP1 YANP1 def /AAND1 XAND1 def /BAND1 YAND1 def /AANT1 XANT1 def /BANT1 YANT1 def /AANP XANP def /BANP YANP def /AAND XAND def /BAND YAND def /AANT XANT def /BANT YANT def %ACHROMATIC COLOUR /AANWL XANWL def /BANWL YANWL def /AANWC XANWC def /BANWC YANWC def } if %xchartl=8 %only for (x,y) %***************** xchartl 9 eq {%xchartl=9 %(a,b) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=9 %only for (a,b) %***************** xchartl 10 eq {%xchartl=10 %(a1,b1) 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i ZANi i get YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i ZANZi i get YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 ZANP1 YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 ZAND1 YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 ZANT1 YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP ZANP YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND ZAND YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT ZANT YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL ZANWL YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC ZANWC YANWC FL add div b2 mul def } if %xchartl=10 %only for (a1,b1) %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=11 %only for (a2,b2) %***************** xchartl 12 eq {%xchartl=12 %(a3,b3) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=12 %only for (a3,b3) %***************** xchartl 13 eq {%xchartl=13 %(a4,b4) %a=x/y %b=(mP1*x+bP1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mP1 mul bP1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mP1 mul bP1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mP1 mul bP1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mP1 mul bP1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mP1 mul bP1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mP1 mul bP1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mP1 mul bP1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mP1 mul bP1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mP1 mul bP1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mP1 mul bP1 add YANWC FL add div b2 mul def } if %xchartl=13 %only for (a4,b4) %***************** xchartl 14 eq {%xchartl=14 %(a5,b5) %a=(x-XANT)/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get XANT sub YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get XANT sub YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 XANT sub YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 XANT sub YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 XANT sub YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP XANT sub YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND XANT sub YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT XANT sub YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL XANT sub YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC XANT sub YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=14 %only for (a5,b5) %***************** xchartl 15 eq {%xchartl=15 %(a6,b6) %a=x/y %b=(mD1*x+bD1)/y 0 1 79 {/i exch def %i=0,79 AANi i XANi i get YANi i get FL add div a2 mul put BANi i XANi i get mD1 mul bD1 add YANi i get FL add div b2 mul put } for %i=0,79 0 1 16 {/i exch def %i=0,16 AANZi i XANZi i get YANZi i get FL add div a2 mul put BANZi i XANZi i get mD1 mul bD1 add YANZi i get FL add div b2 mul put } for %i=0,79 %COlOUR VISION DEFICIENCIES /AANP1 XANP1 YANP1 FL add div a2 mul def /BANP1 XANP1 mD1 mul bD1 add YANP1 FL add div b2 mul def /AAND1 XAND1 YAND1 FL add div a2 mul def /BAND1 XAND1 mD1 mul bD1 add YAND1 FL add div b2 mul def /AANT1 XANT1 YANT1 FL add div a2 mul def /BANT1 XANT1 mD1 mul bD1 add YANT1 FL add div b2 mul def /AANP XANP YANP FL add div a2 mul def /BANP XANP mD1 mul bD1 add YANP FL add div b2 mul def /AAND XAND YAND FL add div a2 mul def /BAND XAND mD1 mul bD1 add YAND FL add div b2 mul def /AANT XANT YANT FL add div a2 mul def /BANT XANT mD1 mul bD1 add YANT FL add div b2 mul def %ACHROMATIC COLOUR /AANWL XANWL YANWL FL add div a2 mul def /BANWL XANWL mD1 mul bD1 add YANWL FL add div b2 mul def /AANWC XANWC YANWC FL add div a2 mul def /BANWC XANWC mD1 mul bD1 add YANWC FL add div b2 mul def } if %xchartl=15 %only for (a6,b6) } bind def %END proc_chromaticity %*********************************************************** /proc_diagram_xchartl_txt {%BEG proc_diagram_xchartl_txt xchartl 8 eq {%xchartl=8,#8 (Normfarbtafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (, ) show TBIS (y) show xcolor 1 eq {(10) ib6} if TBS (\051) show }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%%xchart10=0, abx (Farbarttafel) showde (chromaticity diagram) showea TBS ( \050) show TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=0, abx xchart10 1 eq {%%xchart10=1, ABx (Buntwerte) showde (chromatic value) showea TBS ( \050) show TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=1, abx xchart10 2 eq {%xchart10=2, AB*x (Buntheiten) showde (chroma diagram) showea TBS ( \050) show TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (, ) show TBIS (B*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (\051) show } if %%xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_diagram_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_txt {%BEG proc_xaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {TBV (10) ishow} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (A) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (A*) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_xaxis_xchartl_txt %*********************************************************** /proc_yaxis_xchartl_txt {%BEG proc_yaxis_xchartl_txt xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 3 cases xchart10: abx, ABx, AB*x xchart10 0 eq {%xchart10=0, abx TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=0, abx xchart10 1 eq {%xchart10=1, ABx TBIS (B) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=1, ABx xchart10 2 eq {%xchart10=2, AB*x TBIS (B*) show xchartl 9 sub ib6 xcolor 1 eq {(,10) ib6} if } if %xchart10=2, AB*x } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_txt %*********************************************************** /proc_xaxis_xchartl_coor {%BEG proc_xaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (x) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 case xchart10: abx (x=0,6) xchart10 0 eq {%xchart10=0, abx xchartl 09 eq xchartl 11 eq or xchartl 15 eq or {%xchartl=9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=9,11,15 {%xchartl#9,11,15 TBIS (a) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if TBS (=\050) show TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (-0,171\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } ifelse %xchartl#9,11,15 } if %xchart10=0, abx } ifelse %xchart=8,#8 } bind def %END proc_xaxis_xchartl_coor %*********************************************************** /proc_yaxis_xchartl_coor {%BEG proc_yaxis_xchartl_coor xchartl 8 eq {%xchartl=8,#8 TBIS (y) show xcolor 1 eq {(10) ib6} if }%xchartl=8 {%xchartl#8, 1 casesxchart10: abx xchart10 0 eq {%xchart10=0, abx xchartl 09 ge xchartl 15 le and {%xchartl=9,15 TBIS (b) show xchartl 9 sub cvicvs ib6 xcolor 1 eq {(,10) ib6} if xchartl 09 eq xchartl 10 eq or {%xchartl=09,10 TBS (=-0,40) show TBIS (z) show xcolor 1 eq {(10) ib6} if TBS (/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=09,10 xchartl 11 eq xchartl 13 eq or {%xchartl=11,13 TBS (=\050) show mP1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bP1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=11,13 xchartl 12 eq xchartl 14 eq or xchartl 15 eq or {%xchartl=12,14,15 TBS (=\050) show mD1 cvsshow3x TBIS (x) show xcolor 1 eq {(10) ib6} if TBS (+) show bD1 cvsshow3x TBS (\051/) show TBIS (y) show xcolor 1 eq {(10) ib6} if } if %xchartl=12,14,15 } if %xchartl=9,15 } if %xchart10=0, abx } ifelse %xchart#8 } bind def %END proc_yaxis_xchartl_coor %********************************************************* /proc_chromaticity_lines {%BEG proc_chromaticity_lines for xchart6>=1 %chromaticity lines and with names for xchart6=2 xchartl 8 eq {%xchartl=8 %(x,y) /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic 0 0 moveto 4000 0 rlineto stroke 0 0 moveto 0 3200 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 -50 moveto 0 100 rlineto stroke 800 -50 moveto 0 100 rlineto stroke 1600 -50 moveto 0 100 rlineto stroke 2400 -50 moveto 0 100 rlineto stroke 3200 -50 moveto 0 100 rlineto stroke 4000 -50 moveto 0 100 rlineto stroke -100 -300 moveto (0,0) show 700 -300 moveto (0,2) show 1500 -300 moveto (0,4) show 2300 -300 moveto (0,6) show 3100 -300 moveto (0,8) show 3900 -300 moveto (1,0) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 800 moveto 100 0 rlineto stroke -50 1600 moveto 100 0 rlineto stroke -50 2400 moveto 100 0 rlineto stroke -50 3200 moveto 100 0 rlineto stroke -450 -80 moveto (0,0) show -450 720 moveto (0,2) show -450 1520 moveto (0,4) show -450 2320 moveto (0,6) show -450 3120 moveto (0,8) show TIS 4200 150 moveto (x) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if -300 2800 moveto (y) show xcolor 1 eq {TV 0 -40 rmoveto (10) show 0 40 rmoveto TIS} if TBIS 2600 150 moveto xcolor 0 eq {(CIE 1931) show} if xcolor 1 eq {(CIE 1964) show} if newpath /fakt 4000 def %old %1000 02 01 16 01 .00 .0020 ******************** %ANF PROZSPEP3.FOR: MULYA= 4000 BEO=02 xy-Farbtafel IXY0: 600 400 %600 400 translate %693 19 moveto 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %0 0 000 000 (385) %1 0 000 000 (390) %2 0 000 000 (395) %3 1 -170 -170 (400) %4 0 000 000 (405) %5 0 000 000 (410) %6 0 000 000 (415) %7 0 000 000 (420) %8 0 000 000 (425) %9 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 1 -300 -050 (450) %14 S 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 1 -300 -030 (475) %19 0 000 000 (480) %20 0 000 000 (485) %21 1 -330 -050 (490) %22 1 -270 000 (495) %23 M=S 1 -300 -050 (500) %24 1 -300 -050 (505) %25 1 -330 -050 (510) %26 L=S 1 -300 050 (515) %27 1 -100 070 (520) %28 1 100 000 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 M 0 000 000 (545) %33 1 050 050 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 L 1 050 050 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 100 -50 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 100 -50 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -50 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 100 -50 (700) %0 see normal 1 050 -100 (495c,E) %1 1 050 -100 (500c,E) %2 0 050 -100 (505c,E) %3 1 100 -60 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 050 -100 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 050 -100 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 050 -100 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=5,5,60 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,405,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,405,...,700 } if %xytshiftZ=1 } for %i=0,1,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf XANWL fakt mul def /BANWLf YANWL fakt mul def /AANWCf XANWC fakt mul def /BANWCf YANWC fakt mul def /i 400 380 sub 5 idiv def %4 T /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0.5 0 0.5 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANWLf 300 sub BANWLf 900 sub moveto TIK (T) show (S) is4 %TS /i 450 380 sub 5 idiv def %14 S /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %AANF 500 add BANF 1000 sub moveto TIK (S) show (m) is4 %450 S AANWLf 750 sub BANWLf 1000 sub moveto TIK (S) show (m) is4 %450 S /i 475 380 sub 5 idiv def %18 B /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 1 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %475 Be (Lc) AANF 050 sub BANF 250 add moveto TIK (B) show TV (e) is4 /i 495 380 sub 5 idiv def %23 Rc /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %495 Rc (M=S) AANF 120 add BANF 400 sub moveto TIK (M) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 505 380 sub 5 idiv def %26 505c,E /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %505 V (M=S) AANF 250 add BANF 300 sub moveto TIK (V') show 0 0 0 setrgbcolor AANF 050 add BANF 550 sub moveto TIK (V) show (l) iy4 TK (=) show TIK (S) show (l) iy4 /i 520 380 sub 5 idiv def %28 G /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %525 G (Y=B) AANF 150 add BANF 300 sub moveto TIK (G) show TS (e) is4 1 1 0 setrgbcolor AANF 100 sub BANF 700 sub moveto TIK (Y) show (l) iy4 TK (=) show 0 0 1 setrgbcolor TIK (B) show (l) iy4 /i 540 380 sub 5 idiv def %32 M /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %540 M AANF 100 sub BANF 100 add moveto TIK (M) show (m) is4 /i 555 380 sub 5 idiv def %35 V /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %555 V (L=M) AANF 000 add BANF 000 add moveto TIK (V) show (m) is4 /i 570 380 sub 5 idiv def %38 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 0 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %570 L %AANF 250 sub BANF 200 sub moveto TIK (Y) show %0 0 0 setrgbcolor AANF 050 sub BANF 150 add moveto TIK (L) show (m) is4 /i 575 380 sub 5 idiv def %39 L /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %575 L AANF 050 sub BANF 300 sub moveto TIK (Y) show TV (e) is4 /i 700 380 sub 5 idiv def %64 R /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def 1 0 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke %700 AANF 750 sub BANF 120 sub moveto TIK (R) show (e) is4 %Protanop PL 1 0 0 setrgbcolor AANF 600 sub BANF 150 add moveto TIK (P) show TS (L) is4 %PL %Deuteranop DM 0 1 0 setrgbcolor /i 505 495 sub 5 idiv 1 add def %2 D (505c,E) /AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def 0 1 0 setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke AANF 600 sub BANF 000 sub moveto TIK (D) show (M) is4 %DM newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans8 neg ytrans8 neg translate %for scala and grafic %ENDE: 1 } if %xchartl=8 %***************** xchartl 9 eq {%xchartl=9 %(a,b) %STOP9 /xtrans9a 0500 def /xtrans9 1300 def /ytrans9 3200 def xtrans9a ytrans9 translate 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans9a neg ytrans9 neg translate %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans9 ytrans9 translate /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 1 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 200 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0050 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans9 neg ytrans9 neg translate %ENDE: 2 } if %xchartl=9 %*********************************************************** xchartl 10 eq {%xchartl=10 (a1,b1) /xtrans10a 0500 def /xtrans10 1300 def /ytrans10 3200 def xtrans10a ytrans10 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show -450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans10a neg ytrans10 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans10 ytrans10 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 0 000 000 (470) %18 0 000 000 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -250 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0500 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0750 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 -0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0130 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans10 neg ytrans10 neg translate %for text and grafic %ENDE: 2 } if %xchartl=10 %***************** xchartl 11 eq {%xchartl=11 %(a2,b2) /xtrans11a 0500 def /xtrans11 1300 def /ytrans11 3200 def xtrans11a ytrans11 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans11a neg ytrans11 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans11 ytrans11 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 100 -050 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=5,1,60 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=5,1,60 TBIV 0 1 59 {/i exch def %i=0,65 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,65 newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,1,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=5,1,60 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1700 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 0500 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0200 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0050 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0250 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0150 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans11 neg ytrans11 neg translate %for text and grafic %ENDE: 2 } if %xchartl=11 %*********************************************************** xchartl 12 eq {%xchartl=12 %(a3,b3) /xtrans12a 0500 def /xtrans12 1300 def /ytrans12 3200 def xtrans12a ytrans12 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans12a neg ytrans12 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans12 ytrans12 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 -300 -100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -280 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2100 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2100 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1000 -2100 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0550 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0200 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans12 neg ytrans12 neg translate %for text and grafic %ENDE: 2 } if %xchartl=12 %*********************************************************** xchartl 13 eq {%xchartl=13 %(a4,b4) /xtrans13a 0500 def /xtrans13 1300 def /ytrans13 3200 def xtrans13a ytrans13 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans13a neg ytrans13 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans13 ytrans13 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 -050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -050 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -300 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 050 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0100 -1500 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0650 -1500 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0800 -1500 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0900 -0000 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0700 0080 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0300 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0200 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0200 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0800 0050 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0180 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans13 neg ytrans13 neg translate %for text and grafic %ENDE: 2 } if %xchartl=13 %*********************************************************** xchartl 14 eq {%xchartl=14 %(a5,b5) /xtrans14a 0500 def /xtrans14 1300 def /ytrans14 3200 def xtrans14a ytrans14 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 -200 moveto TBS (Parame\255) show 4150 -400 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans14a neg ytrans14 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans14 ytrans14 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 100 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 %STOPX newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 0 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 0000 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 -0600 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -1100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0800 -0100 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0850 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans14 neg ytrans14 neg translate %for text and grafic %ENDE: 2 } if %xchartl=14 %*********************************************************** xchartl 15 eq {%xchartl=15 %(a6,b6) /xtrans15a 0500 def /xtrans15 1300 def /ytrans15 3200 def xtrans15a ytrans15 translate %for text and grafic 0 400 moveto 4000 0 rlineto stroke 0 400 moveto 0 -3600 rlineto stroke %! 100 S-Einheiten = 2000 Skalen-Einheiten TBS 0 350 moveto 0 100 rlineto stroke 800 350 moveto 0 100 rlineto stroke 1600 350 moveto 0 100 rlineto stroke 2400 350 moveto 0 100 rlineto stroke 3200 350 moveto 0 100 rlineto stroke 4000 350 moveto 0 100 rlineto stroke -150 500 moveto (-0,8) show 650 500 moveto (0,0) show 1450 500 moveto (0,8) show 2250 500 moveto (1,6) show %3050 500 moveto (2,4) show %3850 500 moveto (3,2) show %! 100 S-Einheiten = 2000 Skalen-Einheiten -50 0 moveto 100 0 rlineto stroke -50 -800 moveto 100 0 rlineto stroke -50 -1600 moveto 100 0 rlineto stroke -50 -2400 moveto 100 0 rlineto stroke -50 -3200 moveto 100 0 rlineto stroke -450 -100 moveto ( 0,0) show -450 -900 moveto (-0,8) show %-450 -1700 moveto (-1,6) show %-450 -2500 moveto (-2,4) show posax posay moveto proc_xaxis_xchartl_coor -275 -3150 moveto 90 rotate proc_yaxis_xchartl_coor -90 rotate xchart6 2 eq {%xchart6=2 4150 300 moveto TBS (Parame\255) show 4150 100 moveto TBS (ter:) show TBIS ( Y) show TV } if %xchart6=2 xtrans15a neg ytrans15 neg translate %for text and grafic %1000 02 01 16 01-.03**************************************** %ANF PROZSPEP.FOR: MULYA= 1000 BEO=02 ab-Farbtafel IXY0: 1500 3200 xtrans15 ytrans15 translate %for text and grafic /fakt 1000 def 5 1 60 {/i exch def %i=5,60 AANi i get fakt mul BANi i get fakt mul i 05 eq {moveto} if i 06 ge i 59 le and {lineto} if i 60 eq {lineto closepath stroke} if } for %i=5,60 /xytshift 320 array def %min 4x65 /xytshift [ 0 000 000 (380) %00 0 000 000 (385) %01 0 000 000 (390) %02 0 000 000 (395) %03 0 -375 -250 (400) %04 0 000 000 (405) %05 0 000 000 (410) %06 0 000 000 (415) %07 0 000 000 (420) %08 0 -500 -100 (425) %09 0 000 000 (430) %10 0 000 000 (435) %11 0 000 000 (440) %12 0 000 000 (445) %13 0 -350 -030 (450) %14 0 000 000 (455) %15 0 000 000 (460) %16 0 000 000 (465) %17 1 -300 -100 (470) %18 1 050 050 (475) %19 1 -300 -100 (480) %20 0 000 000 (485) %21 1 -300 -100 (490) %22 0 000 000 (495) %23 1 -300 -100 (500) %24 0 000 000 (505) %25 0 000 000 (510) %26 0 000 000 (515) %27 0 000 000 (520) %28 1 -200 060 (525) %29 0 000 000 (530) %30 0 000 000 (535) %31 0 000 000 (540) %32 0 000 000 (545) %33 0 000 000 (550) %34 0 000 000 (555) %35 0 000 000 (560) %36 0 000 000 (565) %37 0 000 000 (570) %38 1 000 060 (575) %39 0 000 000 (580) %40 0 000 000 (585) %41 0 000 000 (590) %42 0 000 000 (595) %43 1 -150 060 (600) %44 0 000 000 (605) %45 0 000 000 (610) %46 0 000 000 (615) %47 0 000 000 (620) %48 1 -150 060 (625) %49 0 000 000 (630) %50 0 000 000 (635) %51 0 000 000 (640) %52 0 000 000 (645) %53 0 000 000 (650) %54 0 000 000 (655) %55 0 000 000 (660) %56 0 000 000 (665) %57 0 000 000 (670) %58 0 000 000 (675) %59 0 000 000 (680) %60 0 000 000 (685) %61 0 000 000 (690) %62 0 000 000 (695) %63 1 100 -150 (700) %64 ] def 0 1 64 {/i exch def %i=0,64 /i40 i 4 mul def xytshift i40 get 1 eq {%xytshift=1 0 0 0 0 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANi i get fakt mul BANi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshift=1 } for %i=0,64 newpath TBIV 0 1 59 {/i exch def %i=0,59 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshift i40 get 1 eq {%xytshift=1 AANi i get fakt mul xytshift i41 get add BANi i get fakt mul xytshift i42 get add moveto xytshift i43 get show } if %xytshift=1 } for %i=0,59 newpath newpath /xytshiftZ 320 array def %min 4x65 /xytshiftZ [ 1 -100 060 (700) %0 normal 1 070 -50 (495c,E) %1 1 070 -50 (500c,E) %2 0 070 -50 (505c,E) %3 1 070 -50 (510c,E) %4 0 050 -100 (515c,E) %5 0 050 -100 (520c,E) %6 1 070 -50 (525c,E) %7 0 050 -100 (530c,E) %8 0 050 -100 (535c,E) %9 0 050 -100 (540c,E) %10 0 050 -100 (545c,E) %11 1 070 -50 (550c,E) %12 0 050 -100 (555c,E) %13 0 050 -100 (560c,E) %14 S 1 070 -50 (565c,E) %15 0 -100 -150 (400) %16 see normal ] def 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def xytshiftZ i40 get 1 eq {%xytshiftZ=1 0 0 0 0 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc fill %400,425,...,700 0 0 0 1 setcmykcolor AANZi i get fakt mul BANZi i get fakt mul 30 0 360 arc stroke %400,425,...,700 } if %xytshiftZ=1 } for %i=0,16 newpath TBIV 0 1 16 {/i exch def %i=0,16 /i40 i 4 mul def /i41 i40 1 add def /i42 i40 2 add def /i43 i40 3 add def xytshiftZ i40 get 1 eq {%xytshiftZ=1 AANZi i get fakt mul xytshiftZ i41 get add BANZi i get fakt mul xytshiftZ i42 get add moveto xytshiftZ i43 get show } if %xytshiftZ=1 } for %i=0,16 newpath /AANWLf AANWL fakt mul def /BANWLf BANWL fakt mul def /AANWCf AANWC fakt mul def /BANWCf BANWC fakt mul def /tabj 240 array def %20x12 /tabj %00 01 02 03 04 05 06 07 08 09 10 12 %JN lam la0 color shix shiy Na1 in1 Na2 in2 [01 400 380 0.5 0.0 0.5 1800 -2000 (T) (S) () () 01 450 380 1.0 0.0 1.0 1100 -2000 (S) (m) () () 01 475 380 0.0 0.0 1.0 -0100 -2000 (B) (e) () () 01 495 380 0.0 0.0 0.0 -0700 -0150 (M) (l) (=S) (l) 01 505 380 0.0 0.0 0.0 -0750 0000 (V) (l) (=S) (l) 01 520 380 0.0 1.0 0.0 -0500 0150 (G) (e) () () 00 520 380 0.0 0.0 0.0 -0800 -0050 (Y) (l) (=B) (l) 01 540 380 0.0 0.0 0.0 -0100 0100 (M) (m) () () 01 570 380 0.0 0.0 0.0 -0200 0100 (L) (m) () () 01 575 380 1.0 1.0 0.0 -0100 0250 (Y) (e) () () 01 700 380 1.0 0.0 0.0 -0450 -0300 (R) (e) () () 01 700 380 1.0 0.0 0.0 -0900 -0100 (P) (L) () () 01 505 490 0.0 1.0 0.0 -0600 -0220 (D) (M) () () ] def 0 1 12 {/j exch def %j=0,12 /j0 j 12 mul def /l01 j0 01 add def /l02 j0 02 add def /co1 j0 03 add def /co2 j0 04 add def /co3 j0 05 add def /po1 j0 06 add def /po2 j0 07 add def /n11 j0 08 add def /n12 j0 09 add def /n21 j0 10 add def /n22 j0 11 add def tabj j0 get 1 eq {%JN=1 /i tabj l01 get tabj l02 get sub 5 idiv def /AANF AANi i get fakt mul def /BANF BANi i get fakt mul def j 12 eq {/AANF AANZi i get fakt mul def /BANF BANZi i get fakt mul def } if tabj co1 get tabj co2 get tabj co3 get setrgbcolor AANWLf BANWLf moveto AANF BANF lineto stroke xchart6 2 eq {%xchart6=2 %add text j 2 le {AANWLf tabj po1 get add BANWLf tabj po2 get add moveto} %relative achromatic {AANF tabj po1 get add BANF tabj po2 get add moveto} ifelse TIK tabj n11 get show tabj n12 get (l) eq {(l) iy4} {tabj n12 get ishow} ifelse TIK tabj n21 get show tabj n22 get (l) eq {(l) iy4} {tabj n22 get ishow} ifelse } if %xchart6=2 } if %JN=1 } for %j=0,12 newpath 0 0 0 setrgbcolor xchart5 1 ge {%xchart5=1 AANWLf BANWLf %achromatic 40 0 360 arc stroke newpath } if %xchart5=1 xchart5 2 eq {%xchart5=2 0 0 0 setrgbcolor AANWLf 000 add BANWLf 300 sub moveto %achromatic TBS TELi xchartx get show %text illuminant } if %xchart5=2 xchart3 0 eq {%Munsell AANWCf 550 add BANWCf 250 add moveto TBV (1) show AANWCf 350 add BANWCf 100 add moveto TBV (2) show AANWCf 200 add BANWCf 050 add moveto TBV (5) show } if %Munsell xtrans15 neg ytrans15 neg translate %for text and grafic %ENDE: 2 } if %xchartl=15 } bind def %END proc_chromaticity_lines %********************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 1 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /xchart5f where {pop /xchart5 xchart5f def} %new {/xchart5 2 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END %STOP1 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (BG281-3A) 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 0 def %diagram 0:(ai,bi), 1:(Ai,Bi), 2:(A*i,B*i) /posax 2800 def %pos (ax, x=0,..,6) /posay 0550 def /FL 0.00001 def /Y18 18 def %grey background %/n0e 1.000 def %1.0000 for (ai,bi, not used) and (Ai,Bi); 0.3333 for (A*i,B*i) /n1e 1.0000 def %allways %/n1e 0.3333 def %very special (a', b') xchart10 1 le {/n0e 1.0000 def} {/n0e 0.3333 def} ifelse gsave /xchartx xchart def 2 1 2 {/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 %allways proc_XYZ_colours 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 /xchartl 13 def 08 1 15 {/xchartl exch def %xchartl=8,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if % xchartl 8 eq { 100 13000 translate} if % xchartl 9 eq { 6100 13000 translate} if % xchartl 10 eq { 100 08750 translate} if % xchartl 11 eq { 6100 08750 translate} if % xchartl 12 eq { 100 4500 translate} if % xchartl 13 eq { 6100 4500 translate} if % xchartl 14 eq { 100 0250 translate} if % xchartl 15 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(BG281-) show} {(BG281-) 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 %******************************************************************** %BEG 'BL10'Y11_XCHART10_0.PS xchart10 0 eq {%xchart10=0 long loop 1000 lines! 0 0 0 1 setcmykcolor xchartl 7 le {/xchart12 xchartl 12 mul def} if xchartl 8 ge {/xchart12 xchartl 8 sub 12 mul def} if xchart3 0 eq {%xchart3=0 %Munsell_colours /xtexti [ %T00 T10 T20 T30 T40 T41 T50 T51 T60 T61 T70 T71 %0 1 2 3 4 5 6 7 8 9 10 11 1800 1800 1800 2800 2800 4000 2800 4000 2800 4000 2800 4000 %0 2700 2700 2700 2700 2700 1800 0600 1800 0600 1800 0600 1800 %1 2700 2700 2700 2700 2700 1900 0700 1900 0700 1900 0700 1900 %2 0600 0600 0600 0600 0600 1900 0600 1900 0600 1900 0600 1900 %3 2700 2700 2700 2700 2700 1900 0700 1900 0700 1900 0700 1900 %4 2700 2700 2700 2700 2700 1900 0700 1900 0700 1900 0700 1900 %5 2700 2700 2700 2700 2700 1900 0700 1900 0700 1900 0700 1900 %6 0600 0600 0600 0600 0600 1900 0600 1900 0600 1900 0600 1900 %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 ge {%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 2700 2700 2700 2700 2700 1800 0600 1800 0600 1800 0600 1800 %1 2700 2700 2700 2700 2700 1900 0700 1900 0700 1900 0700 1900 %2 0600 0600 0600 0600 0600 1900 0600 1900 0600 1900 0600 1900 %3 2700 2700 2700 2700 2700 1900 0700 1900 0700 1900 0700 1900 %4 2700 2700 2700 2700 2700 1900 0700 1900 0700 1900 0700 1900 %5 2700 2700 2700 2700 2700 1900 0700 1900 0700 1900 0700 1900 %6 0600 0600 0600 0600 0600 1900 0600 1900 0600 1900 0600 1900 %7 ] def /ytexti [ 3800 3580 3360 3140 2920 2920 2700 2700 2480 2480 2260 2260 %0 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %1 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %2 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %3 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %4 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %5 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %6 0500 0280 0060 1600 1380 1380 1160 1160 0940 0940 0720 0720 %7 ] def } if %xchart3=1 %Ostwald_colours TBS 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 %0BG281-7 02581 ( System) showea %1BG281-7 02581 TBIS (, Y) show TBV (W) ishow TBS K 0 eq {(=100) show}{(=88,6) show} ifelse xtexti xchart12 1 add get ytexti xchart12 1 add get moveto (C=2, V=1, 2, 5, 8 & 9, ) show %0BG281-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 %0BG281-7 02581 TBIS (Ostwald) showen TBS ( colours (o)) showen %1BG281-7 02581 TBS (Colores) showes TBIS ( Ostwald (o)) showes %2BG281-7 02581 TBS (Couleurs) showfr TBIS ( Ostwald (o)) showfr %3BG281-7 02581 TBS (Colori) showit TBIS ( Ostwald (o)) showit %4BG281-7 02581 TBIS (Ostwald) showjp TBS ( colours (o)) showjp %5BG281-7 02581 TBIS (, Y) show TBV 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 %0BG281-7 03581 (max (m) chromatic value, ) showen %1BG281-7 03581 (chromatic m\341x (m), ) showes %2BG281-7 03581 (max (m) chromatic valeur, ) showfr %3BG281-7 03581 (max (m) chromatic value, ) showit %4BG281-7 03581 (max (m) chromatic value, ) showjp %5BG281-7 03581 TELi xchartx get show } if %xchart3=1 %Optimal_colours xchart3 2 eq {%xchart3=2 %Any_colour xtexti xchart12 0 add get ytexti xchart12 0 add get moveto TBS (F\374r jede Farbe) showde %0BG281-7 02581 TBS (For any colour) showea %1BG281-7 02581 TBIS (, Y) show TBV (W) ishow xcolor 1 eq {TBV (,10) ishow} 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 ([max (m) Buntwert?], ) showde %0BG281-7 03581 ([max (m) chromatic value?], ) showea %1BG281-7 03581 } if %xchart3=2 %Any_colour %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 xchart6 1 ge {%xchart6>=1 proc_chromaticity xchart6 2 eq {%xchart6=2 proc_chromaticity_lines } if %xchart6=2 } if %xchart6>=1 xchartl 0 eq xchartl 8 eq or {%xchartl=0,8 %only for (x,y) /fakt 4000 def /xtrans8 600 def /ytrans8 400 def xtrans8 ytrans8 translate %for scala and graphic %STOPX 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 xchart10 0 eq {%xchart10=0 /Yexp 1 def %chromaticity }%xchart10=0 {%xchart10#0 /Yexp Y18 YMi ikV40 get Y18 div n0e exp mul def } ifelse %xchart10=1 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 } 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 xchart10 0 eq {%xchart10=0 /Yexp 1 def %chromaticity }%xchart10=0 {%xchart10#0 /Yexp Y18 YOi i get Y18 div n0e exp mul def } ifelse %xchart10=1 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 -0250 0200 (C) (O) 06 0.0 1.0 0.0 -0150 0100 (G) (O) 09 0.8 1.0 0.0 -0150 -0200 (Y) (x) 13 1.0 1.0 0.0 0100 -0050 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 0050 -0100 (M) (O) 29 0.2 0.0 1.0 0000 0150 (V) (n) 33 0.0 0.0 1.0 0050 0100 (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 TBV tab_Ocolors i7 get ishow TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans8 neg ytrans8 neg translate %for scala and grafic } if %xchartl=0,8 %************************ xchartl 1 eq xchartl 9 eq or {%xchartl=1,9 %only for (ai,bi) -> (a0=x/y, b0=-0.4*z/y) /fakt 1000 def /a2 1.00 def /b2 -0.4 def /xtrans9 1300 def /ytrans9 3200 def xtrans9 ytrans9 translate xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp 1 def %chromaticity AnYi i XANMi ikV40 get YANMi ikV40 get FL add div Yexp mul a2 mul fakt mul put %a1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div 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 } 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 /Yexp 1 def %chromaticity AnYi i XANOi i get YANOi i get FL add div Yexp mul a2 mul fakt mul put %a1 BnYi i ZANOi i get YANOi i get FL add div 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 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 -0250 0200 (C) (O) 06 0.0 1.0 0.0 -0150 0100 (G) (O) 09 0.8 1.0 0.0 -0150 -0200 (Y) (x) 13 1.0 1.0 0.0 0100 -0050 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 0050 -0100 (M) (O) 29 0.2 0.0 1.0 0000 0150 (V) (n) 33 0.0 0.0 1.0 0050 0100 (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 TBV tab_Ocolors i7 get ishow TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans9 neg ytrans9 neg translate %for text and grafic } if %xchartl=0,9 %***************************************************************** xchartl 02 eq xchartl 10 eq or {%xchartl=02,10 %only for (a1=[x-XANT]/y, b1=z/y) /fakt 1000 def /a2 1.0 def /b2 -0.4 def /xtrans10 1300 def /ytrans10 3200 def xtrans10 ytrans10 translate %for text and grafic xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp 1 def %chromaticity AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div Yexp mul a2 mul fakt mul put %a1 BnYi i ZANMi ikV40 get YANMi ikV40 get FL add div 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 } 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 /Yexp 1 def %chromaticity AnYi i XANOi i get XANT sub YANOi i get FL add div Yexp mul a2 mul fakt mul put %a1 BnYi i ZANOi i get YANOi i get FL add div 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 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 -0250 0200 (C) (O) 06 0.0 1.0 0.0 -0150 0100 (G) (O) 09 0.8 1.0 0.0 -0150 -0200 (Y) (x) 13 1.0 1.0 0.0 0100 -0050 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 0050 -0100 (M) (O) 29 0.2 0.0 1.0 0000 0150 (V) (n) 33 0.0 0.0 1.0 0050 0100 (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 TBV tab_Ocolors i7 get ishow TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans10 neg ytrans10 neg translate %for text and grafic } if %xchartl=2,10 %************************ xchartl 03 eq xchartl 11 eq or {%xchartl=1,9 %only for (a2=x/y, b2=mP1*x+bP1) /fakt 1000 def /a2 1.0 def /b2 -0.4 def /xtrans11 1300 def /ytrans11 3200 def xtrans11 ytrans11 translate %for text and grafic xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp 1 def %chromaticity AnYi i XANMi ikV40 get YANMi ikV40 get FL add div Yexp mul a2 mul fakt mul put %a2 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div 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 } 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 /Yexp 1 def %chromaticity AnYi i XANOi i get YANOi i get FL add div Yexp mul a2 mul fakt mul put %a2 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div 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 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 -0250 0200 (C) (O) 06 0.0 1.0 0.0 -0150 0100 (G) (O) 09 0.8 1.0 0.0 -0150 -0200 (Y) (x) 13 1.0 1.0 0.0 0100 -0050 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 0050 -0100 (M) (O) 29 0.2 0.0 1.0 0000 0150 (V) (n) 33 0.0 0.0 1.0 0050 0100 (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 TBV tab_Ocolors i7 get ishow TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans11 neg ytrans11 neg translate %for text and grafic } if %xchartl=3,11 %************************ xchartl 04 eq xchartl 12 eq or {%xchartl=04,12 %only for (a3=[x-XANT]/y, b3=mD1*x+bD1) /fakt 1000 def /a2 1.0 def /b2 -0.4 def /xtrans12 1300 def /ytrans12 3200 def xtrans12 ytrans12 translate %for text and grafic xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp 1 def %chromaticity AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div Yexp mul a2 mul fakt mul put %a3 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div 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 } 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 /Yexp 1 def %chromaticity AnYi i XANOi i get XANT sub YANOi i get FL add div Yexp mul a2 mul fakt mul put %a3 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div 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 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 -0250 0200 (C) (O) 06 0.0 1.0 0.0 -0150 0100 (G) (O) 09 0.8 1.0 0.0 -0150 -0200 (Y) (x) 13 1.0 1.0 0.0 0100 -0050 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 0050 -0100 (M) (O) 29 0.2 0.0 1.0 0000 0150 (V) (n) 33 0.0 0.0 1.0 0050 0100 (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 TBV tab_Ocolors i7 get ishow TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans12 neg ytrans12 neg translate %for text and grafic } if %xchartl=4,12 %************************ xchartl 05 eq xchartl 13 eq or {%xchartl=5,13 %only for (a4=(x-XANT)/y, b4=mP1*x+bP1) /fakt 1000 def /a2 1.0 def /b2 -0.4 def /xtrans13 1300 def /ytrans13 3200 def xtrans13 ytrans13 translate %for text and grafic xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp 1 def %chromaticity AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div Yexp mul a2 mul fakt mul put %a3 BnYi i XANMi ikV40 get mP1 mul bP1 add YANMi ikV40 get FL add div 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 } 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 /Yexp 1 def %chromaticity AnYi i XANOi i get XANT sub YANOi i get FL add div Yexp mul a2 mul fakt mul put %a4 BnYi i XANOi i get mP1 mul bP1 add YANOi i get FL add div 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 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 -0250 0200 (C) (O) 06 0.0 1.0 0.0 -0150 0100 (G) (O) 09 0.8 1.0 0.0 -0150 -0200 (Y) (x) 13 1.0 1.0 0.0 0100 -0050 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 0050 -0100 (M) (O) 29 0.2 0.0 1.0 0000 0150 (V) (n) 33 0.0 0.0 1.0 0050 0100 (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 TBV tab_Ocolors i7 get ishow TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans13 neg ytrans13 neg translate %for text and grafic } if %xchartl=5,13 %************************ xchartl 06 eq xchartl 14 eq or {%xchartl=06,14 %only for (a5=[x-XANT]/y, b5=mD1*x+bD1) /fakt 1000 def /a2 1.0 def /b2 -0.4 def /xtrans14 1300 def /ytrans14 3200 def xtrans14 ytrans14 translate %for text and grafic xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp 1 def %chromaticity AnYi i XANMi ikV40 get XANT sub YANMi ikV40 get FL add div Yexp mul a2 mul fakt mul put %a5 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div Yexp mul b2 mul fakt mul put %b5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto closepath stroke} if } for %i=0,39 } for %kV=0,4 } 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 /Yexp 1 def %chromaticity AnYi i XANOi i get XANT sub YANOi i get FL add div Yexp mul a2 mul fakt mul put %a5 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div Yexp mul b2 mul fakt mul put %b5 AnYi i get BnYi i get i 0 eq {moveto} if i 1 ge i 38 le and {lineto} if i 39 eq {lineto 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 -0250 0200 (C) (O) 06 0.0 1.0 0.0 -0150 0100 (G) (O) 09 0.8 1.0 0.0 -0150 -0200 (Y) (x) 13 1.0 1.0 0.0 0100 -0050 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 0050 -0100 (M) (O) 29 0.2 0.0 1.0 0000 0150 (V) (n) 33 0.0 0.0 1.0 0050 0100 (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 TBV tab_Ocolors i7 get ishow TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans14 neg ytrans14 neg translate %for text and grafic } if %xchartl=6,14 %************************ xchartl 07 eq xchartl 15 eq or {%xchartl=07,15 %only for (a6=x/y, b6=mD1*x+bD1) /fakt 1000 def /a2 1.0 def /b2 -0.4 def /xtrans15 1300 def /ytrans15 3200 def xtrans15 ytrans15 translate %for text and grafic xchart3 0 eq {%BEG Munsell_colours C=2, V=1,2,5,8,9 0 1 4 {/kV exch def %kV=0,4 for Value 1,2,5,8,9 /kV40 kV 40 mul def 0 1 39 {/i exch def %i=0,39 /ikV40 i kV40 add def /Yexp 1 def %chromaticity AnYi i XANMi ikV40 get YANMi ikV40 get FL add div Yexp mul a2 mul fakt mul put %a6 BnYi i XANMi ikV40 get mD1 mul bD1 add YANMi ikV40 get FL add div 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 } 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 /Yexp 1 def %chromaticity AnYi i XANOi i get YANOi i get FL add div Yexp mul a2 mul fakt mul put %a6 BnYi i XANOi i get mD1 mul bD1 add YANOi i get FL add div 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 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 -0250 0200 (C) (O) 06 0.0 1.0 0.0 -0150 0100 (G) (O) 09 0.8 1.0 0.0 -0150 -0200 (Y) (x) 13 1.0 1.0 0.0 0100 -0050 (Y) (O) 20 1.0 0.0 0.0 -0100 0100 (R) (O) 26 1.0 0.0 1.0 0050 -0100 (M) (O) 29 0.2 0.0 1.0 0000 0150 (V) (n) 33 0.0 0.0 1.0 0050 0100 (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 TBV tab_Ocolors i7 get ishow TBS } if %xchart7=1 Name xchart7 2 eq {%xchart7=2 YOi TBIS YOi k get cvishow } if %xchart7=2 Yoi newpath } for %i=0,7 } if %xchart3=1 %END Ostwald_Colours xtrans15 neg ytrans15 neg translate %for text and grafic } if %xchartl=07,15 } if %xchart10=0 long loop 1000 lines! %END 'BL10'Y11_XCHART10_0.PS %*************************************************************** %line 4877-4878 %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 % xchartl 8 eq { 100 neg 13000 neg translate} if % xchartl 9 eq { 6100 neg 13000 neg translate} if % xchartl 10 eq { 100 neg 08750 neg translate} if % xchartl 11 eq { 6100 neg 08750 neg translate} if % xchartl 12 eq { 100 neg 4500 neg translate} if % xchartl 13 eq { 6100 neg 4500 neg translate} if % xchartl 14 eq { 100 neg 0250 neg translate} if % xchartl 15 eq { 6100 neg 0250 neg translate} if %} for %xchart3=0,1 %0=Munsell, 1=Ostwald showpage %XA grestore } for %xchartl=8,15 %8 chromaticity diagrams %showpage %7R&7N grestore } for %xchartx=0,7 %8 illuminants %%Trailer