%!PS-Adobe-3.0 EPSF-3.0 TF440-1A %%BoundingBox: 70 83 387 206 %START PDFDE011.EPS /pdfmark01 where {pop} {userdict /pdfmark01 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: http://130.149.60.45/~farbmetrik/TF44/) /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@me.com) /CreationDate (D:2013090112000) /ModDate (D:2013090112000) /DOCINFO pdfmark01 [ /View [ /FitB ] /DOCVIEW pdfmark01 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TL {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIL {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBL {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIL {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SL {160 /Symbol FS} bind def %%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 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} {/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 8 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart xchart3 lt {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /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 /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 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 %calculation of transformation data /FARBE 27 array def /FARBE [(R) (m) ( 561_770) %00 (Y) (m) ( 495_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_495) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def %/FARBE [(R) (m) ( 565_770) %00 % (Y) (m) ( 495_770) %01 % (G) (m) ( 475_575) %02 % (C) (m) ( 380_565) %03 % (B) (m) ( 380_495) %04 % (M) (m) ( 575_475) %05 % (N) (0) ( 380_770) %06 % (W) (0) ( 380_770) %07 % (W) (1) ( 380_770) %08 % ] def /xcolorl xcolor def 0 1 1 {/xcolorl exch def %xcolorl=0,1 xcolorl 1 eq {0 1 239 {/i exch def %i=0,239 F2 i F10 i get put } for %i=0,239 } if /YKSUM 0 def %For CIE Illuminant E 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM F2 80 i add get add def } for %i=0,1,79 /F2N 240 array def 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add F2 00 i add get YKSUM div 100 mul put F2N 80 i add F2 80 i add get YKSUM div 100 mul put F2N 160 i add F2 160 i add get YKSUM div 100 mul put } for %i=0,1,79 /FXN 80 array def %FXN 0 = F2N imax /FYN 80 array def /FZN 80 array def %defines FXN, FYN, FZN 0 to 79 0 1 79 {/i exch def %i=0,79 FXN i F2N 000 i add get put FYN i F2N 080 i add get put FZN i F2N 160 i add get put } for %i=0,79 %special wavelength range with complementary colours for E? /FXD 63 array def /FYD 63 array def /FZD 63 array def /DOW 63 array def 00 1 60 {/i exch def %i=0,60 %range 400..700nm FXD i FXN 005 i add get put FYD i FYN 005 i add get put FZD i FZN 005 i add get put DOW i 400 i 5 mul add put %range 400 to 700 } for %i=0,60 %for interpolation FXD 61 FXD 60 get put FYD 61 FYD 60 get put FZD 61 FZD 60 get put FXD 62 FXD 60 get put FYD 62 FYD 60 get put FZD 62 FZD 60 get put /FAD 63 array def /FBD 63 array def /FCD 63 array def 20 setlinewidth /xdel 1045 def /ydel 310 def /x0 500 def /TELi 8 array def /TELi [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %8 illuminants /Xi 14 array def %max 6 device colour + 4 elementary colours /Yi 14 array def /Zi 14 array def /XANi 14 array def /YANi 14 array def /ZANi 14 array def %0 1 3 {/xchart4 exch def %xchart4=0,3 /xchartl xchart def 0 1 7 {/xchartl exch def %xchartl=0,7 /K 0 def %for normalization 1 and 0,8859 %/K 1 def %for normalization 0,886 gsave 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def 75 85 moveto lanind cvishow (-) show colorm cvishow deintp cvishow xcolorl cvishow xchart cvishow pchart cvishow colsep cvishow (-L) show pmetam cvishow 5 /Times-ISOL1 FS 340 85 moveto (TF440-) show xchart4 2 mul 1 add cvishow xchart 0 ge {(A) show} if (_) show xchart 1 add cvishow %xchart 0 eq {(N) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.010 MM dup scale 20 setlinewidth 0 0 1 0 setcmyk_olvcolor 0 0 moveto 11000 0 rlineto 0 4000 rlineto 11000 neg 0 rlineto closepath fill 0 0 0 1 setcmyk_olvcolor 0 0 moveto 11000 0 rlineto 0 4000 rlineto 11000 neg 0 rlineto closepath stroke %calculation of XW,YW,ZW for illuminant D65, D50, ... 0 1 79 {/i exch def %i=0,79 SDAK i xchartl 0 eq {SD65 i get} if xchartl 1 eq {SD50 i get} if xchartl 2 eq {SP40 i get} if xchartl 3 eq {SA00 i get} if xchartl 4 eq {SE00 i get} if xchartl 5 eq {SC00 i get} if xchartl 6 eq {SP00 i get} if xchartl 7 eq {SQ00 i get} if put } for %i=0,79 /YKSUM 0 def 0 1 79 {/i exch def %i=0,1,79 /YKSUM YKSUM SDAK i get F2 80 i add get mul add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 F2N 00 i add SDAK i get F2 00 i add get mul YKSUM div 100 mul put F2N 80 i add SDAK i get F2 80 i add get mul YKSUM div 100 mul put F2N 160 i add SDAK i get F2 160 i add get mul YKSUM div 100 mul put } for %i=0,1,79 %XW,YW,ZW for white /XW 0 def /YW 0 def /ZW 0 def 0 1 079 {/i exch def %i=0,79 /XW XW F2N 00 i add get add def /YW YW F2N 80 i add get add def /ZW ZW F2N 160 i add get add def } for %i=0,79 /SUMW XW YW add ZW add def %for D65, D50, P40, A00, E00 /XANW XW SUMW div def /YANW YW SUMW div def /ZANW ZW SUMW div def /AANW XW YW 0.0001 add div def /BANW ZW YW 0.0001 add div 0.4 mul neg def %calculation of transformation data /FARBE 36 array def /FARBE [(R) (d,sRGB) ( ) %( 648) %00 (Y) (d,sRGB) ( ) %( 720) %01 (G) (d,sRGB) ( ) %( 072) %02 (C) (d,sRGB) ( ) %( 080) %03 (B) (d,sRGB) ( ) %( 008) %04 (M) (d,sRGB) ( ) %( 656) %05 (R) (e,sRGB) ( ) %06 (Y) (e,sRGB) ( ) %07 (G) (e,sRGB) ( ) %08 (B) (e,sRGB) ( ) %09 (N) (d,sRGB) ( ) %10 (W) (d,sRGB) ( ) %11 (W) (1) ( 380_770) %12 ] def /XANR 0.64 def /YANR 0.33 def /XANG 0.30 def /YANG 0.60 def /XANB 0.15 def /YANB 0.06 def /ZANR 1. XANR sub YANR sub def /ZANG 1. XANG sub YANG sub def /ZANB 1. XANB sub YANB sub def %/ZANW 1. XANW sub YANW sub def %see above %calculation of spectral curves /YR 100 def /YG 100 def /YB 100 def /YW 100 def /SUM YR YANR div def /XR XANR SUM mul def /ZR ZANR SUM mul def /SUM YG YANG div def /XG XANG SUM mul def /ZG ZANG SUM mul def /SUM YB YANB div def /XB XANB SUM mul def /ZB ZANB SUM mul def %/SUM YW YANW div def %see above %/XW XANW SUM mul def %/ZW ZANW SUM mul def /XN XW def /YN YW def /ZN ZW def /D XR YG mul ZB mul XG YB mul ZR mul add XB YR mul ZG mul add ZR YG mul XB mul sub ZG YB mul XR mul sub ZB YR mul XG mul sub def /D1 XW YG mul ZB mul XG YB mul ZW mul add XB YW mul ZG mul add ZW YG mul XB mul sub ZG YB mul XW mul sub ZB YW mul XG mul sub def /D2 XR YW mul ZB mul XW YB mul ZR mul add XB YR mul ZW mul add ZR YW mul XB mul sub ZW YB mul XR mul sub ZB YR mul XW mul sub def /D3 XR YG mul ZW mul XG YW mul ZR mul add XW YR mul ZG mul add ZR YG mul XW mul sub ZG YW mul XR mul sub ZW YR mul XG mul sub def /AR D1 D div def /AG D2 D div def /AB D3 D div def /XRN AR XR mul def /XGN AG XG mul def /XBN AB XB mul def /YRN AR YR mul def /YGN AG YG mul def /YBN AB YB mul def /ZRN AR ZR mul def /ZGN AG ZG mul def /ZBN AB ZB mul def /XWN XRN XGN add XBN add def /YWN YRN YGN add YBN add def /ZWN ZRN ZGN add ZBN add def /SUM XWN YWN add ZWN add def /XANWN XWN SUM 0.0001 add div def /YANWN YWN SUM 0.0001 add div def /ZANWN ZWN SUM 0.0001 add div def xchart4 0 eq {%xchart4=0 0 1 62 {/i exch def %i=0,62 FAD i FXD i get put FBD i FYD i get put FCD i FZD i get put } for %i=0,62 } if %xchart4=0 xchart4 1 eq {%xchart4=1 0 1 62 {/i exch def %i=0,62 FAD i FYD i get put FBD i FXD i get FYD i get 0.0001 add div XANW YANW 0.0001 add div sub FYD i get mul put FCD i FZD i get FYD i get 0.0001 add div ZANW YANW 0.0001 add div sub FYD i get mul 0.4 mul neg put } for %i=0,62 } if %xchart4=1 xchart4 2 eq {%xchart4=2 /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 0 1 62 {/i exch def %i=0,62 /YD FYD i get def YD YW div D24_116 gt {/FYYN YD YW div 0.0001 add D13 exp def} {/FYYN D841_108 YD YW div mul D16_116 add def} ifelse /a'i FXD i get FYD i get 0.0001 add div D13 exp 0.2191 mul def /b'i FZD i get FYD i get 0.0001 add div D13 exp -0.08376 mul def /a'in XANW YANW 0.0001 add div D13 exp 0.2191 mul def /b'in ZANW YANW 0.0001 add div D13 exp -0.08376 mul def FAD i FYYN put FBD i a'i a'in sub YD 0.0001 add D13 exp mul put FCD i b'i b'in sub YD 0.0001 add D13 exp mul put } for %i=0,62 } if %xchart4=2 xchart4 3 eq {%xchart4=3 /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 0 1 62 {/i exch def %i=0,62 /YD FYD i get def YD YW div D24_116 gt {/FYYN YD YW div 0.0001 add D13 exp def} {/FYYN D841_108 YD YW div mul D16_116 add def} ifelse %used for both 2- and 10-degree observer /XD65 95.04 def /YD65 100.00 def /ZD65 108.89 def /a2 1 XD65 div D13 exp def %a2,2=0.2191 a2,10=0.2193 /b2 1 ZD65 div D13 exp -0.4 mul def %b2,2=-0.0837 b2,10=-0.08417 /a'i FXD i get FYD i get 0.0001 add div D13 exp a2 mul def /b'i FZD i get FYD i get 0.0001 add div D13 exp b2 mul def /a'in XW YW 0.0001 add div D13 exp 0.2191 mul def /b'in ZW YW 0.0001 add div D13 exp -0.08376 mul def FAD i FYYN put FBD i a'i a'in sub YD 0.0001 add D13 exp mul put FCD i b'i b'in sub YD 0.0001 add D13 exp mul put } for %i=0,62 } if %xchart4=3 /ymax 3750 def /xtexti 5 array def /ytexti 5 array def /xtexti [2300 1800 0750 0100 0100] def /ytexti [3800 0500 0500 0500 0500] def /x0shift 0300 def /x1shift 1600 def /x2shift 1300 def /ymax 3750 def TBM 50 ymax moveto (Ger\344te\255 & Elementarfarben) showde %0TF441-7 02581 (Device and elementary colours) showen %1TF441-7 02581 (Colores de dispositivo y elementales) showes %2TF441-7 02581 (couleurs d'appareil et \351l\351mentaires) showfr %3TF441-7 02581 (colori dispositivo e colori elementari) showit %4TF441-7 02581 (Device and elementary colours) showjp %5TF441-7 02581 ( des) showde %0TF441-7 03581 ( of the) showen %1TF441-7 03581 ( de color) showes %2TF441-7 03581 ( du) showfr %3TF441-7 03581 ( del) showit %4TF441-7 03581 ( of the) showjp %5TF441-7 03581 TBIM ( sRGB) show TBM (\255Farbenraums f\374r ) showde %0TF441-7 04581 ( colour space for ) showen %1TF441-7 04581 ( bajo ) showes %2TF441-7 04581 ( l'espace de couleur pour ) showfr %3TF441-7 04581 ( spazio di colore per ) showit %4TF441-7 04581 ( colour space for ) showjp %5TF441-7 04581 TBM TELi xchartl get show TBIM (, Y) show TBK 0 -60 rmoveto (w) show xcolorl 0 eq {() show}{(,10) show} ifelse 0 60 rmoveto TBM K 0 eq {(=100) show}{(=88,6) show} ifelse 0 3670 moveto 11000 0 rlineto stroke /ymaxt ymax 400 sub def /xpos 100 def /VtextAB 17 array def xchart4 0 eq {%xchart4=0 %0 1 2 3 4 5 6 7 8 9 /VtextAB [(Code) (X) (Y) (Z) (x) (y) (z) (h) ( ) ( )] def } if %xchart4=0 xchart4 1 eq {%xchart4=1 %0 1 2 3 4 5 6 7 8 9 /VtextAB [(Code) (Y) (A) (B) (C) (a) (b) (h) ( ) ( )] def } if %xchart4=1 xchart4 2 eq {%xchart4=2 %0 1 2 3 4 5 6 7 8 9 /VtextAB [(Code) (L*) (a*) (b*) (C*) (a') (b') (h) ( ) ( )] def } if %xchart4=2 xchart4 3 eq {%xchart4=3 %0 1 2 3 4 5 6 7 8 9 /VtextAB [(CodeD65) (L*) (a*) (b*) (C*) (a') (b') (h) ( ) ( )] def } if %xchart4=3 TBIM 0 1 09 {/i exch def %i=0,09 xpos i 1 ge {x0 add} if xdel i mul add ymaxt moveto i 08 eq {TM (i) show TBK 0 -60 rmoveto (d) show 0 60 rmoveto SM (, l) show xchart4 2 ge { TM (*) show TBIM} if TBK 0 -60 rmoveto (d) show 0 60 rmoveto } if i 09 eq {TM (i) show TBK 0 -60 rmoveto (c) show 0 60 rmoveto SM (, l) show xchart4 2 ge { TM (*) show TBIM} if TBK 0 -60 rmoveto (c) show 0 60 rmoveto } if i 07 le {VtextAB i get show} if i 01 ge i 03 le and {TBK 0 -60 rmoveto K 0 eq {(100) show} {(88.6) show} ifelse 0 60 rmoveto TBIM} if i 1 ge {%i>=1 TBK 0 -60 rmoveto i 04 eq xchart4 1 eq and {(AB) show} if i 04 eq xchart4 2 ge and {(ab) show} if i 07 eq xchart4 0 eq and {(xy) show} if i 07 eq xchart4 1 eq and {(AB) show} if i 07 eq xchart4 2 ge and {(ab) show} if 0 60 rmoveto TBIM } if %i>=1 } for %i=0,08 /ymax ymax 780 sub def 0 1 12 {/i exch def %i=0,12 i 0 eq {Xi i XRN put %Rd Yi i YRN put Zi i ZRN put} if i 1 eq {Xi i XRN XGN add put %Yd Yi i YRN YGN add put Zi i ZRN ZGN add put} if i 2 eq {Xi i XGN put %Gd Yi i YGN put Zi i ZGN put} if i 3 eq {Xi i XGN XBN add put %Cd Yi i YGN YBN add put Zi i ZGN ZBN add put} if i 4 eq {Xi i XBN put %Bd Yi i YBN put Zi i ZBN put} if i 5 eq {Xi i XBN XRN add put %Md Yi i YBN YRN add put Zi i ZBN ZRN add put} if i 6 eq {Xi i XRN put %Re Yi i YRN put Zi i ZRN put} if i 7 eq {Xi i XRN XGN add put %Ye Yi i YRN YGN add put Zi i ZRN ZGN add put} if i 8 eq {Xi i XGN put %Ge Yi i YGN put Zi i ZGN put} if i 9 eq {Xi i XBN put %Be Yi i YBN put Zi i ZBN put} if i 10 eq {Xi i XW 0.01 mul put %N Yi i YW 0.01 mul put Zi i ZW 0.01 mul put} if i 11 eq {Xi i XW put %W Yi i YW put Zi i ZW put} if i 12 eq {Xi i XW put %W Yi i YW put Zi i ZW put} if } for %i=0,12 %************************************************************************ /prog_rgb_dyF_LAB*'dyF {%BEG prog_rgb_dyF_LAB*'dyF /R01000 r_dyF 1000 mul def /G01000 g_dyF 1000 mul def /B01000 b_dyF 1000 mul def R01000 0.04045 le %equations of IEC 61966-2-1:2003 {/RsRGB R01000 12.92 div def} {/RsRGB R01000 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse G01000 0.04045 le {/GsRGB G01000 12.92 div def} {/GsRGB G01000 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse B01000 0.04045 le {/BsRGB B01000 12.92 div def} {/BsRGB B01000 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse /X*'dyF 0.4124 RsRGB mul 0.3576 GsRGB mul add 0.1805 BsRGB mul add 88.59 mul def /Y*'dyF 0.2126 RsRGB mul 0.7152 GsRGB mul add 0.0722 BsRGB mul add 88.59 mul def /Z*'dyF 0.0193 RsRGB mul 0.1192 GsRGB mul add 0.9505 BsRGB mul add 88.59 mul def % achromatic (D65) colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XQ X*'dyF XLWD65100 div def /YQ Y*'dyF YLWD65100 div def /ZQ Z*'dyF ZLWD65100 div def XQ 0 lt {/XQ 0.00000001 def} if YQ 0 lt {/YQ 0.00000001 def} if ZQ 0 lt {/ZQ 0.00000001 def} if /L*'dyF YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse def /a*'dyF XQ 0.008856 lt {7.787 XQ mul 16 116 div add} {XQ 0.33333333 exp} ifelse YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse sub 500 mul def /b*'dyF YQ 0.008856 lt {7.787 YQ mul 16 116 div add} {YQ 0.33333333 exp} ifelse ZQ 0.008856 lt {7.787 ZQ mul 16 116 div add} {ZQ 0.33333333 exp} ifelse sub 200 mul def /C*'dyF a*'dyF dup mul b*'dyF dup mul add 0.0001 add sqrt def /h*'dyF b*'dyF a*'dyF 0.0001 add atan def } bind def %END prog_rgb_dyF_LAB*'dyF %****************************************************************** %Data of elementary colours according to PE52L0NP.PS/PDF, Pange 7/22 % re ge be L* a* b* C* hab %Re 1.000 0.000 0.263 50.9 78.3 37.3 86.7 25.4 %Ye 1.000 0.856 0.000 83.7 -3.4 84.5 84.5 92.3 %Ge 0.000 1.000 0.706 85.1 -64.6 20.7 67.9 162.2 %Be 0.000 0.609 1.000 59.2 1.7 -56.6 56.6 271.7 %W 1.000 1.000 1.000 95.4 0.0 0.0 0.0 0.0 /RGBe [1.000 0.000 0.263 %Re 1.000 0.856 0.000 %Ye 0.000 1.000 0.706 %Ge 0.000 0.609 1.000 %Be 1.000 1.000 1.000 %W ] def %change of XYZi (i=6,9) 0 1 3 {/i exch def %i=0,3 /r_dyF RGBe i 3 mul 0 add get def /g_dyF RGBe i 3 mul 1 add get def /b_dyF RGBe i 3 mul 2 add get def prog_rgb_dyF_LAB*'dyF Xi 6 i add X*'dyF put Yi 6 i add Y*'dyF put Zi 6 i add Z*'dyF put } for K 1 eq {%K=1 0 1 11 {/L exch def %L=0,11 only 0 to 11! Xi L Xi L get 0.8859 mul put Yi L Yi L get 0.8859 mul put Zi L Zi L get 0.8859 mul put } for %L=0,11 } if %K=1 0 1 9 {/L exch def %L=0,9 /X Xi L get def /Y Yi L get def /Z Zi L get def /SUM X Y add Z add def /XAN X SUM div def /YAN Y SUM div def /ZAN Z SUM div def /xpos 050 def L 5 le {/LP L def} {/LP L 0.2 add def} ifelse TM /L3 L 3 mul def xpos xdel 0 mul add ymax ydel LP mul sub moveto FARBE L3 get show TS 0 -40 rmoveto FARBE L3 1 add get show 0 40 rmoveto TM FARBE L3 2 add get show TM xchart4 0 eq {%xchart4=0 /Hxy YAN YANW sub XAN XANW sub 0.0001 add atan def xpos x0 add xdel 1 mul add ymax ydel LP mul sub moveto X cvsshow2 xpos x0 add xdel 2 mul add ymax ydel LP mul sub moveto Y cvsshow2 xpos x0 add xdel 3 mul add ymax ydel LP mul sub moveto Z cvsshow2 xpos x0 add xdel 4 mul add ymax ydel LP mul sub moveto XAN cvsshow4 xpos x0 add xdel 5 mul add ymax ydel LP mul sub moveto YAN cvsshow4 xpos x0 add xdel 6 mul add ymax ydel LP mul sub moveto ZAN cvsshow4 xpos x0 add xdel 7 mul add ymax ydel LP mul sub moveto Hxy cvsshow1 } if %xchart4=1 xchart4 1 eq {%xchart4=1 /AAN X Y 0.0001 add div def /BAN Z Y 0.0001 add div 0.4 mul neg def /CAN AAN dup mul BAN dup mul add 0.0001 add sqrt def /A AAN AANW sub Y mul def /B BAN BANW sub Y mul def /C A dup mul B dup mul add 0.0001 add sqrt def /HAB B A 0.0001 add atan def xpos x0 add xdel 1 mul add ymax ydel LP mul sub moveto Y cvsshow2 xpos x0 add xdel 2 mul add ymax ydel LP mul sub moveto A cvsshow2 xpos x0 add xdel 3 mul add ymax ydel LP mul sub moveto B cvsshow2 xpos x0 add xdel 4 mul add ymax ydel LP mul sub moveto C cvsshow2 xpos x0 add xdel 5 mul add ymax ydel LP mul sub moveto AAN cvsshow4 xpos x0 add xdel 6 mul add ymax ydel LP mul sub moveto BAN cvsshow4 xpos x0 add xdel 7 mul add ymax ydel LP mul sub moveto HAB cvsshow1 } if %xchart4=1 xchart4 2 eq {%xchart4=2 /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 X XW div D24_116 gt {/FXXN X XW div 0.0001 add D13 exp def} {/FXXN D841_108 X XW div mul D16_116 add def} ifelse Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse Z ZW div D24_116 gt {/FZZN Z ZW div 0.0001 add D13 exp def} {/FZZN D841_108 Z YW div mul D16_116 add def} ifelse /CIELS 116. FYYN mul 16. sub def /CIEAS 500. FXXN FYYN sub mul def /CIEBS 200. FYYN FZZN sub mul def /CIECS CIEAS dup mul CIEBS dup mul add 0.5 exp def /CIEHS CIEBS CIEAS 0.000001 add atan def /a' XAN YAN 0.0001 add div D13 exp 0.2191 mul def /b' ZAN YAN 0.0001 add div D13 exp -0.08376 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def xpos x0 add xdel 1 mul add ymax ydel LP mul sub moveto CIELS cvsshow2 xpos x0 add xdel 2 mul add ymax ydel LP mul sub moveto CIEAS cvsshow2 xpos x0 add xdel 3 mul add ymax ydel LP mul sub moveto CIEBS cvsshow2 xpos x0 add xdel 4 mul add ymax ydel LP mul sub moveto CIECS cvsshow2 xpos x0 add xdel 5 mul add ymax ydel LP mul sub moveto a' cvsshow4 xpos x0 add xdel 6 mul add ymax ydel LP mul sub moveto b' cvsshow4 xpos x0 add xdel 7 mul add ymax ydel LP mul sub moveto CIEHS cvsshow1 } if %xchart4=2 xchart4 3 eq {%xchart4=3 /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 Y YW div D24_116 gt {/FYYN Y YW div 0.0001 add D13 exp def} {/FYYN D841_108 Y YW div mul D16_116 add def} ifelse /CIELS 116. FYYN mul 16. sub def /XD65 95.04 def /YD65 100.00 def /ZD65 108.89 def /a2 1 XD65 div D13 exp def %a2,2=0.2191 a2,10=0.2193 /b2 1 ZD65 div D13 exp -0.4 mul def %b2,2=-0.0837; b2,10=-0.08417 /CIEAS X Y 0.0001 add div D13 exp a2 mul XW YW 0.0001 add div D13 exp a2 mul sub Y 0.0001 add D13 exp mul 500 mul def /CIEBS Z Y 0.0001 add div D13 exp b2 mul ZW YW 0.0001 add div D13 exp b2 mul sub Y 0.0001 add D13 exp mul 500 mul def /CIECS CIEAS dup mul CIEBS dup mul add 0.5 exp def /CIEHS CIEBS CIEAS 0.000001 add atan def /a' XAN YAN 0.0001 add div D13 exp a2 mul def /b' ZAN YAN 0.0001 add div D13 exp b2 mul def /c' a' dup mul b' dup mul add 0.0001 add sqrt def xpos x0 add xdel 1 mul add ymax ydel LP mul sub moveto CIELS cvsshow2 xpos x0 add xdel 2 mul add ymax ydel LP mul sub moveto CIEAS cvsshow2 xpos x0 add xdel 3 mul add ymax ydel LP mul sub moveto CIEBS cvsshow2 xpos x0 add xdel 4 mul add ymax ydel LP mul sub moveto CIECS cvsshow2 xpos x0 add xdel 5 mul add ymax ydel LP mul sub moveto a' cvsshow4 xpos x0 add xdel 6 mul add ymax ydel LP mul sub moveto b' cvsshow4 xpos x0 add xdel 7 mul add ymax ydel LP mul sub moveto CIEHS cvsshow1 } if %xchart4=3 % FXU(1)=FF(2)*U(3)-FF(3)*U(2) % FXU(2)=FF(3)*U(1)-FF(1)*U(3) % FXU(3)=FF(1)*U(2)-FF(2)*U(1) % SUBROUTINE DOWEL (F,FXU,IMAX,IO) % DIMENSION F(99,3),FXU(3) % I=1 % T2=F(1,1)*FXU(1)+F(1,2)*FXU(2)+F(1,3)*FXU(3) % IF(T2) 1,1,4 % 1 T1=T2 % I=I+1 % T2=F(I,1)*FXU(1)+F(I,2)*FXU(2)+F(I,3)*FXU(3) % IF(T2) 1,1,2 % 2 IF(T1) 3,3,1 % 3 IO=I-1 % RETURN % 4 T1=F(IMAX,1)*FXU(1)+F(IMAX,2)*FXU(2)+F(IMAX,3)*FXU(3) % IF(T1) 5,5,1 % 5 IO=IMAX % RETURN % END %********************************************************* /proc_ABC_KNP_FWERTiX {%BEG proc_ABC_KNP_FWERT %input FAD,FBD,FCD, KNP %output FWERTiX/Y/Z (i=1,4) kNP 1 ge {/FWERT1X FAD kNP 1 sub get def /FWERT1Y FBD kNP 1 sub get def /FWERT1Z FCD kNP 1 sub get def} {/FWERT1X FAD 0 get def %again 400nm for i=0 /FWERT1Y FBD 0 get def /FWERT1Z FCD 0 get def} ifelse /FWERT2X FAD kNP get def /FWERT2Y FBD kNP get def /FWERT2Z FCD kNP get def /FWERT3X FAD kNP 1 add get def /FWERT3Y FBD kNP 1 add get def /FWERT3Z FCD kNP 1 add get def /FWERT4X FAD kNP 2 add get def /FWERT4Y FBD kNP 2 add get def /FWERT4Z FCD kNP 2 add get def } bind def %END proc_ABC_KNP_FWERTiX %********************************************************* /proc_XIE_TN1 {%BEG proc_XIE_TN1 %input XIE, FWERTiX/Y/Z (i=1,4) %output TN1 /A1N XIE 1 XIE sub mul XIE 2 sub mul 6 div def /A2N XIE 1 add XIE 1 sub mul XIE 2 sub mul 0.5 mul def /A3N XIE 1 add XIE mul 2 XIE sub mul 0.5 mul def /A4N XIE 1 add XIE mul XIE 1 sub mul 6 div def /FNX A1N FWERT1X mul A2N FWERT2X mul add A3N FWERT3X mul add A4N FWERT4X mul add def /FNY A1N FWERT1Y mul A2N FWERT2Y mul add A3N FWERT3Y mul add A4N FWERT4Y mul add def /FNZ A1N FWERT1Z mul A2N FWERT2Z mul add A3N FWERT3Z mul add A4N FWERT4Z mul add def /TNX FNX FXU1 mul FNY FXU2 mul add FNZ FXU3 mul add def } bind def %END proc_XIE_TN1 %********************************************************* xchart4 0 eq {%xchart4=0 /FF1 X def /FF2 Y def /FF3 Z def /U1 XW def /U2 YW def /U3 ZW def /FXU1 FF2 U3 mul FF3 U2 mul sub def /FXU2 FF3 U1 mul FF1 U3 mul sub def /FXU3 FF1 U2 mul FF2 U1 mul sub def } if %xchart4=0 xchart4 1 eq {%xchart4=1 /FF1 Y def /FF2 A def /FF3 B def /U1 YW def /U2 XW YW sub def /U3 ZW YW sub 0.4 mul neg 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 } if %xchart4=1 xchart4 2 ge {%xchart4>=2 /FF1 CIELS def /FF2 CIEAS def /FF3 CIEBS def /U1 100 def /U2 0 def /U3 0 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 } if %xchart4>=2 /INP -1 def /IPN -1 def %assumption jump from TN to TP from negativ to positiv 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP i def exit} if } for %i=1,60 0 1 60 {/i exch def %i=1,60 /TN FAD i get FXU1 mul FBD i get FXU2 mul add FCD i get FXU3 mul add neg def /TP FAD i 1 add get FXU1 mul FBD i 1 add get FXU2 mul add FCD i 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN i def exit} if } for %i=1,60 TM xpos x0 add xdel 8 mul add ymax ydel LP mul sub moveto INP cvishow xpos x0 add xdel 9 mul add ymax ydel LP mul sub moveto IPN cvishow %********************************************************* /kNP INP def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE1 DOW INP get DOW INP 1 add get DOW INP get sub XIE mul add def } if %kNP>=0 %********************************************************* /kNP IPN def kNP 0 ge {%kNP>=0 proc_ABC_KNP_FWERTiX %input FAD,KNP, output FWERTiXYZ (i=1,4) /XIE1 0 def %start values TN=0 for XIE1, TP>0 for XIE2 /XIE2 1 def /FXU1 FXU1 neg def /FXU2 FXU2 neg def /FXU3 FXU3 neg def 0 1 9 {/mk exch def %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def proc_XIE_TN1 %input XIE, ouput TN1 TNX 0 le {/XIE1 XIE def /TN1 TNX def} {/XIE2 XIE def /TP1 TNX def} ifelse } for %mk=0,9 /XIE XIE1 XIE2 add 0.5 mul def /DOWXIE2 DOW IPN get DOW IPN 1 add get DOW IPN get sub XIE mul add def } if %kNP>=0 %********************************************************* %0 1 1 0 setcmyk_olvcolor INP 0 ge {%INP>=0,-1 xpos x0 add xdel 8 mul add 400 add ymax ydel LP mul sub moveto DOWXIE1 cvishow /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 xpos x0 add xdel 8 mul add 400 add ymax ydel LP mul sub moveto DOWXIE2 cvishow (c) show /DOWEL1 DOWXIE2 def /DOWEL1c (c) def } ifelse %INP>=0,-1 %1 0 1 0 setcmyk_olvcolor IPN 0 ge {%IPN>=0,-1 xpos x0 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto DOWXIE2 cvishow /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 xpos x0 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto DOWXIE1 cvishow (c) show /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 0 0 0 1 setcmyk_olvcolor } for %L=0,9 showpage grestore } for %xchartl=0,2 %} for %xchart4=0,3 } for %xcolorl=0,1 %%Trailer