%!PS-Adobe-3.0 EPSF-3.0 TF131-7N %%BoundingBox: 70 82 415 570 %START PDFDE011.EPS /pdfmark17 where {pop} {userdict /pdfmark17 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: http://130.149.60.45/~farbmetrik/TE12/) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://www.ps.bam.de or http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices, colour vision) /Creator (klaus.richter@mac.com) /CreationDate (D:2013060112000) /ModDate (D:2013060112000) /DOCINFO pdfmark17 [ /View [ /FitB ] /DOCVIEW pdfmark17 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /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-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TS14 {140 /Times-ISOL1 FS} bind def /TS {170 /Times-ISOL1 FS} bind def /TK {220 /Times-ISOL1 FS} bind def /TM {270 /Times-ISOL1 FS} bind def /TG {320 /Times-ISOL1 FS} bind def /TIS {170 /TimesI-ISOL1 FS} bind def /TIK {220 /TimesI-ISOL1 FS} bind def /TIM {270 /TimesI-ISOL1 FS} bind def /TIG {320 /TimesI-ISOL1 FS} bind def /TBS {170 /TimesB-ISOL1 FS} bind def /TBK {220 /TimesB-ISOL1 FS} bind def /TBM {270 /TimesB-ISOL1 FS} bind def /TBG {320 /TimesB-ISOL1 FS} bind def /TBIS {170 /TimesBI-ISOL1 FS} bind def /TBIK {220 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /CBS {170 /CourierB-ISOL1 FS} bind def /CBK {220 /CourierB-ISOL1 FS} bind def /CBM {270 /CourierB-ISOL1 FS} bind def /CBG {320 /CourierB-ISOL1 FS} bind def /TSS {170 /Symbol FS} bind def /TSK {220 /Symbol FS} bind def /TSM {270 /Symbol FS} bind def /TSG {320 /Symbol FS} bind def %%EndProlog /lanind 0 def /lantex [(G) (E) (S) (N) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 3 def /lanind2 3 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 /xcolorm xcolor2f xcolor1f sub 1 add def} {/xcolor1 0 def /xcolor2 0 def /xcolorm 1 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchart2 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (dm) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (em) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (ddm) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (dem) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output %LANINDL2 END /GSS$ where {pop /LSS$ GSS$ def} {/LSS$ (1) def} ifelse /GSC$ where {pop /LSC$ GSC$ def} {/LSC$ (N) def} ifelse /GSX$ where {pop /LSX$ GSX$ def} {/LSX$ (0) def} ifelse /GSY$ where {pop /LSY$ GSY$ def} {/LSY$ (0) def} ifelse /GEX$ where {pop /LEX$ GEX$ def} {/LEX$ (P.PS./PDF) def} ifelse /GEY$ where {pop /LEY$ GEY$ def} {/LEY$ (P.DAT) def} ifelse /IMES where {pop}%/IMES IMES def {/IMES 0 def} ifelse /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 8 string cvs show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show} def /cvsshow6 {1000000 mul cvi 0.000001 mul 10 string cvs show} def /cvsshow7 {10000000 mul cvi 0.0000001 mul 11 string cvs show} def /cvsshow8 {100000000 mul cvi 0.00000001 mul 12 string cvs show} def /cvsshow9 {1000000000 mul cvi 0.000000001 mul 13 string cvs show} def /cvsshow10 {10000000000 mul cvi 0.0000000001 mul 14 string cvs show} def gsave xcolor1 1 xcolor2 {/xcolor exch def %xcolor=0,1 xchart1 1 xchart2 {/xchart exch def %xchart=0,7 gsave 72 90 translate 0.01 MM dup scale 20 setlinewidth 1 1 1 setrgbcolor 0 0 moveto 12000 0 rlineto 0 16500 rlineto 12000 neg 0 rlineto closepath fill 0 0 0 setrgbcolor 0 0 moveto 12000 0 rlineto 0 16500 rlineto 12000 neg 0 rlineto closepath stroke /YAB_Lab* 1 def TK 0 setgray 100 -200 moveto (TF131-7) show xchart 7 le {(N) show} if YAB_Lab* 0 eq {( YAB) show}{ (Lab*) show} ifelse (, Seite ) showde (, page ) showen (, página ) showes (, page ) showfr (, pagina ) showit xchart 1 add xcolor 8 mul add cvishow (/16) show /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 /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 %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 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 /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 /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 %*************************************************** %special wavelength range with complementary colours for E? /FXD 82 array def /FYD 82 array def /FZD 82 array def /DOW 82 array def /proc_FXYZD_KNP_FWERTiX {%BEG FXYZD_KNP_FWERTiX %input FXYZD, KNP %output FWERTiX/Y/Z (i=1,4) /FWERT1X FXD kNP 1 sub get def /FWERT1Y FYD kNP 1 sub get def /FWERT1Z FZD kNP 1 sub get def /FWERT2X FXD kNP get def /FWERT2Y FYD kNP get def /FWERT2Z FZD kNP get def /FWERT3X FXD kNP 1 add get def /FWERT3Y FYD kNP 1 add get def /FWERT3Z FZD kNP 1 add get def /FWERT4X FXD kNP 2 add get def /FWERT4Y FYD kNP 2 add get def /FWERT4Z FZD kNP 2 add get def } bind def %END proc_FXYZD_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 %*************************************************** /TELi 8 array def /TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. /Xi 79 array def %max 6 device colour + 4 elementary colours /Yi 79 array def /Zi 79 array def /XANi 79 array def /YANi 79 array def /ZANi 79 array 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 %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAK i xchart 0 eq {SD65 i get} if xchart 1 eq {SD50 i get} if xchart 2 eq {SP40 i get} if xchart 3 eq {SA00 i get} if xchart 4 eq {SE00 i get} if xchart 5 eq {SC00 i get} if xchart 6 eq {SP00 i get} if xchart 7 eq {SQ00 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 /FXN 82 array def /FYN 82 array def /FZN 82 array def /FXNZ 17 array def /FYNZ 17 array def /FZNZ 17 array def 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 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 %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 D65, D50, P40, A00, E00 /XANW XW SUMW 0.0001 add div def /YANW YW SUMW 0.0001 add div def /ZANW ZW SUMW 0.0001 add div def /AW 0 def /BW 0 def /CABW 0 def /AANW XW YW 0.0001 add div def /BANW ZW YW 0.0001 add div 0.4 mul neg def /hABW 0 def /D13 1 3 div def /D841_108 841 108 div def /D16_116 16 116 div def /D24_116 24 116 div 3 exp def /a2 1 XW div D13 exp def /b2 1 ZW div D13 exp -0.4 mul def /a2D65 0.2191 def /b2D65 -0.08376 def /AASW XW YW 0.0001 add div D13 exp a2 mul def /BASW ZW YW 0.0001 add div D13 exp b2 mul def %CIE 15 definition XW XW div D24_116 gt {/FXXN XW XW div 0.0001 add D13 exp def} {/FXXN D841_108 XW XW div mul D16_116 add def} ifelse YW YW div D24_116 gt {/FYYN YW YW div 0.0001 add D13 exp def} {/FYYN D841_108 YW YW div mul D16_116 add def} ifelse ZW ZW div D24_116 gt {/FZZN ZW ZW div 0.0001 add D13 exp def} {/FZZN D841_108 ZW YW div mul D16_116 add def} ifelse /L*W 116. FYYN mul 16. sub def /a*W 500. FXXN FYYN sub mul def /b*W 200. FYYN FZZN sub mul def /C*abW a*W dup mul b*W dup mul add 0.0001 add sqrt def /habW b*W a*W 0.0001 add atan def FXD 0 FXN 0 get put FYD 0 FYN 0 get put FZD 0 FZN 0 get put DOW 0 380 put 00 1 64 {/i exch def %i=0,60 %range 380..700nm FXD i 1 add FXN i get put FYD i 1 add FYN i get put FZD i 1 add FZN i get put DOW i 1 add 380 i 5 mul add put %range 380 to 700 } for %i=0,60 /S705_775X 0 def /S705_775Y 0 def /S705_775Z 0 def 0 1 14 {/i exch def %i=0,14 %705_770 /S705_775X S705_775X FXN 65 i add get add def /S705_775Y S705_775Y FYN 65 i add get add def /S705_775Z S705_775Z FZN 65 i add get add def } for %i=0,4 FXD 66 S705_775X put %705 FYD 66 S705_775Y put FZD 66 S705_775Z put DOW 66 (705_75) put FXD 67 S705_775X put %710 FYD 67 S705_775Y put FZD 67 S705_775Z put DOW 67 (705_75) put %********************************************************* /ix0 100 def /ixd 750 def /iyd 235 def /iymax 16000 def /iymaxP iymax iyd 1 mul add 40 add def /iymax1 iymax iyd 1 mul sub def TK 20 setlinewidth /ishowd {TS 0 -40 rmoveto (d) show 0 40 rmoveto TIK} def /ishowc {TS 0 -40 rmoveto (c) show 0 40 rmoveto TIK} def xcolor 0 eq {%xcolor=0,1 /ishowi {TS 0 -40 rmoveto () show 0 40 rmoveto TIK} def /ishowAB {TS 0 -40 rmoveto (AB) show 0 40 rmoveto TIK} def /ishowab {TS 0 -40 rmoveto (ab) show 0 40 rmoveto TIK} def }%xcolor=0 {%xcolor=1 /ishowi {TS 0 -40 rmoveto (10) show 0 40 rmoveto TIK} def /ishowAB {TS 0 -40 rmoveto (AB,10) show 0 40 rmoveto TIK} def /ishowab {TS 0 -40 rmoveto (ab,10) show 0 40 rmoveto TIK} def } ifelse %xcolor=1 TIK 0 1 11 {/i exch def %i=0,11 i 11 eq {/id11 100 def}{/id11 0 def} ifelse ix0 i ixd mul add id11 add iymaxP moveto i 00 eq {(Code) show} if i 01 eq {(X) show ishowi} if i 02 eq {(Y) show ishowi} if i 03 eq {(Z) show ishowi} if i 04 eq {(x) show ishowi} if i 05 eq {(y) show ishowi} if YAB_Lab* 0 eq {%YAB i 06 eq {(A) show ishowi} if i 07 eq {(B) show ishowi} if i 08 eq {(C) show ishowAB} if i 09 eq {(a) show ishowi} if i 10 eq {(b) show ishowi} if i 11 eq {(h) show ishowAB} if }%YAB {%Lab* i 06 eq {(a*) show ishowi} if i 07 eq {(b*) show ishowi} if i 08 eq {(C*) show ishowab} if i 09 eq {(a') show ishowi} if i 10 eq {(b') show ishowi} if i 11 eq {(h) show ishowab} if } ifelse %YAB, Lab* } for %i=0,11 ix0 ixd 12 mul add iymaxP moveto (i) show ishowd ix0 ixd 14 mul add iymaxP moveto (i) show ishowc ix0 ixd 13 mul add iymaxP moveto TSK (l) show ishowd ix0 ixd 15 mul add iymaxP moveto TSK (l) show ishowc TK ix0 0 ixd mul add iymax moveto TELi xchart get show ix0 1 ixd mul add iymax moveto XW cvsshow2 ix0 2 ixd mul add iymax moveto YW cvsshow2 ix0 3 ixd mul add iymax moveto ZW cvsshow2 ix0 4 ixd mul add iymax moveto XANW cvsshow3 ix0 5 ixd mul add iymax moveto YANW cvsshow3 YAB_Lab* 0 eq {%YAB ix0 6 ixd mul add iymax moveto AW cvsshow2 ix0 7 ixd mul add iymax moveto BW cvsshow2 ix0 8 ixd mul add iymax moveto CABW cvsshow2 ix0 9 ixd mul add iymax moveto AANW cvsshow3 ix0 10 ixd mul add iymax moveto BANW cvsshow3 ix0 11 ixd mul add 100 add iymax moveto hABW cvishow }%YAB {%Lab* ix0 6 ixd mul add iymax moveto a*W cvsshow2 ix0 7 ixd mul add iymax moveto b*W cvsshow2 ix0 8 ixd mul add iymax moveto C*abW cvsshow2 ix0 9 ixd mul add iymax moveto AASW cvsshow3 ix0 10 ixd mul add iymax moveto BASW cvsshow3 ix0 11 ixd mul add 100 add iymax moveto habW cvishow } ifelse %YAB, Lab* %************************************************************** 01 1 67 {/k exch def /XF FXD k get def /YF FYD k get def /ZF FZD k get def /SUMF XF YF add ZF add def %for D65, D50, P40, A00, E00 /XANF XF SUMF div def /YANF YF SUMF div def /ZANF ZF SUMF div def /AANF XF YF 0.0001 add div def /BANF ZF YF 0.0001 add div 0.4 mul neg def /AF AANF AANW sub YF mul def /BF BANF BANW sub YF mul def /CABF AF dup mul BF dup mul add 0.0001 add sqrt def /hABF BF AF 0.0001 add atan def %CIE 15 definition XF XW div D24_116 gt {/FXXN XF XW div 0.0001 add D13 exp def} {/FXXN D841_108 XF XW div mul D16_116 add def} ifelse YF YW div D24_116 gt {/FYYN YF YW div 0.0001 add D13 exp def} {/FYYN D841_108 YF YW div mul D16_116 add def} ifelse ZF ZW div D24_116 gt {/FZZN ZF ZW div 0.0001 add D13 exp def} {/FZZN D841_108 ZF YW div mul D16_116 add def} ifelse /L*F 116. FYYN mul 16. sub def /a*F 500. FXXN FYYN sub mul def /b*F 200. FYYN FZZN sub mul def /C*abF a*F dup mul b*F dup mul add 0.0001 add sqrt def /habF b*F a*F 0.0001 add atan def /AASF XF YF 0.0001 add div D13 exp a2 mul def /BASF ZF YF 0.0001 add div D13 exp b2 mul def /U1 XW def /U2 YW def /U3 ZW def /FXU1 YF U3 mul ZF U2 mul sub def /FXU2 ZF U1 mul XF U3 mul sub def /FXU3 XF U2 mul YF U1 mul sub def /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 1 1 65 {/i exch def %i=1,65 /TN FXD i get FXU1 mul FYD i get FXU2 mul add FZD i get FXU3 mul add def /TP FXD i 1 add get FXU1 mul FYD i 1 add get FXU2 mul add FZD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,65 1 1 65 {/i exch def %i=1,65 /TN FXD i get FXU1 mul FYD i get FXU2 mul add FZD i get FXU3 mul add neg def /TP FXD i 1 add get FXU1 mul FYD i 1 add get FXU2 mul add FZD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,65 TK /id1 INP def /ic1 IPN def /iymax1 iymax iyd k mul sub 20 sub def ix0 0 ixd mul add iymax1 moveto k 65 le {DOW k get cvishow}{DOW k get show} ifelse ix0 1 ixd mul add iymax1 moveto XF cvsshow2 ix0 2 ixd mul add iymax1 moveto YF cvsshow2 ix0 3 ixd mul add iymax1 moveto ZF cvsshow2 ix0 4 ixd mul add iymax1 moveto XANF cvsshow3 ix0 5 ixd mul add iymax1 moveto YANF cvsshow3 YAB_Lab* 0 eq {%YAB ix0 6 ixd mul add iymax1 moveto AF cvsshow2 ix0 7 ixd mul add iymax1 moveto BF cvsshow2 ix0 8 ixd mul add iymax1 moveto CABF cvsshow2 ix0 9 ixd mul add iymax1 moveto AANF cvsshow3 ix0 10 ixd mul add iymax1 moveto BANF cvsshow3 ix0 11 ixd mul add 100 add iymax1 moveto hABF cvishow }%YAB {%Lab* ix0 6 ixd mul add iymax1 moveto a*F cvsshow2 ix0 7 ixd mul add iymax1 moveto b*F cvsshow2 ix0 8 ixd mul add iymax1 moveto C*abF cvsshow2 ix0 9 ixd mul add iymax1 moveto AASF cvsshow3 ix0 10 ixd mul add iymax1 moveto BASF cvsshow3 ix0 11 ixd mul add 100 add iymax1 moveto habF cvishow } ifelse %YAB, Lab* ix0 12 ixd mul add iymax1 moveto INP cvishow ix0 14 ixd mul add iymax1 moveto IPN cvishow %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_FXYZD_KNP_FWERTiX %input FXYZD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def /XIENP XIE def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_FXYZD_KNP_FWERTiX %input FXYZD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def /XIEPN XIE def } if %kNP>=0 %********************************************************* /wd 0 def /wc 0 def /wdc (o) def /wcc (o) def INP 0 ge {%INP>=0,-1 /wd DOWXIE1 def /wdc () def }%INP>=0 {%INP=-1 /wd DOWXIE2 def /wdc (c) def } ifelse %INP>=0,-1 IPN 0 ge {%IPN>=0,-1 /wc DOWXIE2 def /wcc () def }%IPN>=0 {%IPN=-1 /wc DOWXIE1 def /wcc (c) def } ifelse %IPN>=0,-1 TK ix0 ixd 13 mul add iymax1 moveto wd cvishow wdc show ix0 ixd 15 mul add iymax1 moveto wc cvishow wcc show } for %k=1,67 showpage grestore } for %xchart=0,7 } for %xcolor=0,1 %%Trailer