%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/EE42/EE420-8A 20230801 %%BoundingBox: 70 85 226 206 /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://farbe.li.tu-berlin.de/EE42/EE42.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2023080112000) /ModDate (D:20230801112000) /DOCINFO pdfmark07 [ /View [ /FitB ] /DOCVIEW pdfmark07 %190901 all (el34): proc_curve_MUY, proc_linef_MUY %proc_LMS_: func, funclga, funclg_a, funclgb, funclg_b, thre %titl2(->tit0, tit2r), titl3(->tit0, tit3r) %titl2(->tita, tit2r), titl3(->tita, tit3r), tit0, tita, tit2r, tit3r %axi0, axis(->axi0), axia(->axio), spet, spea %proc_LI_ (el31-33): lbyf, lgrf, ngrf( all use ->_linef_MUY) % %190801 act: proc_curve_MUY %proc_LMS_: titl2(->tit0, tit2r), spet, axis(->axi0), thre, func % !AUSTAUSCH Times-Roman -> Times-Roman-ISOLatin1=Times-I /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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TS {160 /Times-ISOL1 FS} bind def /TK {200 /Times-ISOL1 FS} bind def /TM {250 /Times-ISOL1 FS} bind def /TG {300 /Times-ISOL1 FS} bind def /TIS {160 /TimesI-ISOL1 FS} bind def /TIK {200 /TimesI-ISOL1 FS} bind def /TIM {250 /TimesI-ISOL1 FS} bind def /TIG {300 /TimesI-ISOL1 FS} bind def /TBS {160 /TimesB-ISOL1 FS} bind def /TBK {200 /TimesB-ISOL1 FS} bind def /TBM {250 /TimesB-ISOL1 FS} bind def /TBG {300 /TimesB-ISOL1 FS} bind def /TBIS {160 /TimesBI-ISOL1 FS} bind def /TBIK {200 /TimesBI-ISOL1 FS} bind def /TBIM {250 /TimesBI-ISOL1 FS} bind def /TBIG {300 /TimesBI-ISOL1 FS} bind def /SK {200 10 sub /Symbol FS} bind def /SM {250 12 sub /Symbol FS} bind def /SG {300 14 sub /Symbol FS} bind def /nshowG {TG show} bind def /kshowG {TIG show} bind def /bshowG {TBG show} bind def /bishowG {TBIG show} bind def /ishowG {TM 0 -60 rmoveto show 0 60 rmoveto} bind def /ebshowG {TBM 0 200 rmoveto show 0 -200 rmoveto} bind def /sshowG {SG show} bind def /nshowM {TM show} bind def /kshowM {TIM show} bind def /bshowM {TBM show} bind def /bishowM {TBIM show} bind def /ishowM {TK 0 -40 rmoveto show 0 40 rmoveto} bind def /ebshowM {TBK 0 100 rmoveto show 0 -100 rmoveto} bind def /sshowM {SM show} bind def /nshowK {TK show} bind def /kshowK {TIK show} bind def /bshowK {TBK show} bind def /bishowK {TBIK show} bind def /ishowK {TS 0 -30 rmoveto show 0 30 rmoveto} bind def /ebshowK {TBS 0 130 rmoveto show 0 -130 rmoveto} bind def /sshowK {SK show} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 1.0 0.0} bind def %Elementarfarben special for gray surround /tzg {1.0 0.0 1.0 0.0} bind def /tzb {1.0 1.0 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 1.0 0.5} bind def %Elementarfarben vergraut special or gray sur. /tzgz {1.0 0.0 1.0 0.5} bind def /tzbz {1.0 1.0 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def /A4quer {598 0 tl 90 rotate} def /setcmyknew {setcmykcolor} def /outSM {sshowM} def /outSK {sshowK} def /outxshowf {setcmykcolor show} def %for output test only /tspace {dup abs 1.0 le {( ) show} if dup dup -1.0 le exch -10 gt and {( ) show} if dup dup 1.0 gt exch 10 lt and {( ) show} if dup dup 1.0 gt exch 10 ge and {( ) show} if } bind def /trushow {tspace 0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /troshow {0.005 add 100 mul truncate 100 div 10 string cvs show} bind def /trushow4 {0.00005 add 10000 mul truncate 10000 div 10 string cvs show} 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 /cvishow {dup 0 ge {0.5 add} {0.5 sub} ifelse cvi 6 string cvs show} def %/cvsshow1 {dup 0 ge {0.05 add} {0.05 sub} ifelse % 10 mul cvi 0.1 mul 7 string cvs show} def %/cvsshow2 {dup 0 ge {0.005 add} {0.005 sub} ifelse % 100 mul cvi 0.01 mul 7 string cvs show} def %/cvsshow3 {dup 0 ge {0.0005 add} {0.0005 sub} ifelse % 1000 mul cvi 0.001 mul 7 string cvs show} def % R G B C M Y /tf370 {1.00 0.00 0.20 setrgbcolor} bind def %j50r 0.00 1.00 0.80 %X=370 /tf395 {0.70 0.00 0.20 setrgbcolor} bind def %r 0.00 0.75 1.00 %U=W=395=645 /tf420 {0.50 0.00 1.00 setrgbcolor} bind def %r 0.40 1.00 0.00 %T=I=420=670 /tf445 {0.70 0.00 1.00 setrgbcolor} bind def %b25r 0.50 1.00 0.00 %S=Y=445=695 /tf470 {0.00 0.20 1.00 setrgbcolor} bind def %B 1.00 0.80 0.00 %B=Mc=570c /tf475 {0.00 0.20 1.00 setrgbcolor} bind def %B 1.00 0.80 0.00 %B' new /tf488 {0.00 0.60 1.00 setrgbcolor} bind def %g50b 1.00 0.40 0.00 %B" new /tf495 {0.00 0.80 1.00 setrgbcolor} bind def %g75b 1.00 0.20 0.00 %C=Rc=620c /tf500 {0.00 1.00 0.50 setrgbcolor} bind def %G 1.00 0.00 0.20 %C' new /tf505 {0.00 1.00 0.40 setrgbcolor} bind def %G 1.00 0.00 0.40 %C" new /tf510 {0.00 1.00 0.40 setrgbcolor} bind def %G 1.00 0.00 0.60 %C"' new /tf520 {0.20 1.00 0.25 setrgbcolor} bind def %j66g 0.80 0.00 0.75 %G=520 /tf525 {0.20 1.00 0.25 setrgbcolor} bind def %j66g 0.80 0.00 0.75 %G' new /tf538 {0.40 1.00 0.00 setrgbcolor} bind def %j48g 0.60 0.00 1.00 %G" new /tf545 {0.40 1.00 0.00 setrgbcolor} bind def %j45g 0.55 0.00 1.00 %M=545 /tf550 {0.45 1.00 0.00 setrgbcolor} bind def %j40g 0.45 0.00 1.00 %M' %/tf557 {0.60 1.00 0.00 setrgbcolor} bind def %j33g 0.40 0.00 1.00 %V /tf557 {tfw} def /tf563 {0.80 1.00 0.00 setrgbcolor} bind def %j17g 0.20 0.00 1.00 %V' new /tf570 {1.00 1.00 0.00 setrgbcolor} bind def %J 0.00 0.00 1.00 %M=570 /tf575 {1.00 1.00 0.00 setrgbcolor} bind def %J 0.00 0.00 1.00 %M' /tf595 {1.00 0.50 0.00 setrgbcolor} bind def %j50r 0.00 0.75 1.00 %O=595 /tf600 {1.00 0.20 0.00 setrgbcolor} bind def %j25r 0.00 0.80 1.00 %O' new /tf613 {1.00 0.00 0.00 setrgbcolor} bind def %r 0.00 1.00 1.00 %O" new /tf620 {1.00 0.00 0.20 setrgbcolor} bind def %j50r 0.00 1.00 0.80 %R=620 /tf645 {1.00 0.00 0.00 setrgbcolor} bind def %j75r 0.00 0.00 1.00 %W=645 /tf670 {0.50 0.00 1.00 setrgbcolor} bind def %r 0.40 1.00 0.00 %I=T=670=420 /tf695 {0.70 0.00 1.00 setrgbcolor} bind def %b25r 0.50 1.00 0.00 %Y=S=695=445 /tf50c {1.00 0.00 0.50 setrgbcolor} bind def %b75r 0.00 1.00 0.50 %Gc=520c new /tf720 {0.00 0.20 1.00 setrgbcolor} bind def %B 1.00 0.80 0.00 %W=720=470 /tfRe {1.00 0.00 0.20 setrgbcolor} bind def %Re 0.00 1.00 0.80 %Re /tfYe {1.00 1.00 0.00 setrgbcolor} bind def %Ye 0.00 0.00 1.00 %Ye /tfGe {0.00 1.00 0.20 setrgbcolor} bind def %Ge 1.00 0.00 0.80 %Ge /tfBe {0.00 0.20 1.00 setrgbcolor} bind def %Be 1.00 0.80 0.00 %Be /tti 27 array def /tti [ {(X)} {(U)} {(T)} {(S)} %370(00), 395(01), 420(02), 445(03) {(B)} {(C)} {(G)} {(M)} %470(04), 495(05), 520(06), 545(07) {(L)} {(O)} {(R)} {(W)} %570(08), 595(09), 620(10), 645(11) {(I)} {(Y)} {(V)} %670(12), 695(13), 557(14), {(Be)} {(Ge)} {(Ye)} {(Re)} %470(15), 520(16), 570(17), 620(18) {(Ble)} {(Gle)} {(Yle)} {(Rle)} %470(19), 520(20), 570(21), 620(22) {(Bge)} {(Gge)} {(Yge)} {(Rge)} %470(23), 520(24), 570(25), 620(26) ] def %00-26 /tfi 27 array def /tfi [ {tf370} {tf395} {tf420} {tf445} %00-03 {tf470} {tf495} {tf520} {tf545} %04-07 {tf570} {tf595} {tf620} {tf645} %08-11 {tf670} {tf695} {tf557} %12-14 {tfBe} {tfGe} {tfYe} {tfRe} %15-18 {tfBle} {tfGle} {tfYle} {tfRle} %19-22 {tfBge} {tfGge} {tfYge} {tfRge} %23-26 ] def %00-26 /XtRe {tfRe (R) bishowM (e) ishowK} def /XtGe {tfGe (G) bishowM (e) ishowK} def /XtBe {tfBe (B) bishowM (e) ishowK} def /XtYe {tfYe (Y) bishowM (e) ishowK} def /XtRle {tfRe (R) bishowM (le) ishowK} def /XtGle {tfGe (G) bishowM (le) ishowK} def /XtBle {tfBe (B) bishowM (le) ishowK} def /XtYle {tfYe (Y) bishowM (le) ishowK} def /XtRge {tfRe (R) bishowM (ge) ishowK} def /XtGge {tfGe (G) bishowM (ge) ishowK} def /XtBge {tfBe (B) bishowM (ge) ishowK} def /XtYge {tfYe (Y) bishowM (ge) ishowK} def /Xa {tfn (a) ishowM} def /Xo {tfw (o) ishowM} def /Xla {tfn (la) ishowM} def /Xlo {tfw (lo) ishowM} def /Xga {tfn (ga) ishowM} def /Xgo {tfw (go) ishowM} def /X_a {tfn (_a) ishowM} def /X_o {tfw (_o) ishowM} def /Xl_a {tfn (_la) ishowM} def /Xl_o {tfw (_lo) ishowM} def /Xg_a {tfn (_ga) ishowM} def /Xg_o {tfw (_go) ishowM} def /IWE0 {WE0 370 sub 25 idiv} def /IWE1 {WE1 370 sub 25 idiv} def /IWE2 {WE2 370 sub 25 idiv} def /xpWE0 {0100 300 IWE0 mul add} def /xpWE1 {0100 300 IWE1 mul add} def /xpWE2 {0100 300 IWE2 mul add} def /XnWE0 {tfi IWE0 get exec WE0 6 string cvs bshowM} def /XnWE1 {tfi IWE1 get exec WE1 6 string cvs bshowM} def /XnWE2 {tfi IWE2 get exec WE2 6 string cvs bshowM} def /XtWE0 {tfi IWE0 get exec tti IWE0 get exec bishowM} def /XtWE1 {tfi IWE1 get exec tti IWE1 get exec bishowM} def /XtWE2 {tfi IWE2 get exec tti IWE2 get exec bishowM} def /XtWE0i {tfi IWE0 get exec tti IWE0 get exec ishowK} def /XtWE1i {tfi IWE1 get exec tti IWE1 get exec ishowK} def /XtWE2i {tfi IWE2 get exec tti IWE2 get exec ishowK} def /XnWE0i {tfi IWE0 get exec WE0 6 string cvs ishowK} def /XnWE1i {tfi IWE1 get exec WE1 6 string cvs ishowK} def /XnWE2i {tfi IWE2 get exec WE2 6 string cvs ishowK} def /tfWE0 {tfi IWE0 get exec} def /tfWE1 {tfi IWE1 get exec} def /tfWE2 {tfi IWE2 get exec} def /cvsshoW0 {10 mul 0.5 add cvi 0.1 mul 10 string cvs show} def /cvsshow1 {10 mul 0.5 add cvi 0.1 mul %new980310 dup 0 ge {( ) show} if dup abs 10 lt {( ) show} if 10 string cvs show} def /cvsshow2 {100 mul 0.5 add cvi 0.01 mul %new980310 dup 0 ge {( ) show} if dup abs 10 lt {( ) show} if 10 string cvs show} def /cvsshow3 {1000 mul 0.5 add cvi 0.001 mul 10 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /MULX 0600 def /MULY 1200 0.8 mul def %/MULY1 1200 0.8 mul 1 mul def /JPPM 4 def /CY 0.35 def /CX 50 def /proc_curve_MUY {%190801 BEG proc_curve_MUY 0 3 72 {/i exch def %i=0,75 ab 380nm bis 710nm i 0 eq {%i=0 /xst {Xi i get 550 sub CX div MULX mul} bind def /yst {IORY Yi i get MUY mul add} bind def xst yst moveto } if %i=0 /xst {Xi i get 550 sub CX div MULX mul} bind def /yst {IORY Yi i get MUY mul add} bind def /x20 {Xi i 1 add get 550 sub CX div MULX mul} bind def /y20 {IORY Yi i 1 add get MUY mul add} bind def /x21 {Xi i 2 add get 550 sub CX div MULX mul} bind def /y21 {IORY Yi i 2 add get MUY mul add} bind def /x22 {Xi i 3 add get 550 sub CX div MULX mul} bind def /y22 {IORY Yi i 3 add get MUY mul add} bind def x20 y20 x21 y21 x22 y22 curveto } for %i=0,75 ab 380nm bis 710nm stroke } bind def %END proc_curve_MUY %***************************************************************** /proc_linef_MUY {%190801 BEG proc_linef_MUY i1 1 i3 {/i exch def %i=0,75 ab 380nm bis 710nm i i1 eq {%i=i1 /xst {Xni i get 550 sub CX div MULX mul} bind def /yst {IORY Yi i get MUY mul add} bind def xst yst moveto } if %i=i1 i i3 le {/xpos {Xni i get 550 sub CX div MULX mul} bind def /ypos {IORY Yi i get MUY mul add} bind def xpos ypos lineto } if i i3 eq {closepath fill} if } for %i=0,75 ab 380nm bis 710nm } bind def %END proc_linef_MUY %************************************************************* /Xni 88 array def %new Xi /Xi 88 array def /Yi 88 array def /Yi00 88 array def %WE0n linear /Yi01 88 array def /Yi02 88 array def %WE1n linear /Yi03 88 array def /Yi04 88 array def %WE2n linear /Yi05 88 array def /Yi06 88 array def %WE0n log /Yi07 88 array def /Yi08 88 array def %WE1n log /Yi09 88 array def /Yi10 88 array def %WE2n log /Yi11 88 array def %************************************************************ /proc_LMS_func {%190801 BEG proc_LMS_func 0 1 76 {/i exch def %i=0,1,76 Xi i i 5 mul 380 add put /YEXP Xi i get WE0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add dtsa mul def ILG 1 eq {/EYEXP EYEXP tsb add log def} if Yi00 i EYEXP put /YEXP Xi i get WE1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add dtsa mul def ILG 1 eq {/EYEXP EYEXP tsb add log def} if Yi01 i EYEXP put /YEXP Xi i get WE2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add dtsa mul def ILG 1 eq {/EYEXP EYEXP tsb add log def} if Yi02 i EYEXP put %log of linear summation 0.5(Yi00+Yi02) Yi03 i Yi00 i get Yi02 i get add 0.5 mul put %log of linear summation 0.5(Yi00+Yi02) normalized and Yi04 i Yi00 i get Yi02 i get add 0.5 mul funcWE1_WE0 neg add put % 10 funcWE1_WE0 exp div put %linear difference Yi00-Yi03 Yi05 i Yi00 i get Yi03 i get sub put %linear difference Yi02-Yi03 Yi06 i Yi02 i get Yi03 i get sub put } for %i=0,1,76 } bind def %END proc_LMS_func %************************************************ /proc_LMS_thre {%190801 BEG proc_LMS_thre /ydelt 225 def /YEXP funcWE1_WE2 def /EYEXP 10 YEXP exp tsa add def /YEXP EYEXP log def xts yts 0 ydelt mul sub moveto (maximum) bshowK xts yts 1 ydelt mul sub moveto (log\050) bshowK XtWE1 Xga tfw (m) ishowK (\051=-) bshowK YEXP dup 0 lt {neg} if cvsshow2x xts yts 2 ydelt mul sub moveto XtWE1 Xga tfw (m) ishowK (=) bshowK EYEXP cvsshow2x xts yts 3 ydelt mul sub moveto TBK (Threshold) showen (Schwelle) showde xts yts 4 ydelt mul sub moveto (t) bshowK (a) ishowK (=) bshowK tsa cvsshow2x (, ) show (t) bshowK (b) ishowK (=) bshowK tsb cvsshow2x } bind def %END proc_LMS_thre %*********************************************** /proc_LMS_titl2 {%190801 BEG proc_LMS_titl2 proc_LMS_tit0 proc_LMS_tit2r } bind def %END proc_LMS_titl2 %*********************************************** /proc_LMS_tit0 {%190801 BEG proc_LMS_tit0 300 3500 add -150 moveto IRS 0 eq {(R:) show}{(S:) show} ifelse tfn WE0 cvishow (, ) show WE1 cvishow (, ) show WE2 cvishow %special not possible WE1 557 eq {%WE1=557 /XtWE1 {tfi 14 get exec tti 14 get exec bishowM} def %/XnWE1 {tfi 14 get exec % WE1 6 string cvs bshowM} def /XtWE1i {tfi 14 get exec tti 14 get exec ishowK} def /XnWE1i {tfi 14 get exec WE1 6 string cvs ishowK} def %/tfWE1 {tfi 14 get exec} def } if %WE1=557 010 3800 moveto tfw TBM (logarithm. ) showde (logarithmic ) showen XtWE1 Xga tfw (, ) show XtWE1 Xgo tfw TBM (, ) show XtWE0 Xo IRS 1 eq {tfw TBM (/) show XtWE1 Xga} if (, ) show XtWE2 Xo IRS 1 eq {tfw TBM (/) show XtWE1 Xga} if IRS 0 eq {tfw TBM (\255Daten) showde ( data) showen} if 010 3500 moveto tfw (log) bshowM 20 0 rmoveto XtWE1 Xga tfw (=\050) bshowM 20 0 rmoveto (log) bshowM 20 0 rmoveto XtWE0 Xo 20 0 rmoveto tfw (+log) bshowM 20 0 rmoveto XtWE2 Xo tfw (\051/2) bshowM /funcWE1_WE0 WE1 WE0 sub CX div dup mul CY mul neg def /funcWE1_WE2 WE1 WE2 sub CX div dup mul CY mul neg def 010 3200 moveto tfw (log) bshowM 20 0 rmoveto XtWE1 Xgo tfw (=) bshowM tfw (log) bshowM 20 0 rmoveto XtWE1 Xga tfw (+) bshowM funcWE1_WE0 neg cvsshow2x 010 2900 moveto (log[) bshowM XtWE1 Xgo tfw (, ) bshowM XtWE1 Xga tfw (, ) bshowM XtWE0 Xo IRS 1 eq {tfw (/) bshowM XtWE1 Xga} if tfw (, ) bshowM XtWE2 Xo IRS 1 eq {tfw (/) bshowM XtWE1 Xga} if tfw (]) bshowM 3850 3800 moveto tfw (u) bishowM 0 -60 rmoveto (l) outSK 0 10 rmoveto (=\050) bshowM (l) outSM (-550\051/50) bshowM 2900 3500 moveto tfw (log) bshowM 20 0 rmoveto XtWE0 Xo 20 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM XnWE0i (]) TBM tfw show (2) ebshowM 2900 3200 moveto tfw (log) bshowM 20 0 rmoveto XtWE2 Xo 20 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM XnWE2i (]) TBM tfw show (2) ebshowM 3100 2900 moveto tfw (Adaptation: ) bshowM tfw (l) outSM XtWE0i XtWE2i tfw (=) bshowM XnWE1 } bind def %END proc_LMS_tit0 %********************************************* /proc_LMS_tit2r {%190801 BEG proc_LMS_tit2r 3850 3800 moveto tfw (u) bishowM 0 -60 rmoveto (l) outSK 0 10 rmoveto (=\050) bshowM (l) outSM (-550\051/50) bshowM 2900 3500 moveto tfw (log) bshowM 20 0 rmoveto XtWE0 Xo 20 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM XnWE0i (]) TBM tfw show (2) ebshowM 2900 3200 moveto tfw (log) bshowM 20 0 rmoveto XtWE2 Xo 20 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM XnWE2i (]) TBM tfw show (2) ebshowM 3100 2900 moveto tfw (Adaptation: ) bshowM tfw (l) outSM XtWE0i XtWE2i tfw (=) bshowM XnWE1 } bind def %END proc_LMS_tit2r %******************************************************** /proc_LMS_axi0 {%190801 BEG proc_LMS_axi0 TBM /tx [ (400) (500) (600) (700)] def /tyl [(0,0) () (0,5) () (1,0)] def /tyl2 [( 0) () ( 1) () ( 2)] def /tye [(-2) () (-1) () ( 0)] def /tys [(-1) ( ) ( 0) ( ) ( 1) ] def /tu [ (-3) (-1) ( 1) ( 3)] def /tyu [(-1,0) ( ) (-0,5) ( ) ( 0,0)] def /tys2 [(-0,5) ( ) ( 0,0) ( ) ( 0,5) ] def %!u-Achse: 100 Einheiten = 1200 Skalen-Einheiten 0 1 3 {/i exch def %i=0,3 /ixt {100 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt 100 moveto tu i get exec show } for %i=0,3 % 550 nm; u=0.0 /ixt -180 1.50 1200 mul add def /ixl 240 1.50 1200 mul add def tf550 ixt 350 add 100 moveto (0) show /ixt 20 1860 add def ixt -320 moveto (550) show ixl 75 moveto 0 -150 rlineto stroke 4700 450 sub 050 350 sub moveto tfw (l) outSM 20 0 rmoveto (/nm) bshowM 5000 450 sub 450 350 sub moveto (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto %!x-Achse: 100 Einheiten = 1200 Skalen-Einheiten tfw 0 1 3 {/i exch def /ixt {070 i 1200 mul add} def /ixl {240 i 1200 mul add} def ixt -300 moveto tx i get exec show ixl 75 moveto 0 -150 rlineto stroke } for %no !y-Achse: 100 S-Einheiten = 960 = 1200*0.8 Skalen-Einheiten } bind def %END proc_LMS_axi0 %******************************************* /proc_LMS_axis {%190801 BEG proc_LMS_axis proc_LMS_axi0 %without y-axis %!y-Axis: 100 S-Einheiten = 960 = 1200*0.8 Skal units 0 1 4 {/i exch def /iyt {150 i 0480 mul add} def /iyl {240 i 0480 mul add} def -350 iyt moveto IRS 0 eq {tye}{tys} ifelse i get exec show -075 iyl moveto 150 0 rlineto stroke } for } bind def %END proc_LMS_axis %************************************************************** /proc_LMS_spet {%190803 BEG proc_LMS_spet %special text %reference position: 370, 420, 470, 520, 570, 620, 670, 720 %xpWEi=100+600j 0100,0700,1300,1900,2500,3100,3700,4300 /xpos0 0100 300 IWE0 mul add def /xpos1 0100 300 IWE1 mul add def /xpos2 0100 300 IWE2 mul add def xchartl 0 eq {%xchartl =0 xpos0 100 sub 2200 moveto XtWE0 Xo xpos2 250 add 2200 moveto XtWE2 Xo xpos1 050 add 1750 moveto XtWE1 Xga } if %xchartl =0 xchartl 2 eq {%xchartl =2 xpos0 100 sub 2200 moveto XtWE0 Xo xpos2 250 add 2200 moveto XtWE2 Xo xpos1 050 add 1750 moveto XtWE1 Xga } if %xchartl =2 xchartl 4 eq {%xchartl =4 xpos0 100 sub 2200 moveto XtWE0 Xo xpos2 250 add 2200 moveto XtWE2 Xo xpos1 050 add 1750 moveto XtWE1 Xga } if %xchartl =4 xchartl 6 eq {%xchartl =6 xpos0 100 sub 2200 moveto XtWE0 Xo xpos2 250 add 2200 moveto XtWE2 Xo xpos1 050 add 1750 moveto XtWE1 Xga } if %xchartl =6 %reference position: 370, 420, 470, 520, 570, 620, 670, 720 %xpWEi=100+600j 0100,0700,1300,1900,2500,3100,3700,4300 xchartl 1 eq {%xchartl =1 %WE1=470(1300) xpos1 750 sub 1700 moveto XtWE0 Xo tfw (/) bshowM XtWE1 Xga xpos1 650 add 1700 moveto XtWE2 Xo tfw (/) bshowM XtWE1 Xga xpos1 000 add 1900 moveto XtWE1 Xgo xpos1 050 add 0900 moveto XtWE1 Xga } if %xchartl =1 xchartl 3 eq {%xchartl =3 %WE1=520(1900) xpos1 750 sub 1700 moveto XtWE0 Xo tfw (/) bshowM XtWE1 Xga xpos1 650 add 1700 moveto XtWE2 Xo tfw (/) bshowM XtWE1 Xga xpos1 000 add 1900 moveto XtWE1 Xgo xpos1 050 add 0900 moveto XtWE1 Xga } if %xchartl =3 xchartl 5 eq {%xchartl =5 %WE1=570(2500) xpos1 750 sub 1700 moveto XtWE0 Xo tfw (/) bshowM XtWE1 Xga xpos1 650 add 1700 moveto XtWE2 Xo tfw (/) bshowM XtWE1 Xga xpos1 000 add 1900 moveto XtWE1 Xgo xpos1 050 add 0900 moveto XtWE1 Xga } if %xchartl =5 xchartl 7 eq {%xchartl =7 %WE1=620(3100) xpos1 750 sub 1700 moveto XtWE0 Xo tfw (/) bshowM XtWE1 Xga xpos1 650 add 1700 moveto XtWE2 Xo tfw (/) bshowM XtWE1 Xga xpos1 000 add 1900 moveto XtWE1 Xgo xpos1 050 add 0900 moveto XtWE1 Xga } if %xchartl =7 } bind def %END proc_LMS_spet /proc_LMS_names {%190805 proc_LMS_names %output allways text italic /Xt370 {tf370 (X) bishowM} def /Xt395 {tf395 (U) bishowM} def /Xt420 {tf420 (T) bishowM} def /Xt445 {tf445 (S) bishowM} def /Xt470 {tf470 (B) bishowM} def /Xt495 {tf495 (C) bishowM} def /Xt520 {tf520 (G) bishowM} def /Xt545 {tf545 (M) bishowM} def /Xt557 {tfw (V) bishowM} def /Xt570 {tf570 (L) bishowM} def /Xt595 {tf595 (O) bishowM} def /Xt620 {tf620 (R) bishowM} def /Xt645 {tf645 (W) bishowM} def /Xt670 {tf670 (I) bishowM} def /Xt695 {tf695 (Y) bishowM} def /Xt720 {tf720 (Z) bishowM} def %output allways number normal /Xn370 {tf370 (370) bshowM} def /Xn395 {tf395 (395) bshowM} def /Xn420 {tf420 (420) bshowM} def /Xn445 {tf445 (445) bshowM} def /Xn470 {tf470 (470) bshowM} def /Xn495 {tf495 (495) bshowM} def /Xn520 {tf520 (520) bshowM} def /Xn545 {tf545 (545) bshowM} def /Xn557 {tfw (557) bshowM} def /Xn570 {tf570 (570) bshowM} def /Xn595 {tf595 (595) bshowM} def /Xn620 {tf620 (620) bshowM} def /Xn645 {tf645 (645) bshowM} def /Xn670 {tf670 (670) bshowM} def /Xn695 {tf695 (695) bshowM} def /Xn720 {tf720 (720) bshowM} def %output allways text index /Xt370i {tf370 (X) ishowK} def /Xt395i {tf395 (U) ishowK} def /Xt420i {tf420 (T) ishowK} def /Xt445i {tf445 (S) ishowK} def /Xt470i {tf470 (B) ishowK} def /Xt495i {tf495 (C) ishowK} def /Xt520i {tf520 (G) ishowK} def /Xt545i {tf545 (M) ishowK} def /Xt557i {tfw (V) ishowK} def /Xt570i {tf570 (L) ishowK} def /Xt595i {tf595 (O) ishowK} def /Xt620i {tf620 (R) ishowK} def /Xt645i {tf645 (W) ishowK} def /Xt670i {tf670 (I) ishowK} def /Xt695i {tf695 (Y) ishowK} def /Xt720i {tf720 (Z) ishowK} def %output allways number index /Xn370i {tf370 (370) ishowK} def /Xn395i {tf395 (395) ishowK} def /Xn420i {tf420 (420) ishowK} def /Xn445i {tf445 (445) ishowK} def /Xn470i {tf470 (470) ishowK} def /Xn495i {tf495 (495) ishowK} def /Xn520i {tf520 (520) ishowK} def /Xn545i {tf545 (545) ishowK} def /Xn557i {tfw (557) ishowK} def /Xn570i {tf570 (570) ishowK} def /Xn595i {tf595 (595) ishowK} def /Xn620i {tf620 (620) ishowK} def /Xn645i {tf620 (645) ishowK} def /Xn670i {tf670 (670) ishowK} def /Xn695i {tf695 (695) ishowK} def /Xn720i {tf720 (720) ishowK} def %wavelength for calculation /W370 370 def /W395 395 def /W420 420 def /W445 445 def /W470 470 def /W495 495 def /W520 520 def /W545 545 def /W557 557.5 def /W570 570 def /W595 595 def /W620 620 def /W645 645 def /W670 670 def /W695 695 def /W720 720 def } bind def %END proc_LMS_names %**************************************************** %%EndProlog gsave %LANINDL2 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 /showm {6 lanind eq {show} {pop} ifelse} bind def /popde {0 lanind ne {pop} if} bind def /popen {1 lanind ne {pop} if} bind def /popes {2 lanind ne {pop} if} bind def /popfr {3 lanind ne {pop} if} bind def /popit {4 lanind ne {pop} if} bind def /popjp {5 lanind ne {pop} if} bind def /popm {6 lanind ne {pop} if} bind def /popxde {/n exch def 0 lanind ne {n {pop} repeat} if} bind def /popxen {/n exch def 1 lanind ne {n {pop} repeat} if} bind def /popxes {/n exch def 2 lanind ne {n {pop} repeat} if} bind def /popxfr {/n exch def 3 lanind ne {n {pop} repeat} if} bind def /popxit {/n exch def 4 lanind ne {n {pop} repeat} if} bind def /popxjp {/n exch def 5 lanind ne {n {pop} repeat} if} bind def /popxm {/n exch def 6 lanind ne {n {pop} repeat} if} bind def /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 /lanindg where {pop /lanind1 lanindg def /lanind2 lanindg def} {/lanind1 1 def /lanind2 1 def} ifelse /xcolorg where {pop /xcolor xcolorg def} {/xcolor 0 def} ifelse /xchartg where {pop /xchart xchartg def} {/xchart 0 def} ifelse /lanind lanind1 def %lanind1 1 lanind2 {/lanind exch def %output showpage gsave 70 90 translate 0.01 MM dup scale 20 setlinewidth /rtext 0 def rtext 1 eq {%if rtext=1 20 setlinewidth 0 0 11600 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey 0 0 11600 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz 150 /Times-ISOL1 FS 100 -150 moveto (EE420-7R) show %(_) show xchartx 1 add cvishow } if %rtext=1 /xchartl 7 def %0 1 07 {/xchartl exch def %xchartl=0,15 gsave % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6100 13000 translate} if % xchartl 2 eq { 100 08750 translate} if % xchartl 3 eq { 6100 08750 translate} if % xchartl 4 eq { 100 4500 translate} if % xchartl 5 eq { 6100 4500 translate} if % xchartl 6 eq { 100 0250 translate} if % xchartl 7 eq { 6100 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 100 -150 moveto (EE420-) show xchartl 1 add cvishow (A) show %A %(_) show xchartx 1 add cvishow /ibil 0 def /ILK 2 def /ILS 0 def /ILT 0 def/ILU 1 def /IKOM 3 def %N curve, not used /ILN 3 def %U&T /JPPM 3 def %three curves ILT 0 eq {/tsa 0.000 def /dtsa 1 1 tsa add div def} if ILT 1 eq {/tsa 0.007 def} if /tsb 0.000 def 30 setlinewidth [ ] 0 setdash 0.0 0.0 0.0 0.5 setcmykcolor 0 0 moveto 5400 0 rlineto 0 4000 rlineto -5400 0 rlineto closepath fill 0 setgray 150 /Times-ISOL1 FS gsave %start because of clip proc_LMS_names %***************************************************************** xchartl 0 eq {%xchartl=0, R:420,470,..,670) show /WE0 520 def /WE1 570 def /WE2 620 def /IRS 0 def /ILG 1 def 0700 2600 moveto Xn420 1300 2600 moveto Xn470 1900 2600 moveto XnWE0 2500 2600 moveto XnWE1 3100 2600 moveto XnWE2 3700 2600 moveto Xn670 010 3800 moveto tfw TBM (logarithmic. ) showde (logarithmic ) showen Xt420 Xo tfw (, ) bshowM Xt470 Xo tfw (, ) bshowM XtWE0 Xo tfw (, ) bshowM XtWE1 Xo tfw (, ) bshowM XtWE2 Xo tfw (, ) bshowM Xt670 Xo %tfw TBM (\255Daten) showde ( data) showen 0010 3500 moveto tfw (log) bshowM 30 0 rmoveto Xt420 Xo 50 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM Xn420i (]) TBM tfw show (2) ebshowM /funcWE1_WE0 570 520 sub CX div dup mul CY mul neg def /funcWE1_WE2 570 520 sub CX div dup mul CY mul neg def /lfuncWE1_WE0 10 funcWE1_WE0 exp tsa add def 0010 3200 moveto tfw (log) bshowM 30 0 rmoveto Xt470 Xo 50 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM Xn470i (]) TBM tfw show (2) ebshowM 0010 2900 moveto tfw (log) bshowM 30 0 rmoveto Xt670 Xo 50 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM Xn670i (]) TBM tfw show (2) ebshowM 3850 3800 moveto tfw (u) bishowM 0 -60 rmoveto (l) outSK 0 10 rmoveto (=\050) bshowM (l) outSM (-550\051/50) bshowM 2900 3500 moveto tfw (log) bshowM 30 0 rmoveto XtWE0 Xo 50 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM XnWE0i (]) TBM tfw show (2) ebshowM 2900 3200 moveto tfw (log) bshowM 30 0 rmoveto XtWE1 Xo 50 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM XnWE1i (]) TBM tfw show (2) ebshowM 2900 2900 moveto tfw (log) bshowM 30 0 rmoveto XtWE2 Xo 50 0 rmoveto tfw (=-0,35[) bshowM (u) bishowM 0 -60 rmoveto (l) outSK 0 60 rmoveto (-) bshowM (u) bishowM XnWE2i (]) TBM tfw show (2) ebshowM 4150 2600 moveto tfw (Adaptation) bshowM 4500 2300 moveto tfw (l) outSM XtWE0i XtWE2i tfw (=) bshowM XnWE1 tfw 450 350 translate 40 setlinewidth 0 0 moveto 340 12 mul 0 rlineto stroke 0 0 moveto 0 2700 0.8 mul rlineto stroke 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke proc_LMS_axis /yta 0 def ILS 0 ne ILT 1 eq and {/yta 650 def} if /xts -150 3 1200 mul add def %special /yts 500 3 0480 mul add yta add def %special proc_LMS_thre 40 setlinewidth %Cero point at 550 nm /X0T {550 380 sub 12 mul} def X0T 0 translate 0 setlinewidth % fuer clip 0.0 0.0 0.0 0.5 setcmykcolor /Y0C 050 def /Y1C 2450 def X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto -4650 0 rlineto 0 Y1C neg rlineto clip stroke 0 1 76 {/i exch def %i=0,1,76 Xi i i 5 mul 380 add put /YEXP Xi i get W420 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def /EYEXP EYEXP log def Yi00 i EYEXP put /YEXP Xi i get W470 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def /EYEXP EYEXP log def Yi01 i EYEXP put /YEXP Xi i get W520 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def /EYEXP EYEXP log def Yi02 i EYEXP put /YEXP Xi i get W570 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def /EYEXP EYEXP log def Yi03 i EYEXP put /YEXP Xi i get W620 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def /EYEXP EYEXP log def Yi04 i EYEXP put /YEXP Xi i get W670 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def /EYEXP EYEXP log def Yi05 i EYEXP put %linear summation 0.5(Yi02+Yi04) Yi06 i Yi02 i get Yi04 i get add 0.5 mul put %linear summation 0.5(Yi02+Yi04) normalized Yi07 i Yi02 i get Yi04 i get add 0.5 mul funcWE1_WE0 neg add put % 10 funcWE1_WE0 exp div put %linear difference Yi02-Yi06 Yi08 i Yi02 i get Yi06 i get sub put %linear difference Yi04-Yi06 Yi09 i Yi04 i get Yi06 i get sub put } for %i=0,1,76 40 setlinewidth /IORY 2700 0.8 mul def %0 480 2 mul neg translate /JPPM 9 def 0 1 JPPM {/jkurv exch def %jkurv=0,3 [ ] 0 setdash %usually continues curves jkurv 00 eq {tf420 [100 100] 0 setdash} if jkurv 01 eq {tf470 [100 100] 0 setdash} if jkurv 02 eq {tf520 [100 100] 0 setdash} if jkurv 03 eq {tf570 [] 0 setdash} if jkurv 04 eq {tf620 [100 100] 0 setdash} if jkurv 05 eq {tf670 [100 100] 0 setdash} if jkurv 06 eq {tf570 [] 0 setdash} if jkurv 07 eq {tf570 [] 0 setdash} if jkurv 08 eq {tf520 [100 100] 0 setdash} if jkurv 09 eq {tf620 [100 100] 0 setdash} if 0 1 76 {/i exch def jkurv 00 eq {Yi i Yi00 i get put} if jkurv 01 eq {Yi i Yi01 i get put} if jkurv 02 eq {Yi i Yi02 i get put} if jkurv 03 eq {Yi i Yi03 i get put} if jkurv 04 eq {Yi i Yi04 i get put} if jkurv 05 eq {Yi i Yi05 i get put} if jkurv 06 eq {Yi i Yi06 i get put} if jkurv 07 eq {Yi i Yi07 i get put} if jkurv 08 eq {Yi i Yi08 i get put} if jkurv 09 eq {Yi i Yi09 i get put} if } for % 0 1 2 3 4 5 6 7 8 9 10 11 12 /kurvi [1 1 1 1 1 1 0 0 0 0 0 0 0] def kurvi jkurv get 1 eq {%kurvi=1 /MUY MULY def proc_curve_MUY } if %kurvi=1 } for %jkurv=0,JPPM /iout 0 def iout 1 eq {%iout=1 %additionally dashed curve, no. 6 [100 100] 0 setdash %dashed curves /jkurv 06 def %no. 6 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi06 i get put %no. 6 } for /MUY MULY def proc_curve_MUY %additionally dashed curve, no. 7 [50 100] 0 setdash %dashed curves /jkurv 07 def %no. 7 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi07 i get put %no. 7 } for /MUY MULY def proc_curve_MUY } if %iout=1 %0 480 2 mul translate } if %xchartl=0 %***************************************************************** xchartl 1 eq {%xchartl=1, S:420,470,520 /WE0 420 def /WE1 470 def /WE2 520 def /IRS 1 def /ILG 1 def proc_LMS_titl2 xpWE0 150 sub 2600 moveto XnWE0 xpWE1 2600 moveto XnWE1 xpWE2 150 add 2600 moveto XnWE2 proc_LMS_spet tfw 450 350 translate 40 setlinewidth 0 0 moveto 340 12 mul 0 rlineto stroke 0 0 moveto 0 2700 0.8 mul rlineto stroke 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke 0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke proc_LMS_axis /yta 0 def ILS 0 ne ILT 1 eq and {/yta 650 def} if /xts -150 3 1200 mul add def /yts 500 3 0480 mul add yta add def proc_LMS_thre 40 setlinewidth %Cero point at 550 nm /X0T {550 380 sub 12 mul} def X0T 0 translate 0 setlinewidth % fuer clip 0.0 0.0 0.0 0.5 setcmykcolor /Y0C 050 def /Y1C 2450 def X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto -4650 0 rlineto 0 Y1C neg rlineto clip stroke proc_LMS_func 40 setlinewidth /IORY 2700 0.8 mul def 0 480 2 mul neg translate /JPPM 6 def 0 1 JPPM {/jkurv exch def %jkurv=0,3 [ ] 0 setdash %usually continues curves jkurv 00 eq {tfWE0 [100 100] 0 setdash} if jkurv 01 eq {tfWE1 [100 100] 0 setdash} if jkurv 02 eq {tfWE2 [100 100] 0 setdash} if jkurv 03 eq {tfWE1} if jkurv 04 eq {tfWE1} if jkurv 05 eq {tfWE0 [100 100] 0 setdash} if jkurv 06 eq {tfWE2 [100 100] 0 setdash} if 0 1 76 {/i exch def jkurv 00 eq {Yi i Yi00 i get put} if jkurv 01 eq {Yi i Yi01 i get put} if jkurv 02 eq {Yi i Yi02 i get put} if jkurv 03 eq {Yi i Yi03 i get put} if jkurv 04 eq {Yi i Yi04 i get put} if jkurv 05 eq {Yi i Yi05 i get put} if jkurv 06 eq {Yi i Yi06 i get put} if } for % 0 1 2 3 4 5 6 7 8 9 10 11 12 /kurvi [0 0 0 1 1 1 1 0 0 0 0 0 0] def kurvi jkurv get 1 eq {%kurvi=1 /MUY MULY def proc_curve_MUY } if %kurvi=1 } for %jkurv=0,JPPM /iout 1 def iout 1 eq {%iout=1 %additionally dashed curve, no. 3 [100 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi03 i get put} for /MUY MULY def proc_curve_MUY %additionally dashed curve, no. 4 [050 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi04 i get put} for /MUY MULY def proc_curve_MUY } if %iout=1 0 480 2 mul translate X0T neg 0 translate -450 -350 translate } if %xchartl=1 %***************************************************************** xchartl 2 eq {%xchartl=2, R:470,520,570 /WE0 470 def /WE1 520 def /WE2 570 def /IRS 0 def /ILG 1 def proc_LMS_titl2 xpWE0 150 sub 2600 moveto XnWE0 xpWE1 2600 moveto XnWE1 xpWE2 150 add 2600 moveto XnWE2 proc_LMS_spet tfw 450 350 translate 40 setlinewidth 0 0 moveto 340 12 mul 0 rlineto stroke 0 0 moveto 0 2700 0.8 mul rlineto stroke 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke proc_LMS_axis /yta 0 def ILS 0 ne ILT 1 eq and {/yta 650 def} if /xts -150 3 1200 mul add def %special /yts 500 3 0480 mul add yta add def %special proc_LMS_thre 40 setlinewidth %Cero point at 550 nm /X0T {550 380 sub 12 mul} def X0T 0 translate 0 setlinewidth % fuer clip 0.0 0.0 0.0 0.5 setcmykcolor /Y0C 050 def /Y1C 2450 def X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto -4650 0 rlineto 0 Y1C neg rlineto clip stroke proc_LMS_func 40 setlinewidth /IORY 2700 0.8 mul def %0 480 4 mul neg translate /JPPM 4 def 0 1 JPPM {/jkurv exch def %jkurv=0,3 [ ] 0 setdash %usually continues curves jkurv 0 eq {tfWE0 [100 100] 0 setdash} if jkurv 1 eq {tfWE1} if jkurv 2 eq {tfWE2} if jkurv 3 eq {tfWE1} if jkurv 4 eq {tfWE1} if 0 1 76 {/i exch def jkurv 0 eq {Yi i Yi00 i get put} if jkurv 1 eq {Yi i Yi01 i get put} if jkurv 2 eq {Yi i Yi02 i get put} if jkurv 3 eq {Yi i Yi03 i get put} if jkurv 4 eq {Yi i Yi04 i get put} if } for % 0 1 2 3 4 5 6 7 8 9 10 11 12 /kurvi [1 0 1 1 1 0 0 0 0 0 0 0 0] def kurvi jkurv get 1 eq {%kurvi=1 /MUY MULY def proc_curve_MUY } if %kurvi=1 } for %jkurv=0,JPPM /iout 1 def iout 1 eq {%iout=1 %additionally dashed curve, no. 3 [100 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi03 i get put} for /MUY MULY def proc_curve_MUY %additionally dashed curve, no. 4 [050 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi04 i get put} for /MUY MULY def proc_curve_MUY } if %iout=1 %0 480 4 mul translate X0T neg 0 translate -450 -350 translate } if %xchartl=2 %***************************************************************** xchartl 3 eq {%xchartl=3, S:470,520,570 /WE0 470 def /WE1 520 def /WE2 570 def /IRS 1 def /ILG 1 def proc_LMS_titl2 xpWE0 150 sub 2600 moveto XnWE0 xpWE1 2600 moveto XnWE1 xpWE2 150 add 2600 moveto XnWE2 proc_LMS_spet tfw 450 350 translate 40 setlinewidth 0 0 moveto 340 12 mul 0 rlineto stroke 0 0 moveto 0 2700 0.8 mul rlineto stroke 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke 0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke proc_LMS_axis /yta 0 def ILS 0 ne ILT 1 eq and {/yta 650 def} if /xts -150 3 1200 mul add def /yts 500 3 0480 mul add yta add def proc_LMS_thre 40 setlinewidth %Cero point at 550 nm /X0T {550 380 sub 12 mul} def X0T 0 translate 0 setlinewidth % fuer clip 0.0 0.0 0.0 0.5 setcmykcolor /Y0C 050 def /Y1C 2450 def X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto -4650 0 rlineto 0 Y1C neg rlineto clip stroke proc_LMS_func 40 setlinewidth /IORY 2700 0.8 mul def 0 480 2 mul neg translate /JPPM 6 def 0 1 JPPM {/jkurv exch def %jkurv=0,3 [ ] 0 setdash %usually continues curves jkurv 00 eq {tfWE0 [100 100] 0 setdash} if jkurv 01 eq {tfWE1 [100 100] 0 setdash} if jkurv 02 eq {tfWE2 [100 100] 0 setdash} if jkurv 03 eq {tfWE1} if jkurv 04 eq {tfWE1} if jkurv 05 eq {tfWE0 [100 100] 0 setdash} if jkurv 06 eq {tfWE2 [100 100] 0 setdash} if 0 1 76 {/i exch def jkurv 00 eq {Yi i Yi00 i get put} if jkurv 01 eq {Yi i Yi01 i get put} if jkurv 02 eq {Yi i Yi02 i get put} if jkurv 03 eq {Yi i Yi03 i get put} if jkurv 04 eq {Yi i Yi04 i get put} if jkurv 05 eq {Yi i Yi05 i get put} if jkurv 06 eq {Yi i Yi06 i get put} if } for % 0 1 2 3 4 5 6 7 8 9 10 11 12 /kurvi [0 0 0 1 1 1 1 0 0 0 0 0 0] def kurvi jkurv get 1 eq {%kurvi=1 /MUY MULY def proc_curve_MUY } if %kurvi=1 } for %jkurv=0,JPPM /iout 1 def iout 1 eq {%iout=1 %additionally dashed curve, no. 3 [100 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi03 i get put} for /MUY MULY def proc_curve_MUY %additionally dashed curve, no. 4 [050 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi04 i get put} for /MUY MULY def proc_curve_MUY } if %iout=1 0 480 2 mul translate X0T neg 0 translate -450 -350 translate } if %xchartl=3 %***************************************************************** xchartl 4 eq {%xchartl=4, R:520,570,620 /WE0 520 def /WE1 570 def /WE2 620 def /IRS 0 def /ILG 1 def proc_LMS_titl2 xpWE0 150 sub 2600 moveto XnWE0 xpWE1 2600 moveto XnWE1 xpWE2 150 add 2600 moveto XnWE2 proc_LMS_spet tfw 450 350 translate 40 setlinewidth 0 0 moveto 340 12 mul 0 rlineto stroke 0 0 moveto 0 2700 0.8 mul rlineto stroke 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke proc_LMS_axis /yta 0 def ILS 0 ne ILT 1 eq and {/yta 650 def} if /xts -150 3 1200 mul add def %special /yts 500 3 0480 mul add yta add def %special proc_LMS_thre 40 setlinewidth %Cero point at 550 nm /X0T {550 380 sub 12 mul} def X0T 0 translate 0 setlinewidth % fuer clip 0.0 0.0 0.0 0.5 setcmykcolor /Y0C 050 def /Y1C 2450 def X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto -4650 0 rlineto 0 Y1C neg rlineto clip stroke proc_LMS_func 40 setlinewidth /IORY 2700 0.8 mul def %0 480 4 mul neg translate /JPPM 4 def 0 1 JPPM {/jkurv exch def %jkurv=0,3 [ ] 0 setdash %usually continues curves jkurv 0 eq {tfWE0 [100 100] 0 setdash} if jkurv 1 eq {tfWE1} if jkurv 2 eq {tfWE2 [100 100] 0 setdash} if jkurv 3 eq {tfWE1} if jkurv 4 eq {tfWE1} if 0 1 76 {/i exch def jkurv 0 eq {Yi i Yi00 i get put} if jkurv 1 eq {Yi i Yi01 i get put} if jkurv 2 eq {Yi i Yi02 i get put} if jkurv 3 eq {Yi i Yi03 i get put} if jkurv 4 eq {Yi i Yi04 i get put} if } for % 0 1 2 3 4 5 6 7 8 9 10 11 12 /kurvi [1 0 1 1 1 0 0 0 0 0 0 0 0] def kurvi jkurv get 1 eq {%kurvi=1 /MUY MULY def proc_curve_MUY } if %kurvi=1 } for %jkurv=0,JPPM /iout 1 def iout 1 eq {%iout=1 %additionally dashed curve, no. 3 [100 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi03 i get put} for /MUY MULY def proc_curve_MUY %additionally dashed curve, no. 4 [050 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi04 i get put} for /MUY MULY def proc_curve_MUY } if %iout=1 %0 480 4 mul translate X0T neg 0 translate -450 -350 translate } if %xchartl=4 %***************************************************************** xchartl 5 eq {%xchartl=5, S:520,570,620 /WE0 520 def /WE1 570 def /WE2 620 def /IRS 1 def /ILG 1 def proc_LMS_titl2 xpWE0 150 sub 2600 moveto XnWE0 xpWE1 2600 moveto XnWE1 xpWE2 150 add 2600 moveto XnWE2 proc_LMS_spet tfw 450 350 translate 40 setlinewidth 0 0 moveto 340 12 mul 0 rlineto stroke 0 0 moveto 0 2700 0.8 mul rlineto stroke 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke 0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke proc_LMS_axis /yta 0 def ILS 0 ne ILT 1 eq and {/yta 650 def} if /xts -150 3 1200 mul add def /yts 500 3 0480 mul add yta add def proc_LMS_thre 40 setlinewidth %Cero point at 550 nm /X0T {550 380 sub 12 mul} def X0T 0 translate 0 setlinewidth % fuer clip 0.0 0.0 0.0 0.5 setcmykcolor /Y0C 050 def /Y1C 2450 def X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto -4650 0 rlineto 0 Y1C neg rlineto clip stroke proc_LMS_func 40 setlinewidth /IORY 2700 0.8 mul def 0 480 2 mul neg translate /JPPM 6 def 0 1 JPPM {/jkurv exch def %jkurv=0,3 [ ] 0 setdash %usually continues curves jkurv 00 eq {tfWE0 [100 100] 0 setdash} if jkurv 01 eq {tfWE1 [100 100] 0 setdash} if jkurv 02 eq {tfWE2 [100 100] 0 setdash} if jkurv 03 eq {tfWE1} if jkurv 04 eq {tfWE1} if jkurv 05 eq {tfWE0 [100 100] 0 setdash} if jkurv 06 eq {tfWE2 [100 100] 0 setdash} if 0 1 76 {/i exch def jkurv 00 eq {Yi i Yi00 i get put} if jkurv 01 eq {Yi i Yi01 i get put} if jkurv 02 eq {Yi i Yi02 i get put} if jkurv 03 eq {Yi i Yi03 i get put} if jkurv 04 eq {Yi i Yi04 i get put} if jkurv 05 eq {Yi i Yi05 i get put} if jkurv 06 eq {Yi i Yi06 i get put} if } for % 0 1 2 3 4 5 6 7 8 9 10 11 12 /kurvi [0 0 0 1 1 1 1 0 0 0 0 0 0] def kurvi jkurv get 1 eq {%kurvi=1 /MUY MULY def proc_curve_MUY } if %kurvi=1 } for %jkurv=0,JPPM /iout 1 def iout 1 eq {%iout=1 %additionally dashed curve, no. 3 [100 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi03 i get put} for /MUY MULY def proc_curve_MUY %additionally dashed curve, no. 4 [050 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi04 i get put} for /MUY MULY def proc_curve_MUY } if %iout=1 0 480 2 mul translate X0T neg 0 translate -450 -350 translate } if %xchartl=5 %************************************************ xchartl 6 eq {%xchartl=6, R:570,620,670 /WE0 570 def /WE1 620 def /WE2 670 def /IRS 0 def /ILG 1 def proc_LMS_titl2 xpWE0 150 sub 2600 moveto XnWE0 xpWE1 2600 moveto XnWE1 xpWE2 150 add 2600 moveto XnWE2 proc_LMS_spet tfw 450 350 translate 40 setlinewidth 0 0 moveto 340 12 mul 0 rlineto stroke 0 0 moveto 0 2700 0.8 mul rlineto stroke 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke proc_LMS_axis /yta 0 def ILS 0 ne ILT 1 eq and {/yta 650 def} if /xts -150 3300 sub 3 1200 mul add def %special /yts 500 3 0480 mul add yta add def %special proc_LMS_thre 40 setlinewidth %Cero point at 550 nm /X0T {550 380 sub 12 mul} def X0T 0 translate 0 setlinewidth % fuer clip 0.0 0.0 0.0 0.5 setcmykcolor /Y0C 050 def /Y1C 2450 def X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto -4650 0 rlineto 0 Y1C neg rlineto clip stroke proc_LMS_func 40 setlinewidth /IORY 2700 0.8 mul def %0 480 4 mul neg translate /JPPM 4 def 0 1 JPPM {/jkurv exch def %jkurv=0,3 [ ] 0 setdash %usually continues curves jkurv 0 eq {tfWE0} if jkurv 1 eq {tfWE1} if jkurv 2 eq {tfWE2 [100 100] 0 setdash} if jkurv 3 eq {tfWE1} if jkurv 4 eq {tfWE1} if 0 1 76 {/i exch def jkurv 0 eq {Yi i Yi00 i get put} if jkurv 1 eq {Yi i Yi01 i get put} if jkurv 2 eq {Yi i Yi02 i get put} if jkurv 3 eq {Yi i Yi03 i get put} if jkurv 4 eq {Yi i Yi04 i get put} if } for % 0 1 2 3 4 5 6 7 8 9 10 11 12 /kurvi [1 0 1 1 1 0 0 0 0 0 0 0 0] def kurvi jkurv get 1 eq {%kurvi=1 /MUY MULY def proc_curve_MUY } if %kurvi=1 } for %jkurv=0,JPPM /iout 1 def iout 1 eq {%iout=1 %additionally dashed curve, no. 3 [100 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi03 i get put} for /MUY MULY def proc_curve_MUY %additionally dashed curve, no. 4 [050 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi04 i get put} for /MUY MULY def proc_curve_MUY } if %iout=1 %0 480 4 mul translate X0T neg 0 translate -450 -350 translate } if %xchartl=6 %***************************************************************** xchartl 7 eq {%xchartl=7, R:570,620,670 /WE0 570 def /WE1 620 def /WE2 670 def /IRS 1 def /ILG 1 def proc_LMS_titl2 xpWE0 150 sub 2600 moveto XnWE0 xpWE1 2600 moveto XnWE1 xpWE2 150 add 2600 moveto XnWE2 proc_LMS_spet tfw 450 350 translate 40 setlinewidth 0 0 moveto 340 12 mul 0 rlineto stroke 0 0 moveto 0 2700 0.8 mul rlineto stroke 0 2700 0.8 mul moveto 340 12 mul 0 rlineto stroke 0 240 480 2 mul add moveto 340 12 mul 0 rlineto stroke proc_LMS_axis /yta 0 def ILS 0 ne ILT 1 eq and {/yta 650 def} if /xts -150 3400 sub 3 1200 mul add def /yts 500 3 0480 mul add yta add def proc_LMS_thre 40 setlinewidth %Cero point at 550 nm /X0T {550 380 sub 12 mul} def X0T 0 translate 0 setlinewidth % fuer clip 0.0 0.0 0.0 0.5 setcmykcolor /Y0C 050 def /Y1C 2450 def X0T neg 100 add Y0C moveto 4650 0 rlineto 0 Y1C rlineto -4650 0 rlineto 0 Y1C neg rlineto clip stroke proc_LMS_func 40 setlinewidth /IORY 2700 0.8 mul def 0 480 2 mul neg translate /JPPM 6 def 0 1 JPPM {/jkurv exch def %jkurv=0,3 [ ] 0 setdash %usually continues curves jkurv 00 eq {tfWE0 [100 100] 0 setdash} if jkurv 01 eq {tfWE1 [100 100] 0 setdash} if jkurv 02 eq {tfWE2 [100 100] 0 setdash} if jkurv 03 eq {tfWE1} if jkurv 04 eq {tfWE1} if jkurv 05 eq {tfWE0 [100 100] 0 setdash} if jkurv 06 eq {tfWE2 [100 100] 0 setdash} if 0 1 76 {/i exch def jkurv 00 eq {Yi i Yi00 i get put} if jkurv 01 eq {Yi i Yi01 i get put} if jkurv 02 eq {Yi i Yi02 i get put} if jkurv 03 eq {Yi i Yi03 i get put} if jkurv 04 eq {Yi i Yi04 i get put} if jkurv 05 eq {Yi i Yi05 i get put} if jkurv 06 eq {Yi i Yi06 i get put} if } for % 0 1 2 3 4 5 6 7 8 9 10 11 12 /kurvi [0 0 0 1 1 1 1 0 0 0 0 0 0] def kurvi jkurv get 1 eq {%kurvi=1 /MUY MULY def proc_curve_MUY } if %kurvi=1 } for %jkurv=0,JPPM /iout 1 def iout 1 eq {%iout=1 %additionally dashed curve, no. 3 [100 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi03 i get put} for /MUY MULY def proc_curve_MUY %additionally dashed curve, no. 4 [050 100] 0 setdash %dashed curves 0 0 0 1 setcmykcolor %black 0 1 76 {/i exch def Yi i Yi04 i get put} for /MUY MULY def proc_curve_MUY } if %iout=1 0 480 2 mul translate X0T neg 0 translate -450 -350 translate } if %xchartl=7 %***************************************************************** grestore %end because of clip % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if %} for %xchartl=0,07 showpage grestore %} for %output with langind end %%Trailer