%!PS-Adobe-3.0 EPSF-3.0 TE070-7N.EPS %%BoundingBox: 70 82 785 580 %START PDFDE011.EPS /pdfmark07 where {pop} {userdict /pdfmark07 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [ /Title (PostScript pictures: http://130.149.60.45/~farbmetrik/TE07/) /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 pdfmark07 [ /View [ /FitB ] /DOCVIEW pdfmark07 %END PDFDE011 %SETCMYK_OLV.PS /setcmyk_olvcolor %transfer cmyk to olv {/ncolor exch def /ycolor exch def /mcolor exch def /ccolor exch def ncolor 0 eq {1 ccolor sub 1 mcolor sub 1 ycolor sub setrgbcolor } {ccolor 0 eq mcolor 0 eq and ycolor 0 eq and {%only black n 1 ncolor sub dup dup setrgbcolor } {%cmy and black n 1 ccolor sub 1 ncolor sub mul 1 mcolor sub 1 ncolor sub mul 1 ycolor sub 1 ncolor sub mul setrgbcolor } ifelse } ifelse } bind def /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier-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 /TS {170 /Times-ISOL1 FS} bind def /TK {200 /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 {200 /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 {200 /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 {200 /TimesBI-ISOL1 FS} bind def /TBIM {270 /TimesBI-ISOL1 FS} bind def /TBIG {320 /TimesBI-ISOL1 FS} bind def /CBKK {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /TSS {170 /Symbol FS} bind def /TSK {200 /Symbol FS} bind def /TSM {270 /Symbol FS} bind def /TSG {320 /Symbol FS} bind def %******************************************************************* /RGB*16 16 array def /RGB*16 [(1.00 0.00 0.00) (1.00 0.25 0.00) (1.00 0.50 0.00) (1.00 0.75 0.00) (1.00 1.00 0.00) (0.75 1.00 0.00) (0.50 1.00 0.00) (0.25 1.00 0.00) (0.00 1.00 0.00) (0.00 1.00 0.50) (0.00 1.00 1.00) (0.00 0.50 1.00) (0.00 0.00 1.00) (0.50 0.00 1.00) (1.00 0.00 1.00) (1.00 0.00 0.50) ] def /RGBNM*16 16 array def /RGBNW*16 [(1.00 0.00 0.00) (0.50 0.00 0.00) (1.00 0.50 0.50) () (1.00 1.00 0.00) (0.50 0.50 0.00) (1.00 1.00 0.50) () (0.00 1.00 0.00) (0.00 0.50 0.00) (0.50 1.00 0.50) () (0.00 0.00 1.00) (0.00 0.00 0.50) (0.50 0.50 1.00) ()] def /RGB*005 05 array def /RGB*005 [(0.00 0.00 0.00) (0.25 0.25 0.25) (0.50 0.50 0.50) (0.75 0.75 0.75) (1.00 1.00 1.00)] def /RGB*009 09 array def /RGB*009 [ (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000)] def /RGBOLV*57tx 57 array def /RGBOLV*57tx [ (1.000 0.000 0.000) (1.000 0.125 0.000) (1.000 0.250 0.000) (1.000 0.375 0.000) %O-Y (1.000 0.500 0.000) (1.000 0.625 0.000) (1.000 0.750 0.000) (1.000 0.875 0.000) (1.000 1.000 0.000) (0.875 1.000 0.000) (0.750 1.000 0.000) (0.625 1.000 0.000) %Y-L (0.500 1.000 0.000) (0.375 1.000 0.000) (0.250 1.000 0.000) (0.125 1.000 0.000) (0.000 1.000 0.000) (0.000 1.000 0.125) (0.000 1.000 0.250) (0.000 1.000 0.375) %L-C (0.000 1.000 0.500) (0.000 1.000 0.625) (0.000 1.000 0.750) (0.000 1.000 0.875) (0.000 1.000 1.000) (0.000 0.875 1.000) (0.000 0.750 1.000) (0.000 0.625 1.000) %C-V (0.000 0.500 1.000) (0.000 0.375 1.000) (0.000 0.250 1.000) (0.000 0.125 1.000) (0.000 0.000 1.000) (0.125 0.000 1.000) (0.250 0.000 1.000) (0.375 0.000 1.000) %V-M (0.500 0.000 1.000) (0.625 0.000 1.000) (0.750 0.000 1.000) (0.875 0.000 1.000) (1.000 0.000 1.000) (1.000 0.000 0.875) (1.000 0.000 0.750) (1.000 0.000 0.625) %M-O (1.000 0.000 0.500) (1.000 0.000 0.375) (1.000 0.000 0.250) (1.000 0.000 0.125) %N-W (0.000 0.000 0.000) (0.125 0.125 0.125) (0.250 0.250 0.250) (0.375 0.375 0.375) (0.500 0.500 0.500) (0.625 0.625 0.625) (0.750 0.750 0.750) (0.875 0.875 0.875) (1.000 1.000 1.000) ] def /RGBOLV*171 171 array def /RGBOLV*171 [1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 %O-Y 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 0.000 %Y-L 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 %L-C 0.000 1.000 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 1.000 %C-V 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 1.000 0.000 0.000 1.000 0.125 0.000 1.000 0.250 0.000 1.000 0.375 0.000 1.000 %V-M 0.500 0.000 1.000 0.625 0.000 1.000 0.750 0.000 1.000 0.875 0.000 1.000 1.000 0.000 1.000 1.000 0.000 0.875 1.000 0.000 0.750 1.000 0.000 0.625 %M-O 1.000 0.000 0.500 1.000 0.000 0.375 1.000 0.000 0.250 1.000 0.000 0.125 %N-W 0.000 0.000 0.000 0.125 0.125 0.125 0.250 0.250 0.250 0.375 0.375 0.375 0.500 0.500 0.500 0.625 0.625 0.625 0.750 0.750 0.750 0.875 0.875 0.875 1.000 1.000 1.000 ] def %************************************************************************** /RGB0i_XYZi { %BEG procedure RGB0i_XYZj %transfers standard sRGB data (IEC 61966-2-1) to XYZ data for 9x9x9=729 colours %normalized XYZ data with Y=88.59 for display white, compare ISO 9241-306:2008. /IM0 57 def /IM1 IM0 1 sub def /iN 48 def /iW 56 def /Xi089 729 array def /Yi089 729 array def /Zi089 729 array def /Xi100 729 array def /Yi100 729 array def /Zi100 729 array def /R0i 729 array def /G0i 729 array def /B0i 729 array def %row no.1 and 2: 9xrgb %/imax 08 def %/jmax 08 def %/kmax 08 def %0 1 kmax {/k exch def %beg k=0,08 %0 1 jmax {/j exch def %beg j=0,jmax %0 1 imax {/i exch def %beg i=0,imax % /n i j 9 mul add k 81 mul add def % R0i n k kmax div 1000 mul put % G0i n j jmax div 1000 mul put % B0i n i imax div 1000 mul put % } for %end i=0,jmax % } for %end j=0,jmax % } for %end k=0,kmax %STOPX 0 1 IM1 {/i exch def %i=0,IM1 /i3 i 3 mul def R0i i RGBOLV*171 i3 0 add get 1000 mul put G0i i RGBOLV*171 i3 1 add get 1000 mul put B0i i RGBOLV*171 i3 2 add get 1000 mul put } for %i=0,IM1 %STOPA 0 1 IM1 {/i exch def %i=0,IM1 R0i i get 0.04045 le %equations of IEC 61966-2-1:2003 {/RsRGB R0i i get 12.92 div def} {/RsRGB R0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse G0i i get 0.04045 le {/GsRGB G0i i get 12.92 div def} {/GsRGB G0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse B0i i get 0.04045 le {/BsRGB B0i i get 12.92 div def} {/BsRGB B0i i get 0.001 mul 0.055 add 1.055 div 2.4 exp def} ifelse Xi100 i 0.4124 RsRGB mul 0.3576 GsRGB mul add 0.1805 BsRGB mul add 100 mul put Yi100 i 0.2126 RsRGB mul 0.7152 GsRGB mul add 0.0722 BsRGB mul add 100 mul put Zi100 i 0.0193 RsRGB mul 0.1192 GsRGB mul add 0.9505 BsRGB mul add 100 mul put } for %i=0,IM1 0 1 IM1 {/i exch def %i=0,IM1 Xi089 i Xi100 i get 0.8859 mul put Yi089 i Yi100 i get 0.8859 mul put Zi089 i Zi100 i get 0.8859 mul put } for %i=0,IM1 /XLN100 Xi100 iN get def /YLN100 Yi100 iN get def /ZLN100 Zi100 iN get def /XLW100 Xi100 iW get def /YLW100 Yi100 iW get def /ZLW100 Zi100 iW get def /XLN089 Xi089 iN get def /YLN089 Yi089 iN get def /ZLN089 Zi089 iN get def /XLW089 Xi089 iW get def /YLW089 Yi089 iW get def /ZLW089 Zi089 iW get def % achromatic (D65) colours /XLWD65100 95.04 def /YLWD65100 100.00 def /ZLWD65100 108.88 def /XLWD65089 95.04 0.8859 mul def /YLWD65089 100.00 0.8859 mul def /ZLWD65089 108.88 0.8859 mul def /XLN001 XLWD65100 100 div def /YLN001 YLWD65100 100 div def /ZLN001 ZLWD65100 100 div def } bind def %END procedure RGB0i_XYZi for 729 colours %********************************************************************** /XYZi_Lab*i { %BEG Procedure XYZi_Lab*i %transfer from XYZi data to Lab*i CIELAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /L*i089,a*i089,b*i089 729 array def %max 729 %new /L*i100,a*i100,b*i100 729 array def %max 729 /L*i100 729 array def /a*i100 729 array def /b*i100 729 array def /L*i089 729 array def /a*i089 729 array def /b*i089 729 array def 0 1 IM1 {/i exch def %i=0,IM1 /XQ Xi089 i get XLWD65100 div def /YQ Yi089 i get YLWD65100 div def /ZQ Zi089 i get 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*i089 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i089 i 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 put b*i089 i 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 put /XQ Xi100 i get XLWD65100 div def /YQ Yi100 i get YLWD65100 div def /ZQ Zi100 i get 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*i100 i YQ 0.008856 lt {903.3 YQ mul} {YQ 0.33333333 exp 116 mul 16 sub} ifelse put a*i100 i 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 put b*i100 i 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 put } for %i=0,IM1 /L*N100 L*i100 iN get def /a*N100 a*i100 iN get def /b*N100 b*i100 iN get def /L*W100 L*i100 iW get def /a*W100 a*i100 iW get def /b*W100 b*i100 iW get def /L*N089 L*i089 iN get def /a*N089 a*i089 iN get def /b*N089 b*i089 iN get def /L*W089 L*i089 iW get def /a*W089 a*i089 iW get def /b*W089 b*i089 iW get def } bind def %END XYZi_Lab*i %********************************************************************** /XYZi_ABi { %BEG Procedure XYZj_ABi %transfer from XYZj data to ABi YAB data for 9x9x9=729 colours %requires IM0, IM1, IN, IW %requires /Xi089,Yi089,Zi089 729 array def %max 729 %requires /Xi100,Yi100,Zi100 729 array def %max 729 %requires (XYZ)LWD65100, (XYZ)LWD65089 %new /Ai089,Bi089 729 array def %max 729 %new /Ai100,Bi100 729 array def %max 729 /Ai100 729 array def /Bi100 729 array def /Ai089 729 array def /Bi089 729 array def /XW100 XLWD65100 def /YW100 YLWD65100 def /ZW100 ZLWD65100 def 0 1 IM1 {/i exch def %i=0,IM1 Ai100 i Xi100 i get Yi100 i get 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul put Bi100 i Zi100 i get Yi100 i get 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub Yi100 i get mul 0.4 mul neg put Ai089 i Ai100 i get 0.8859 mul put Bi089 i Bi100 i get 0.8859 mul put } for %i=0,IM1 /AN100 Ai100 iN get def /BN100 Bi100 iN get def /AW100 Ai100 iW get def /BW100 Bi100 iW get def /AN089 Ai089 iN get def /BN089 Bi089 iN get def /AW089 Ai089 iW get def /BW089 Bi089 iW get def } bind def %END XYZi_ABi %********************************************************************** /DecodeXYZ* {dup 6 29 div ge {dup dup mul mul} {4 29 div sub 108 841 div mul} ifelse} bind def /cvishow {cvi 6 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvishowb {cvi 6 string cvs show ( ) show} def /cvsshow1b {10 mul cvi 0.1 mul 7 string cvs show ( ) show} def /cvsshow2b {100 mul cvi 0.01 mul 7 string cvs show ( ) show} def /cvsshow3b {1000 mul cvi 0.001 mul 7 string cvs show ( ) show} def /cvishowr {0.5 add cvi 6 string cvs show} def /cvsshow1r {0.05 add 10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2r {0.005 add 100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3r {0.0005 add 1000 mul cvi 0.001 mul 7 string cvs show} def /cvi100 {100 mul cvi /xi exch def xi 0 lt {/vorz -1 def} {/vorz 1 def} ifelse /xia xi abs def vorz -1 eq {(\255) show} {(0) show} ifelse xia 0 ge xia 9 le {(0000) show} if xia 10 ge xia 99 le and {(000) show} if xia 100 ge xia 999 le and {(00) show} if xia 1000 ge xia 9999 le and {(0) show} if xia cvishow } bind def /cvi1000 {1000 mul cvi /xi exch def xi 0 ge xi 9 le {(000) show} if xi 10 ge xi 99 le and {(00) show} if xi 100 ge xi 999 le and {(0) show} if xi cvishow } bind 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 %%EndProlog gsave /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 1 def /lanind2 1 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 0 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchart2 1 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 gsave %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 /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 72 90 translate 0.01 MM dup scale 20 setlinewidth 1 1 1 setrgbcolor 0 0 moveto 25000 0 rlineto 0 17000 rlineto 25000 neg 0 rlineto closepath fill 0 0 0 setrgbcolor 0 0 moveto 25000 0 rlineto 0 17000 rlineto 25000 neg 0 rlineto closepath stroke TK 100 -180 moveto (TE070-7N, ) show (sRGB colours) showea (sRGB\255Farben) showde TK (, normalized:) showea (, normiert:) showde TIK ( Yn = Yw) show TK ( = 100) show RGB0i_XYZi XYZi_Lab*i XYZi_ABi /ymax 16600 def /idy 206 def /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 /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 /xchartl 0 def gsave %Start-transformation 1 dup dup setrgbcolor 0 0 moveto 25000 0 rlineto 0 17000 rlineto 25000 neg 0 rlineto closepath fill 0 dup dup setrgbcolor 0 0 moveto 25000 0 rlineto 0 17000 rlineto 25000 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 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 /ix0 100 def /ix1 ix0 1400 add def /ixd 600 def /ymax 16700 def TBM 50 ymax moveto (CIE\255Daten, zum Beispiel) showde (CIE data, for example) showea TBIM ( rgb) show TBK 0 -90 rmoveto (sRGB) show 0 90 rmoveto TBM TBIM (, XYZxy, LabCh*, YABCh) show TBM (, and) showea ( und) showde TSM ( l) show TBK 0 -90 rmoveto (d) show 0 90 rmoveto TBM (, ) show TSM ( l) show TBK 0 -90 rmoveto (c) show 0 90 rmoveto TBM TBM ( f\374r alle Ger\344tefarben) showde ( for all device colours) showea TBM ( of maximum (m) chromatic value for ) showea ( von maximalem (m) Buntwert f\374r ) showde (D65) show ( and) showea ( und) showde TBIM ( Y) show TBK 0 -60 rmoveto (w) show TBM (=100 and 89) showea /iymax 16000 def /idy 250 def TBIK ix0 iymax idy add 50 add moveto (rgb) show TBS 0 -90 rmoveto (i) show 0 90 rmoveto TBK ix1 ixd 0 mul add 150 add iymax idy add 50 add moveto TBK (i) show ix1 ixd 1 mul add 030 sub 0 moveto 0 16600 rlineto stroke ix1 ixd 1 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z, x, y) show TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 6 mul add 030 sub 0 moveto 0 16600 rlineto stroke ix1 ixd 6 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBIK (, a', b', c') show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 14 mul add 030 sub 0 moveto 0 16600 rlineto stroke ix1 ixd 14 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBIK (, a, b, c) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 22 mul add 030 sub 0 moveto 0 16600 rlineto stroke ix1 ixd 22 mul add iymax idy add 50 add moveto TBK ([) show TBIK (i) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (d) show 0 90 rmoveto TBK TBK (, ) show TBIK (i) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (, ) show TSK (l) show TBS 0 -90 rmoveto (c) show 0 90 rmoveto TBK TBK (]) show TBS 0 -90 rmoveto (100) show 0 90 rmoveto TBK ix1 ixd 26 mul add 030 sub 0 moveto 0 16600 rlineto stroke ix1 ixd 26 mul add iymax idy add 50 add moveto TBK ([) show TBIK (X, Y, Z) show TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 29 mul add 030 sub 0 moveto 0 16600 rlineto stroke ix1 ixd 29 mul add iymax idy add 50 add moveto TBK ([) show TBIK (L*, a*, b*, C*) show TBS -80 -90 rmoveto (ab) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (ab) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK ix1 ixd 34 mul add 030 sub 0 moveto 0 16600 rlineto stroke ix1 ixd 34 mul add iymax idy add 50 add moveto TBK ([) show TBIK (Y, A, B, C) show TBS -80 -90 rmoveto (AB) show 0 90 rmoveto TBIK (, h) show TBS 0 -90 rmoveto (AB) show 0 90 rmoveto TBIK TBK (]) show TBS 0 -90 rmoveto (89) show 0 90 rmoveto TBK /D13 1 3 div def /a2C00 1 XLWD65100 0.0001 add div D13 exp def /b2C00 1 ZLWD65100 0.0001 add div D13 exp neg def TK %20000 15000 moveto a2C00 cvsshow3r (,) b2C00 cvsshow3r /aWD65100 XLWD65100 YLWD65100 0.0001 add div def /bWD65100 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def /aWD65089 XLWD65100 YLWD65100 0.0001 add div def /bWD65089 ZLWD65100 YLWD65100 0.0001 add div 0.4 mul neg def %20000 14000 moveto aWD65100 cvsshow3r (,) bWD65100 cvsshow3r /a'WD65100 XLWD65100 YLWD65100 0.0001 add div D13 exp a2C00 mul def /b'WD65100 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2C00 mul def /a'WD65089 XLWD65100 YLWD65100 0.0001 add div D13 exp a2C00 mul def /b'WD65089 ZLWD65100 YLWD65100 0.0001 add div D13 exp b2C00 mul def %20000 13000 moveto a'WD65100 cvsshow3r (,) b'WD65100 cvsshow3r /itx -0.8 def 0 1 IM1 {/i exch def %i=0,IM1 i IM1 ne {%i#IM1 i i 8 idiv 8 mul eq {/itx itx 0.8 add def} if } if %i#IM1 /iy i itx add def ix0 ixd 0 mul add iymax iy idy mul sub moveto RGBOLV*57tx i get show ix1 ixd 0 mul add 150 add iymax iy idy mul sub moveto i 9 le {(0) show} if i cvishow /XD65100 Xi100 i get def /YD65100 Yi100 i get def /ZD65100 Zi100 i get def /SUM XD65100 YD65100 add ZD65100 add def /xD65100 XD65100 SUM 0.0001 add div def /yD65100 YD65100 SUM 0.0001 add div def ix1 ixd 1 mul add iymax iy idy mul sub moveto XD65100 cvsshow1r ix1 ixd 2 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r ix1 ixd 3 mul add iymax iy idy mul sub moveto ZD65100 cvsshow1r ix1 ixd 4 mul add iymax iy idy mul sub moveto xD65100 cvsshow3r ix1 ixd 5 mul add iymax iy idy mul sub moveto yD65100 cvsshow3r /a'D65100 XD65100 YD65100 0.0001 add div D13 exp a2C00 mul def /b'D65100 ZD65100 YD65100 0.0001 add div D13 exp b2C00 mul def /c'D65100 a'D65100 a'WD65100 sub dup mul b'D65100 b'WD65100 sub dup mul add 0.0001 add sqrt def /L*D65100 L*i100 i get def /a*D65100 a*i100 i get def /b*D65100 b*i100 i get def /C*D65100 a*D65100 dup mul b*D65100 dup mul add 0.0001 add sqrt def /h*D65100 b*D65100 a*D65100 0.0001 add atan def ix1 ixd 06 mul add iymax iy idy mul sub moveto L*D65100 cvsshow1r ix1 ixd 07 mul add iymax iy idy mul sub moveto a*D65100 cvsshow1r ix1 ixd 08 mul add iymax iy idy mul sub moveto b*D65100 cvsshow1r ix1 ixd 09 mul add iymax iy idy mul sub moveto C*D65100 cvsshow1r ix1 ixd 10 mul add iymax iy idy mul sub moveto h*D65100 cvsshow1r ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65100 cvsshow3r ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65100 cvsshow3r ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65100 cvsshow3r /aD65100 XD65100 YD65100 0.0001 add div def /bD65100 ZD65100 YD65100 0.0001 add div 0.4 mul neg def /cD65100 aD65100 aWD65100 sub dup mul bD65100 bWD65100 sub dup mul add 0.0001 add sqrt def /AD65100 XD65100 YD65100 0.0001 add div XLWD65100 YLWD65100 0.0001 add div sub YD65100 mul def /BD65100 ZD65100 YD65100 0.0001 add div ZLWD65100 YLWD65100 0.0001 add div sub YD65100 mul 0.4 mul neg def /CD65100 AD65100 dup mul BD65100 dup mul add 0.0001 add sqrt def /hD65100 BD65100 AD65100 0.0001 add atan def ix1 ixd 14 mul add iymax iy idy mul sub moveto YD65100 cvsshow1r ix1 ixd 15 mul add iymax iy idy mul sub moveto AD65100 cvsshow1r ix1 ixd 16 mul add iymax iy idy mul sub moveto BD65100 cvsshow1r ix1 ixd 17 mul add iymax iy idy mul sub moveto CD65100 cvsshow1r ix1 ixd 18 mul add iymax iy idy mul sub moveto hD65100 cvsshow1r ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65100 cvsshow3r ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65100 cvsshow3r ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65100 cvsshow3r %********************************************************* %calculation of lamdad and lambdac for X, Y, Z /FF1 XD65100 def /FF2 YD65100 def /FF3 ZD65100 def /U1 XLWD65100 def /U2 YLWD65100 def /U3 ZLWD65100 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 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add def TN 0 le TP 0 gt and {/INP j def exit} if } for %j=1,60 0 1 60 {/j exch def %j=1,60 /TN FAD j get FXU1 mul FBD j get FXU2 mul add FCD j get FXU3 mul add neg def /TP FAD j 1 add get FXU1 mul FBD j 1 add get FXU2 mul add FCD j 1 add get FXU3 mul add neg def TN 0 le TP 0 gt and {/IPN j def exit} if } for %j=1,60 TK ix1 ixd 22 mul add iymax iy idy mul sub moveto INP cvishow ix1 ixd 24 mul add iymax iy idy 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 ix1 ixd 23 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 mul add 400 add ymax ydel LP mul sub moveto DOWXIE1 cvishow /DOWEL1 DOWXIE1 def /DOWEL1c () def }%INP>=0 {%INP=-1 ix1 ixd 23 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 9 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 ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto DOWXIE2 cvishow /DOWEL2 DOWXIE2 def /DOWEL2c () def }%IPN>=0 {%IPN=-1 ix1 ixd 25 mul add iymax iy idy mul sub moveto % xpos x1 add xdel 10 mul add 400 add ymax ydel LP mul sub moveto DOWXIE1 cvishow (c) show /DOWEL2 DOWXIE1 def /DOWEL2c (c) def } ifelse %IPN>=0,-1 %********************************************************************** /XD65089 Xi089 i get def /YD65089 Yi089 i get def /ZD65089 Zi089 i get def ix1 ixd 26 mul add iymax iy idy mul sub moveto XD65089 cvsshow1r ix1 ixd 27 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r ix1 ixd 28 mul add iymax iy idy mul sub moveto ZD65089 cvsshow1r /a'D65089 XD65089 YD65089 0.0001 add div D13 exp a2C00 mul def /b'D65089 ZD65089 YD65089 0.0001 add div D13 exp b2C00 mul def /c'D65089 a'D65089 a'WD65089 sub dup mul b'D65089 b'WD65089 sub dup mul add 0.0001 add sqrt def /L*D65089 L*i089 i get def /a*D65089 a*i089 i get def /b*D65089 b*i089 i get def /C*D65089 a*D65089 dup mul b*D65089 dup mul add 0.0001 add sqrt def /h*D65089 b*D65089 a*D65089 0.0001 add atan def ix1 ixd 29 mul add iymax iy idy mul sub moveto L*D65089 cvsshow1r ix1 ixd 30 mul add iymax iy idy mul sub moveto a*D65089 cvsshow1r ix1 ixd 31 mul add iymax iy idy mul sub moveto b*D65089 cvsshow1r ix1 ixd 32 mul add iymax iy idy mul sub moveto C*D65089 cvsshow1r ix1 ixd 33 mul add iymax iy idy mul sub moveto h*D65089 cvsshow1r %ix1 ixd 11 mul add iymax iy idy mul sub moveto a'D65089 cvsshow3r %ix1 ixd 12 mul add iymax iy idy mul sub moveto b'D65089 cvsshow3r %ix1 ixd 13 mul add iymax iy idy mul sub moveto c'D65089 cvsshow3r /aD65089 XD65089 YD65089 0.0001 add div def /bD65089 ZD65089 YD65089 0.0001 add div 0.4 mul neg def /cD65089 aD65089 aWD65089 sub dup mul bD65089 bWD65089 sub dup mul add 0.0001 add sqrt def /AD65089 XD65089 YD65089 0.0001 add div XLWD65089 YLWD65089 0.0001 add div sub YD65089 mul def /BD65089 ZD65089 YD65089 0.0001 add div ZLWD65089 YLWD65089 0.0001 add div sub YD65089 mul 0.4 mul neg def /CD65089 AD65089 dup mul BD65089 dup mul add 0.0001 add sqrt def /hD65089 BD65089 AD65089 0.0001 add atan def ix1 ixd 34 mul add iymax iy idy mul sub moveto YD65089 cvsshow1r ix1 ixd 35 mul add iymax iy idy mul sub moveto AD65089 cvsshow1r ix1 ixd 36 mul add iymax iy idy mul sub moveto BD65089 cvsshow1r ix1 ixd 37 mul add iymax iy idy mul sub moveto CD65089 cvsshow1r ix1 ixd 38 mul add iymax iy idy mul sub moveto hD65089 cvsshow1r %ix1 ixd 19 mul add iymax iy idy mul sub moveto aD65089 cvsshow3r %ix1 ixd 20 mul add iymax iy idy mul sub moveto bD65089 cvsshow3r %ix1 ixd 21 mul add iymax iy idy mul sub moveto cD65089 cvsshow3r } for %i=0,IM1 showpage grestore %%Trailer