%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/CG08/CG081-7A_R 20180501 %%BoundingBox: 70 85 226 206 %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: farbe.li.tu-berlin.de/CG08/CG08.HTM) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de http://130.149.60.45/~farbmetrik) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2018050112000) /ModDate (D:20180501112000) /DOCINFO pdfmark07 [ /View [ /Fit ] /DOCVIEW pdfmark07 %END PDFDE011 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /languagelevel where {pop languagelevel} {1} ifelse /PSL12 exch def /dictende {counttomark 2 idiv dup dict begin {def} repeat pop currentdict end} bind def /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /Courier findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Courier-ISOL1 exch definefont pop /Courier-Oblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierI-ISOL1 exch definefont pop /Courier-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierB-ISOL1 exch definefont pop /Courier-BoldOblique findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /CourierBI-ISOL1 exch definefont pop /TG {350 /Times-ISOL1 FS} bind def /TM {280 /Times-ISOL1 FS} bind def /TK {240 /Times-ISOL1 FS} bind def /TS {200 /Times-ISOL1 FS} bind def /TV {160 /Times-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TIM {280 /TimesI-ISOL1 FS} bind def /TIK {240 /TimesI-ISOL1 FS} bind def /TIS {200 /TimesI-ISOL1 FS} bind def /TIV {160 /TimesI-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBM {280 /TimesB-ISOL1 FS} bind def /TBK {240 /TimesB-ISOL1 FS} bind def /TBS {200 /TimesB-ISOL1 FS} bind def /TBV {160 /TimesB-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /TBIM {280 /TimesBI-ISOL1 FS} bind def /TBIK {240 /TimesBI-ISOL1 FS} bind def /TBIS {200 /TimesBI-ISOL1 FS} bind def /TBIV {160 /TimesBI-ISOL1 FS} bind def /SG {350 /Symbol FS} bind def /SM {280 /Symbol FS} bind def /SK {240 /Symbol FS} bind def /SS {200 /Symbol FS} bind def /SV {160 /Symbol FS} bind def /CV {160 /Courier-ISOL1 FS} bind def /CS {200 /Courier-ISOL1 FS} bind def /CK {240 /Courier-ISOL1 FS} bind def /CM {280 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBV {160 /CourierB-ISOL1 FS} bind def /CBS {200 /CourierB-ISOL1 FS} bind def /CBK {240 /CourierB-ISOL1 FS} bind def /CBM {280 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /ns {TG show} bind def /ks {TIG show} bind def /bs {TBG show} bind def /js {TBIG show} bind def /sy {SG show} bind def /is {TM 0 -90 rmoveto show 0 90 rmoveto TG} bind def /es {TM 0 200 rmoveto show 0 -200 rmoveto TG} bind def /ib {TBM 0 -90 rmoveto show 0 90 rmoveto TG} bind def /eb {TBM 0 200 rmoveto show 0 -200 rmoveto TG} bind def /ip {TM 50 50 rmoveto (\267) show 50 -50 rmoveto TG} bind def %20% kleiner /ns2 {TM show TM} bind def /ks2 {TIM show TM} bind def /bs2 {TBM show TM} bind def /js2 {TBIM show TM} bind def /sy2 {SM show TM} bind def /is2 {TK 0 -70 rmoveto show 0 70 rmoveto TM} bind def /es2 {TK 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ib2 {TBK 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eb2 {TBK 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ip2 {TK 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def /iy2 {SK 0 -70 rmoveto show 0 70 rmoveto TM} bind def %40% kleiner /ns4 {TK show TK} bind def /ks4 {TIK show TK} bind def /bs4 {TBK show TK} bind def /js4 {TBIK show TK} bind def /ss4 {SK show TK} bind def /is4 {TS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /es4 {TS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ib4 {TBS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eb4 {TBS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ip4 {TS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def /iy4 {SS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /cvishow {cvi 6 string cvs show ( ) show} def /cvsshow1 {10 mul cvi 0.1 mul 9 string cvs show ( ) show} def /cvsshow2 {100 mul cvi 0.01 mul 9 string cvs show ( ) show} def /cvsshow3 {1000 mul cvi 0.001 mul 9 string cvs show ( ) show} def /cvsshow4 {10000 mul cvi 0.0001 mul 9 string cvs show ( ) show} def /cvsshow5 {100000 mul cvi 0.00001 mul 9 string cvs show ( ) show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow4x {/nxx exch def %example nxx=99.1234/99.0123/99.0010/99.0001 nxx 0 lt {(-) show /nxx nxx abs def} if nxx 10000 mul cvi /nxi exch def %nxi=991234/990123/990010/990000 nxi 10000 idiv /nxa exch def %nxa=99 nxi nxa 10000 mul sub /nxb exch def %nxb=1234/0123/0010/0001 nxa cvishow (,) show %nxb=99, nxb 1000 ge {nxb cvishow} if %nxb=1234/0123/0010/0001 nxb 100 ge nxb 999 le and {(0) show nxb cvishow} if %nxb=012 nxb 10 ge nxb 99 le and {(00) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(000) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /tolvfcol %Farbkreis-Reihenfolge [ (000) (F00) (FF0) (0F0) (0FF) (00F) (F0F) (FFF) (777) (700) (770) (070) (077) (007) (707) (F07) %15=R (333) (F77) (FF7) (7F7) (7FF) (77F) (F7F) (07F) %23=B (BBB) (F70) (7F0) (0F7) (07F) (70F) (F07) (0F7) %31=G ] def /tcmyfcol %Farbkreis-Reihenfolge [ (FFF) (0FF) (00F) (F0F) (F00) (FF0) (0F0) (000) (888) (8FF) (88F) (F8F) (F88) (FF8) (8F8) (0F8) %15=R (CCC) (088) (008) (808) (800) (880) (080) (F80) %23=B (444) (08F) (80F) (F08) (F80) (8F0) (0F8) (F08) %31=G ] def /tcmykfcol %Farbkreis-Reihenfolge [ (000F) (0FF0) (00F0) (F0F0) (F000) (FF00) (0F00) (0000) (0008) (0FF8) (00F8) (F0F8) (F008) (FF08) (0F08) (0F80) %15=R (000C) (0880) (0080) (8080) (8000) (8800) (0800) (F800) %23=B (0004) (0F80) (80F0) (F080) (F800) (8F00) (0F80) (F080) %31=G ] def /tolvfcols %Farbkreis-Reihenfolge [ (000*) (F00*) (FF0*) (0F0*) (0FF*) (00F*) (F0F*) (FFF*) (777*) (700*) (770*) (070*) (077*) (007*) (707*) (F07*) %15=R (333*) (F77*) (FF7*) (7F7*) (7FF*) (77F*) (F7F*) (07F*) %23=B (BBB*) (F70*) (7F0*) (0F7*) (07F*) (70F*) (F07*) (0F7*) %31=G ] def /tcmyfcols %Farbkreis-Reihenfolge [ (FFF*) (0FF*) (00F*) (F0F*) (F00*) (FF0*) (0F0*) (000*) (888*) (8FF*) (88F*) (F8F*) (F88*) (FF8*) (8F8*) (0F8*) %15=R (CCC*) (088*) (008*) (808*) (800*) (880*) (080*) (F80*) %23=B (444*) (08F*) (80F*) (F08*) (F80*) (8F0*) (0F8*) (F08*) %31=G ] def /tcmykfcols %Farbkreis-Reihenfolge [ (000F*) (0FF0*) (00F0*) (F0F0*) (F000*) (FF00*) (0F00*) (0000*) (0008*) (0FF8*) (00F8*) (F0F8*) (F008*) (FF08*) (0F08*) (0F80*) %15=R (000C*) (0880*) (0080*) (8080*) (8000*) (8800*) (0800*) (F800*) %23=B (0004*) (0F80*) (80F0*) (F080*) (F800*) (8F00*) (0F80*) (F080*) %31=G ] def /fcolors %CMYN 32 Testfarben Nr. 0 bis 31; Farbkreis-Reihenfolge [{0.0 0.0 0.0 1.0} {0.0 1.0 1.0 0.0} {0.0 0.0 1.0 0.0} {1.0 0.0 1.0 0.0} {1.0 0.0 0.0 0.0} {1.0 1.0 0.0 0.0} {0.0 1.0 0.0 0.0} {0.0 0.0 0.0 0.0} {0.0 0.0 0.0 0.5} {0.0 1.0 1.0 0.5} {0.0 0.0 1.0 0.5} {1.0 0.0 1.0 0.5} {1.0 0.0 0.0 0.5} {1.0 1.0 0.0 0.5} {0.0 1.0 0.0 0.5} {0.0 1.0 0.5 0.0} {0.0 0.0 0.0 0.75} {0.0 0.5 0.5 0.0} {0.0 0.0 0.5 0.0} {0.5 0.0 0.5 0.0} {0.5 0.0 0.0 0.0} {0.5 0.5 0.0 0.0} {0.0 0.5 0.0 0.0} {1.0 0.5 0.0 0.0} {0.0 0.0 0.0 0.25} {0.0 0.5 1.0 0.0} {0.5 0.0 1.0 0.0} {1.0 0.0 0.5 0.0} {1.0 0.5 0.0 0.0} {0.5 1.0 0.0 0.0} {0.0 1.0 0.5 0.0} {1.0 0.0 0.5 0.0} ] def /fak 0.5 def /Far %Farbkreis-Reihenfolge [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 %R 16 17 18 19 20 21 22 23 %B 24 25 26 27 28 29 30 31 %G ] def /cFar %Kompensativ-Farbkreis-Reihenfolge [ 8 4 5 6 1 2 3 0 0 20 21 22 17 18 19 31 %G 24 12 13 14 9 10 11 2 %J 16 28 29 30 25 26 27 15 %R ] def /Btx %Farbkreis- -> %Btx-Reihenfolge [ 0 1 3 2 5 6 4 7 8 9 11 10 13 14 12 15 %R 16 17 19 18 21 22 20 23 %B 24 25 26 27 28 29 30 31 %G ] def /cBtx %Farbkreis- -> %Kompensativ-Btx-Reihenfolge [ 7 4 6 5 2 3 1 0 8 20 22 21 18 19 17 31 %G 24 12 14 13 10 11 9 2 %J 16 25 26 27 28 29 30 15 %R ] def /rec %x, y width heigth {/heigth exch def /width exch def moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colrecfi %x y width heigth c m y k {setcmykcolor rec fill} bind def /colrecst %x y width heigth c m y k {setcmykcolor rec stroke} bind def /tzo {0.0 1.0 1.0 0.0} bind def %Reproduktionsfarben /tzl {1.0 0.0 1.0 0.0} bind def /tzv {1.0 1.0 0.0 0.0} bind def /tzc {1.0 0.0 0.0 0.0} bind def /tzm {0.0 1.0 0.0 0.0} bind def /tzy {0.0 0.0 1.0 0.0} bind def /tzn {0.0 0.0 0.0 1.00} bind def %Graureihe /tzd {0.0 0.0 0.0 0.75} bind def /tzz {0.0 0.0 0.0 0.50} bind def /tzh {0.0 0.0 0.0 0.25} bind def /tzw {0.0 0.0 0.0 0.00} bind def /tzr {0.0 1.0 0.5 0.0} bind def %Elementarfarben /tzg {1.0 0.0 0.5 0.0} bind def /tzb {1.0 0.5 0.0 0.0} bind def /tzj {0.0 0.0 1.0 0.0} bind def /tzrz {0.0 1.0 0.5 0.5} bind def %Elementarfarben vergraut /tzgz {1.0 0.0 0.5 0.5} bind def /tzbz {1.0 0.5 0.0 0.5} bind def /tzjz {0.0 0.0 1.0 0.5} bind def /tfo {tzo setcmykcolor} bind def /tfl {tzl setcmykcolor} bind def /tfv {tzv setcmykcolor} bind def /tfc {tzc setcmykcolor} bind def /tfm {tzm setcmykcolor} bind def /tfy {tzy setcmykcolor} bind def /tfn {tzn setcmykcolor} bind def /tfd {tzd setcmykcolor} bind def /tfz {tzz setcmykcolor} bind def /tfh {tzh setcmykcolor} bind def /tfw {tzw setcmykcolor} bind def /tfr {tzr setcmykcolor} bind def /tfg {tzg setcmykcolor} bind def /tfb {tzb setcmykcolor} bind def /tfj {tzj setcmykcolor} bind def /tfrz {tzrz setcmykcolor} bind def /tfgz {tzgz setcmykcolor} bind def /tfbz {tzbz setcmykcolor} bind def /tfjz {tzjz setcmykcolor} bind def %****************************************************** /proc_CIE_LMS0 {%BEG proc_CIE_LMS0 %for xchart8=0 /SP60 80 array def %380 bis 775 mit deltalambda=05 /SP55 80 array def %380 bis 775 mit deltalambda=05 /SP50 80 array def %380 bis 775 mit deltalambda=05 /SP45 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SP35 80 array def %380 bis 775 mit deltalambda=05 /SP30 80 array def %380 bis 775 mit deltalambda=05 /SP25 80 array def %380 bis 775 mit deltalambda=05 %for xchart8=1 /SD65 80 array def %380 bis 775 mit deltalambda=05 /SD50 80 array def %380 bis 775 mit deltalambda=05 /SP40 80 array def %380 bis 775 mit deltalambda=05 /SA00 80 array def %380 bis 775 mit deltalambda=05 /SE00 80 array def %380 bis 775 mit deltalambda=05 /SC00 80 array def %380 bis 775 mit deltalambda=05 /SP00 80 array def %380 bis 775 mit deltalambda=05 /SQ00 80 array def %380 bis 775 mit deltalambda=05 %Combined /SX00 80 array def %380 bis 775 mit deltalambda=05 /SX01 80 array def %380 bis 775 mit deltalambda=05 /SX02 80 array def %380 bis 775 mit deltalambda=05 /SX03 80 array def %380 bis 775 mit deltalambda=05 /SX04 80 array def %380 bis 775 mit deltalambda=05 /SX05 80 array def %380 bis 775 mit deltalambda=05 /SX06 80 array def %380 bis 775 mit deltalambda=05 /SX07 80 array def %380 bis 775 mit deltalambda=05 /SDAK 80 array def %380 bis 775 mit deltalambda=05 /RA 80 array def %380 bis 770 nm /F02i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /F10i 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm /FF02i 320 array def %80x4 CIE_F02 fundamental observer /FF10i 320 array def %80x4 CIE_F10 fundamental observer /FAUEi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm, illuminant E /FAYEi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm, illuminant E /FAMEi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm, illuminant E /XZMEi 17 array def /YZMEi 17 array def /ZZMEi 17 array def /XANZMEi 17 array def /YANZMEi 17 array def /ZANZMEi 17 array def /FXUEi 80 array def %unnormiert /FYUEi 80 array def /FZUEi 80 array def /FXYEi 80 array def %Y-normiert /FYYEi 80 array def /FZYEi 80 array def /FXMEi 80 array def %XYZ-normiert /FYMEi 80 array def /FZMEi 80 array def /FAUDi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm, illuminants D /FAYDi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm, illuminants D /FAMDi 240 array def %3 x 80 Daten fuer Bereich 380 bis 770nm, illuminants D /XZMDi 17 array def /YZMDi 17 array def /ZZMDi 17 array def /XANZMDi 17 array def /YANZMDi 17 array def /ZANZMDi 17 array def /FXUDi 80 array def %unnormiert /FYUDi 80 array def /FZUDi 80 array def /FXYDi 80 array def %Y-normiert /FYYDi 80 array def /FZYDi 80 array def /FXMDi 80 array def %XYZ-normiert /FYMDi 80 array def /FZMDi 80 array def %C %C LITERATURQUELLEN LICHTARTEN %C SA,SC,SD65, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.1, SEITE 81 %C SD55,SD75, CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 1.1.4, SEITE 85 %C LINEAR INTERPOLIERT VON 5 ZU 5NM %C SG,SP,SXE, DIN 5033, BLATT 7 ,SEITE 8-9 %C AUSGABE 1966 /SD65 %80 data 5 nm [50.0 52.3 54.6 68.7 82.8 87.1 91.5 92.5 93.4 90.1 86.7 95.8 104.9 110.9 117.0 117.4 117.8 116.3 114.9 115.4 115.9 112.4 108.8 109.1 109.4 108.6 107.8 106.3 104.8 106.2 107.7 106.0 104.4 104.2 104.0 102.0 100.0 98.2 96.3 96.1 95.8 92.2 88.7 89.3 90.0 89.8 89.6 88.6 87.7 85.5 83.3 83.5 83.7 81.9 80.0 80.1 80.2 81.2 82.3 80.3 78.3 74.0 69.7 70.7 71.6 73.0 74.3 68.0 61.6 65.7 69.9 72.5 75.1 69.3 63.6 55.0 46.4 56.6 66.8 65.1] def /SD50 %80 data 5 nm CIE 15.3, Seite 30; aus JE540-1N.PS [24.5 27.2 29.9 39.6 49.3 52.9 56.5 58.3 60.0 58.9 57.8 66.3 74.8 81.0 87.2 88.9 90.6 91.0 91.4 93.2 95.1 93.5 92.0 93.8 95.7 96.2 96.6 96.8 97.1 99.6 102.1 101.4 100.8 101.5 102.3 101.2 100.0 98.9 97.7 98.3 98.9 96.2 93.5 95.6 97.7 98.5 99.3 99.2 99.0 97.4 95.7 97.3 98.9 97.3 95.7 96.9 98.2 100.6 103.0 101.1 99.1 93.3 87.4 89.5 91.6 92.2 92.9 84.9 76.9 81.7 86.5 89.5 92.6 85.4 78.2 68.0 57.7 70.3 82.9 0.0] def %0.0 not used /SA00 %80 data 5 nm CIE 15.3 Seite 30; aus JE540-1N.PS [9.80 10.90 12.09 13.35 14.71 16.15 17.68 19.29 20.99 22.79 24.67 26.64 28.70 30.85 33.09 35.41 37.81 40.30 42.87 45.52 48.24 51.04 53.91 56.85 59.86 62.93 66.06 69.25 72.50 75.79 79.13 82.52 85.95 89.41 92.91 96.44 100.00 103.58 107.18 110.80 114.44 118.08 121.73 125.39 129.04 132.70 136.35 139.99 143.62 147.24 150.84 154.42 157.98 161.52 165.03 168.51 171.96 175.38 178.77 182.12 185.43 188.70 191.93 195.12 198.26 201.36 204.41 207.41 210.36 213.27 216.12 218.92 221.67 224.36 227.00 229.59 232.12 234.59 237.01 239.37 0.0] def %0.0 not used % AUS BILDPLA.FOR aus vrbam/wrpos:KRPROG.FOR, 5987-6023 5.10.92 %C PROGRAMM ZUR BERECHNUNG DER RELATIVEN SPEKTRALEN STRAHLUNGSVERTEI- %C LUNG EINES HOHLRAUMSTRAHLERS ALS FUNKTION DER WELLENLAENGE LAMDA %C BEI GEGEBENER TEMPERATUR T %C VERWENDETE VARIABLE %C T TEMPERATUR %C C2 PLANCKSCHE KONSTANTE (=1.4388 CM K (1967)) %C LAMDA(I) WELLENLAENGE %C S(I) STRAHLUNGSVERTEILUNG DES HOHLRAUMSTRAHLERS %C %C LITERATUR OFFIZIELLE EMPFEHLUNGEN DER CIE,DEUTSCHE VERSION, %C CA. 1969, SEITE 21 UND TABELLE 1.1.1 %C %SDP4 80 array def %380 bis 775 mit deltalambda=05 % DO 50 I=1,54 % 50 S(I)=100. % 1*(560./FLOAT(LAMDA(I)))**5 % 2*(EXP(C2/(560.*10.**(-7)*T))-1.) % 3/(EXP(C2/(FLOAT(LAMDA(I))*10.**(-7)*T))-1.) %new CIE 15.3:2004, Eq. (3.1) page 2 %S(I) = [100{560/lambda}**5] [exp{(c2*10**7)/(TNC*560 )} - 1] % /[exp{(c2*10**7)/(TNC*lambda)} - 1] % exp = e {...} = 2.71 {...} %/TNC 2848 def %NLA /TNC 4000 def /EE 2.718281 def %e=mac pocket calculator /C2 1.4350000 10 7 exp mul def /lamd 80 array def /TNCj 8 array def /TNCj [6000 5500 5000 4500 4000 3500 3000 2500] def xchart8 0 eq {%xchart8=0 0 1 7 {/j exch def %j=0,7 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNCj j get 560 mul div def /E5 C2 TNCj j get lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def j 0 eq {SP60 i} if j 1 eq {SP55 i} if j 2 eq {SP50 i} if j 3 eq {SP45 i} if j 4 eq {SP40 i} if j 5 eq {SP35 i} if j 6 eq {SP30 i} if j 7 eq {SP25 i} if E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } for %j=0,7 } %xchart8=0 { %xchart8=1 0 1 79 {%i=0,79 /i exch def /lambda 380 i 5 mul add def lamd i lambda put /E1 560 lambda div 5 exp def /E4 C2 TNC 560 mul div def /E5 C2 TNC lambda mul div def /E6 EE E4 exp def /E7 EE E5 exp def SP40 i E1 100 mul E6 1 sub E7 1 sub div mul put } for %i=0,79 } ifelse %xchart8=1 /xex 10 2 exp def /yex EE 2 exp def /SE00 %80 data 5 nm [100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0] def %0.0 not used /SC00 %80 data 5 nm [ 33.00 39.92 47.40 55.17 63.30 71.81 80.60 89.53 98.10 105.80 112.40 117.75 121.50 123.45 124.00 123.60 123.10 123.30 123.80 124.09 123.90 122.92 120.70 116.90 112.10 106.98 102.30 98.81 96.90 96.78 98.00 99.94 102.10 103.95 105.20 105.67 105.30 104.11 102.30 100.15 97.80 95.43 93.20 91.22 89.70 88.83 88.40 88.19 88.10 88.06 88.00 87.86 87.80 87.99 88.20 88.20 87.90 87.22 86.30 85.30 84.00 82.21 80.20 78.24 76.30 74.36 72.40 70.40 68.30 66.30 64.40 62.80 61.50 60.20 59.20 58.50 58.10 58.00 58.20 58.50 ] def %0.0 not used 0 1 79 {/i exch def %i=0,79 /lamda 380 i 5 mul add def SP00 i SE00 i get lamda 560 div mul put SQ00 i SE00 i get 1120 lamda sub 560 div mul put } for %i=0,79 %C LITERATURQUELLEN SPEKTRALWERTE %C F02i CIE-DOKUMENT NR.15 FARBMESSUNG, 1971 %C TABELLE 2.1, SEITE 93-102 %400nm: 0.0143 0.0003 0.0678 /F02i %3x80 data [.001368 .002236 .004243 .007650 .01431 .02319 .04351 .07763 %X:380_775 .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 %700:0.0113 .004109 .002899 .002049 .001440 .0009999 .0006901 .000476 .0003323 .0002348 .0001662 .0001174 .00008308 .00005871 .000039 .000064 .00012 .000217 .000396 .00064 .00121 .00218 %Y:380_775 .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 %700: 0.0041 .001047 .00074 .00052 .0003611 .0002492 .0001719 .00012 .0000848 .00006 .0000424 .00003 .0000212 .00645 .01055 .02005 .03621 .06785 .1102 .2074 .3713 .6456 %Z:380-775 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 /F10i %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 /FF02i [%BEG FF02i Colour matching functions 5nm 02-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 3.769647E-03 4.146161E-04 1.847260E-02 %=390 385 3.769647E-03 4.146161E-04 1.847260E-02 %=390 390 3.769647E-03 4.146161E-04 1.847260E-02 395 9.382967E-03 1.059646E-03 4.609784E-02 400 2.214302E-02 2.452194E-03 1.096090E-01 405 4.742986E-02 4.971717E-03 2.369246E-01 410 8.953803E-02 9.079860E-03 4.508369E-01 415 1.446214E-01 1.429377E-02 7.378822E-01 420 2.035729E-01 2.027369E-02 1.051821E+00 425 2.488523E-01 2.612106E-02 1.305008E+00 430 2.918246E-01 3.319038E-02 1.552826E+00 435 3.227087E-01 4.157940E-02 1.748280E+00 440 3.482554E-01 5.033657E-02 1.917479E+00 445 3.418483E-01 5.743393E-02 1.918437E+00 450 3.224637E-01 6.472352E-02 1.848545E+00 455 2.826646E-01 7.238339E-02 1.664439E+00 460 2.485254E-01 8.514816E-02 1.522157E+00 465 2.219781E-01 1.060145E-01 1.428440E+00 470 1.806905E-01 1.298957E-01 1.250610E+00 475 1.291920E-01 1.535066E-01 9.991789E-01 480 8.182895E-02 1.788048E-01 7.552379E-01 485 4.600865E-02 2.064828E-01 5.617313E-01 490 2.083981E-02 2.379160E-01 4.099313E-01 495 7.097731E-03 2.850680E-01 3.105939E-01 500 2.461588E-03 3.483536E-01 2.376753E-01 505 3.649178E-03 4.277595E-01 1.720018E-01 510 1.556989E-02 5.204972E-01 1.176796E-01 515 4.315171E-02 6.206256E-01 8.283548E-02 520 7.962917E-02 7.180890E-01 5.650407E-02 525 1.268468E-01 7.946448E-01 3.751912E-02 530 1.818026E-01 8.575799E-01 2.438164E-02 535 2.405015E-01 9.071347E-01 1.566174E-02 540 3.098117E-01 9.544675E-01 9.846470E-03 545 3.804244E-01 9.814106E-01 6.131421E-03 550 4.494206E-01 9.890228E-01 3.790291E-03 555 5.280233E-01 9.994608E-01 2.327186E-03 560 6.133784E-01 9.967737E-01 1.432128E-03 565 7.016774E-01 9.902549E-01 8.822531E-04 570 7.967750E-01 9.732611E-01 5.452416E-04 575 8.853376E-01 9.424569E-01 3.386739E-04 580 9.638388E-01 8.963613E-01 2.117772E-04 585 1.051011E+00 8.587203E-01 1.335031E-04 590 1.109767E+00 8.115868E-01 8.494468E-05 595 1.143620E+00 7.544785E-01 5.460706E-05 600 1.151033E+00 6.918553E-01 3.549661E-05 605 1.134757E+00 6.270066E-01 2.334738E-05 610 1.083928E+00 5.583746E-01 1.554631E-05 615 1.007344E+00 4.895950E-01 1.048387E-05 620 9.142877E-01 4.229897E-01 0.000000E+00 625 8.135565E-01 3.609245E-01 0.000000E+00 630 6.924717E-01 2.980865E-01 0.000000E+00 635 5.755410E-01 2.416902E-01 0.000000E+00 640 4.731224E-01 1.943124E-01 0.000000E+00 645 3.844986E-01 1.547397E-01 0.000000E+00 650 2.997374E-01 1.193120E-01 0.000000E+00 655 2.277792E-01 8.979594E-02 0.000000E+00 660 1.707914E-01 6.671045E-02 0.000000E+00 665 1.263808E-01 4.899699E-02 0.000000E+00 670 9.224597E-02 3.559982E-02 0.000000E+00 675 6.639960E-02 2.554223E-02 0.000000E+00 680 4.710606E-02 1.807939E-02 0.000000E+00 685 3.292138E-02 1.261573E-02 0.000000E+00 690 2.262306E-02 8.661284E-03 0.000000E+00 695 1.575417E-02 6.027677E-03 0.000000E+00 700 1.096778E-02 4.195941E-03 0.000000E+00 705 7.608750E-03 2.910864E-03 0.000000E+00 710 5.214608E-03 1.995557E-03 0.000000E+00 715 3.569452E-03 1.367022E-03 0.000000E+00 720 2.464821E-03 9.447269E-04 0.000000E+00 725 1.703876E-03 6.537050E-04 0.000000E+00 730 1.186238E-03 4.555970E-04 0.000000E+00 735 8.269535E-04 3.179738E-04 0.000000E+00 740 5.758303E-04 2.217445E-04 0.000000E+00 745 4.058303E-04 1.565566E-04 0.000000E+00 750 2.856577E-04 1.103928E-04 0.000000E+00 755 2.021853E-04 7.827442E-05 0.000000E+00 760 1.438270E-04 5.578862E-05 0.000000E+00 765 1.024685E-04 3.981884E-05 0.000000E+00 770 7.347551E-05 2.860175E-05 0.000000E+00 775 5.259870E-05 2.051259E-05 0.000000E+00 %780 3.806114E-05 1.487243E-05 0.000000E+00 %785 2.758222E-05 1.080001E-05 0.000000E+00 %790 2.004122E-05 7.863920E-06 0.000000E+00 %795 1.458792E-05 5.736935E-06 0.000000E+00 %800 1.068141E-05 4.211597E-06 0.000000E+00 %805 7.857521E-06 3.106561E-06 0.000000E+00 %810 5.768284E-06 2.286786E-06 0.000000E+00 %815 4.259166E-06 1.693147E-06 0.000000E+00 %820 3.167765E-06 1.262556E-06 0.000000E+00 %825 2.358723E-06 9.422514E-07 0.000000E+00 %830 1.762465E-06 7.053860E-07 0.000000E+00 ] def %END CIEF_XYZ_02 Colour matching functions 5nm 02-degree /FF10i [%BEG CIEF_XYZ_10 Colour matching functions 5nm 10-degree from Stockmann, see %http://www.cvrl.org/ under CVRL Database %output as format ps, convert to ASCII with macps2pdf 380 2.952420E-03 4.076779E-04 1.318752E-02 %=390 385 2.952420E-03 4.076779E-04 1.318752E-02 %=390 390 2.952420E-03 4.076779E-04 1.318752E-02 395 7.641137E-03 1.078166E-03 3.424588E-02 400 1.879338E-02 2.589775E-03 8.508254E-02 405 4.204986E-02 5.474207E-03 1.927065E-01 410 8.277331E-02 1.041303E-02 3.832822E-01 415 1.395127E-01 1.712968E-02 6.568187E-01 420 2.077647E-01 2.576133E-02 9.933444E-01 425 2.688989E-01 3.529554E-02 1.308674E+00 430 3.281798E-01 4.698226E-02 1.624940E+00 435 3.693084E-01 6.047429E-02 1.867751E+00 440 4.026189E-01 7.468288E-02 2.075946E+00 445 4.042529E-01 8.820537E-02 2.132574E+00 450 3.932139E-01 1.039030E-01 2.128264E+00 455 3.482214E-01 1.195389E-01 1.946651E+00 460 3.013112E-01 1.414586E-01 1.768440E+00 465 2.534221E-01 1.701373E-01 1.582342E+00 470 1.914176E-01 1.999859E-01 1.310576E+00 475 1.283167E-01 2.312426E-01 1.010952E+00 480 7.593120E-02 2.682271E-01 7.516389E-01 485 3.836770E-02 3.109438E-01 5.549619E-01 490 1.400745E-02 3.554018E-01 3.978114E-01 495 3.446810E-03 4.148227E-01 2.905816E-01 500 5.652072E-03 4.780482E-01 2.078158E-01 505 1.561956E-02 5.491344E-01 1.394643E-01 510 3.778185E-02 6.248296E-01 8.852389E-02 515 7.538941E-02 7.012292E-01 5.824484E-02 520 1.201511E-01 7.788199E-01 3.784916E-02 525 1.756832E-01 8.376358E-01 2.431375E-02 530 2.380254E-01 8.829552E-01 1.539505E-02 535 3.046991E-01 9.233858E-01 9.753000E-03 540 3.841856E-01 9.665325E-01 6.083223E-03 545 4.633109E-01 9.886887E-01 3.769336E-03 550 5.374170E-01 9.907500E-01 2.323578E-03 555 6.230892E-01 9.997775E-01 1.426627E-03 560 7.123849E-01 9.944304E-01 8.779264E-04 565 8.016277E-01 9.848127E-01 5.408385E-04 570 8.933408E-01 9.640545E-01 3.342429E-04 575 9.721304E-01 9.286495E-01 2.076129E-04 580 1.034327E+00 8.775360E-01 1.298230E-04 585 1.106886E+00 8.370838E-01 8.183954E-05 590 1.147304E+00 7.869950E-01 5.207245E-05 595 1.160477E+00 7.272309E-01 3.347499E-05 600 1.148163E+00 6.629035E-01 2.175998E-05 605 1.113846E+00 5.970375E-01 1.431231E-05 610 1.048485E+00 5.282296E-01 9.530130E-06 615 9.617111E-01 4.601308E-01 6.426776E-06 620 8.629581E-01 3.950755E-01 0.000000E+00 625 7.603498E-01 3.351794E-01 0.000000E+00 630 6.413984E-01 2.751807E-01 0.000000E+00 635 5.290979E-01 2.219564E-01 0.000000E+00 640 4.323126E-01 1.776882E-01 0.000000E+00 645 3.496358E-01 1.410203E-01 0.000000E+00 650 2.714900E-01 1.083996E-01 0.000000E+00 655 2.056507E-01 8.137687E-02 0.000000E+00 660 1.538163E-01 6.033976E-02 0.000000E+00 665 1.136072E-01 4.425383E-02 0.000000E+00 670 8.281010E-02 3.211852E-02 0.000000E+00 675 5.954815E-02 2.302574E-02 0.000000E+00 680 4.221473E-02 1.628841E-02 0.000000E+00 685 2.948752E-02 1.136106E-02 0.000000E+00 690 2.025590E-02 7.797457E-03 0.000000E+00 695 1.410230E-02 5.425391E-03 0.000000E+00 700 9.816228E-03 3.776140E-03 0.000000E+00 705 6.809147E-03 2.619372E-03 0.000000E+00 710 4.666298E-03 1.795595E-03 0.000000E+00 715 3.194041E-03 1.229980E-03 0.000000E+00 720 2.205568E-03 8.499903E-04 0.000000E+00 725 1.524672E-03 5.881375E-04 0.000000E+00 730 1.061495E-03 4.098928E-04 0.000000E+00 735 7.400120E-04 2.860718E-04 0.000000E+00 740 5.153113E-04 1.994949E-04 0.000000E+00 745 3.631969E-04 1.408466E-04 0.000000E+00 750 2.556624E-04 9.931439E-05 0.000000E+00 755 1.809649E-04 7.041878E-05 0.000000E+00 760 1.287394E-04 5.018934E-05 0.000000E+00 765 9.172477E-05 3.582218E-05 0.000000E+00 770 6.577532E-05 2.573083E-05 0.000000E+00 775 4.708916E-05 1.845353E-05 0.000000E+00 %780 3.407653E-05 1.337946E-05 0.000000E+00 %785 2.469630E-05 9.715798E-06 0.000000E+00 %790 1.794555E-05 7.074424E-06 0.000000E+00 %795 1.306345E-05 5.160948E-06 0.000000E+00 %800 9.565993E-06 3.788729E-06 0.000000E+00 %805 7.037621E-06 2.794625E-06 0.000000E+00 %810 5.166853E-06 2.057152E-06 0.000000E+00 %815 3.815429E-06 1.523114E-06 0.000000E+00 %820 2.837980E-06 1.135758E-06 0.000000E+00 %825 2.113325E-06 8.476168E-07 0.000000E+00 %830 1.579199E-06 6.345380E-07 0.000000E+00 ] def %END CIEF_XYZ_10 Colour matching functions 5nm 10-degree xchart13 0 eq {%xchart13=0 %02 degree observer 0 1 239 {/i exch def %i=0,1,239 FAUEi i F02i i get put } for %i=0,1,239 } if %xchart13=0 xchart13 1 eq {%xchart13=1 %10 degree observer 0 1 239 {/i exch def %i=0,1,239 FAUEi i F10i i get put } for %i=0,1,239 } if %xchart13=1 xchart13 2 eq {%xchart13=2 %02 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAUEi 00 i add FF02i i4 1 add get put FAUEi 80 i add FF02i i4 2 add get put FAUEi 160 i add FF02i i4 3 add get put } for %i=0,1,79 } if %xchart13=2 xchart13 3 eq {%xchart13=3 %10 degree fundamental observer 0 1 79 {/i exch def %i=0,1,79 /i4 i 4 mul def FAUEi 00 i add FF10i i4 1 add get put FAUEi 80 i add FF10i i4 2 add get put FAUEi 160 i add FF10i i4 3 add get put } for %i=0,1,79 } if %xchart13=3 xchart13 4 ge {%xchart13>=4 /CY 0.35 def /CY2 1.00 def /CX 50 def /W0 570 def /W1 540 def /W2 440 def %new %/ILT 0 def %ILT 0 eq {/tsa 0.000 def} if %ILT 1 eq {/tsa 0.010 def} if /Xmi 88 array def /Ymi 88 array def /Ymi0 88 array def /Ymi1 88 array def /Ymi2 88 array def /Ymi3 88 array def 0 1 79 {/i exch def %i=0,1,79 Xmi i i 5 mul 380 add put %splitted absorption Xmi i get W2 le {/YEXP Xmi i get W2 sub CX div dup mul CY2 mul neg def} {/YEXP Xmi i get W2 sub CX div dup mul CY mul neg def} ifelse % /YEXP Xmi i get W2 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi2 i EYEXP put %l later with 2% linear blue cone attribute /YEXP Xmi i get W0 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi0 i EYEXP put %m symmetric with no change /YEXP Xmi i get W1 sub CX div dup mul CY mul neg def /EYEXP 10 YEXP exp tsa add def % /YEXP EYEXP log def Ymi1 i EYEXP put %y linear 0.5 l + 0.5 m Ymi3 i Ymi0 i get Ymi1 i get add 0.5 mul put } for %i=0,1,79 %********************************************************************** /lE0j 80 array def /mE0j 80 array def /sE0j 80 array def /lE1j 80 array def /mE1j 80 array def /sE1j 80 array def /lESj 80 array def /mESj 80 array def /sESj 80 array def /lRSj 80 array def /mRSj 80 array def /sRSj 80 array def %********************************************************************** %No Normalisation of lmsE0 to 1, if tsa#0 0 1 79 {/i exch def %i=0,1,79 %s unsymmetric with no change sE0j i Ymi2 i get put %l with 2% linear s cone attribute lE0j i Ymi0 i get sE0j i get tsa mul add put %m symmetric with no change mE0j i Ymi1 i get put } for %i=0,1,79 %********************************************************************** %Normalisation of lmsE1 to 100, if tsa#0 /flE1 0 def /fmE1 0 def /fsE1 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumLMS /flE1 flE1 lE0j i get add def /fmE1 fmE1 mE0j i get add def /fsE1 fsE1 sE0j i get add def } for %i=0,79 %compare CE56L0NP.PDF for Model LMS_17M 0 1 79 {/i exch def %i=0,1,79 %normalisation LMS to 100 for E00 lE1j i lE0j i get flE1 0.0001 add div 100 mul put mE1j i mE0j i get fmE1 0.0001 add div 100 mul put sE1j i sE0j i get fsE1 0.0001 add div 100 mul put } for %i=0,1,79 %********************************************************************** %Normalisation of lmsES to 100 for SE00, and if tsa#0 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lESj i lE1j i get SE00 i get mul put mESj i mE1j i get SE00 i get mul put %no change for SDAK=E00 sESj i sE1j i get SE00 i get mul put } for %i=0,1,79 /flES 0 def /fmES 0 def /fsES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /flES flES lESj i get add def /fmES fmES mESj i get add def /fsES fsES sESj i get add def } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lESj i lESj i get flES div 100 mul put mESj i mESj i get fmES div 100 mul put %no change for SDAK=E00 sESj i sESj i get fsES div 100 mul put } for %i=0,1,79 /flESN flES def /fmESN fmES def /fsESN fsES def /lms_ESN flESN fmESN add fsESN add def /lESN flESN lms_ESN 0.01 add div def /mESN fmESN lms_ESN 0.01 add div def /sESN fsESN lms_ESN 0.01 add div def %********************************************************************** %Normalisation of lmsRS to 100 for SE00, and if tsa#0 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lRSj i lE1j i get SE00 i get mul put mRSj i mE1j i get SE00 i get mul put %no change for SDAK=E00 sRSj i sE1j i get SE00 i get mul put } for %i=0,1,79 /flRS 0 def /fmRS 0 def /fsRS 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /flRS flRS lRSj i get add def /fmRS fmRS mRSj i get add def /fsRS fsRS sRSj i get add def } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lRSj i lRSj i get flRS div 100 mul put mRSj i mRSj i get fmRS div 100 mul put %no change for SDAK=E00 sRSj i sRSj i get fsRS div 100 mul put } for %i=0,1,79 %compare CE56L0NP.PDF for Model LMS_17M /A11 1.3200 def %LMS -> x /A12 -0.6600 def /A13 0.3400 def /A21 0.5000 def %LMS -> y /A22 0.5000 def /A23 0.0000 def /A31 0.0000 def %LMS -> z /A32 0.0000 def /A33 1.0000 def 0 1 79 {/i exch def %i=0,1,79 FAUEi i 000 add lESj i get A11 mul mESj i get A12 mul add sESj i get A13 mul add put FAUEi i 080 add lESj i get A21 mul mESj i get A22 mul add sESj i get A23 mul add put FAUEi i 160 add lESj i get A31 mul mESj i get A32 mul add sESj i get A33 mul add put } for %i=0,1,79 } if %xchart13>=4 %calculation of transformation data /FARBEO 27 array def %Ostwald /FARBEO [(R) (m) ( 561_770) %00 (Y) (m) ( 520_770) %01 (G) (m) ( 475_573) %02 (C) (m) ( 380_561) %03 (B) (m) ( 380_520) %04 (M) (m) ( 573_475) %05 (N) (0) ( 380_770) %06 (W) (0) ( 380_770) %07 (W) (1) ( 380_770) %08 ] def /DOWi 82 array def /DOWZi 17 array def /F02Zi 51 array def /F10Zi 51 array def /FF02Zi 51 array def /FF10Zi 51 array def /LMS0Zi 51 array def /LMS1Zi 51 array def /FAZi 51 array def /FAZEi 51 array def %TRISTIMULUS VALUES FOR PURPLE COLORS from 'dmyy'KRPROG.FOR %FOR 02- AND 10-DEGREE-OBSERVER, ILLUMINANT E 0 1 79 {/i exch def %i=0,79 = 380_775 DOWi i 380 i 5 mul add put } for %i=0,79 /DOWZi %17 data [700 -495 -500 -505 -510 -515 -520 -525 -530 -535 -540 -545 -550 -555 -560 -565 400] def %'cl80'CIE_Z_CL80_85.TXT 180326 %CIE_02 CL800-7R.PDF /.PS and MACPS2PDF /F02Zi [%CIE_02 3x17 data 700 ... 400 0.0113 0.0114 0.0115 0.0116 0.0117 0.0118 0.0118 0.0119 0.0119 0.0119 0.0120 0.0121 0.0121 0.0123 0.0125 0.0129 0.0143 0.0041 0.0040 0.0038 0.0036 0.0035 0.0035 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0030 0.0028 0.0026 0.0020 0.0003 0.0000 0.0011 0.0051 0.0074 0.0093 0.0106 0.0117 0.0125 0.0134 0.0145 0.0155 0.0170 0.0191 0.0220 0.0272 0.0377 0.0678] def %CIE_10 CL810-7R.PDF /.PS and MACPS2PDF /F10Zi [%CIE_10 3x17 data 700 ... 400 0.0100 0.0105 0.0107 0.0109 0.0110 0.0111 0.0112 0.0113 0.0114 0.0116 0.0118 0.0120 0.0124 0.0130 0.0145 0.0191 0.0191 0.0037 0.0036 0.0035 0.0035 0.0035 0.0034 0.0034 0.0034 0.0034 0.0034 0.0033 0.0033 0.0032 0.0031 0.0028 0.0020 0.0020 0.0000 0.0052 0.0074 0.0088 0.0101 0.0110 0.0120 0.0130 0.0140 0.0153 0.0170 0.0194 0.0229 0.0289 0.0425 0.0859 0.0860] def %CIE_F02 CL820-7R.PDF /.PS and MACPS2PDF /FF02Zi [%CIE_F02 3x17 data 700 ... 400 0.0109 0.0113 0.0116 0.0118 0.0120 0.0121 0.0122 0.0123 0.0124 0.0125 0.0126 0.0128 0.0130 0.0134 0.0140 0.0155 0.0221 0.0041 0.0041 0.0040 0.0040 0.0040 0.0040 0.0039 0.0039 0.0039 0.0039 0.0039 0.0039 0.0038 0.0038 0.0037 0.0034 0.0024 0.0000 0.0035 0.0065 0.0088 0.0103 0.0116 0.0125 0.0133 0.0144 0.0155 0.0168 0.0185 0.0206 0.0242 0.0307 0.0448 0.1096] def %CIE_F10 CL830-7R.PDF /.PS and MACPS2PDF /FF10Zi [%CIE_F10 3x17 data 700 ... 400 0.0098 0.0104 0.0106 0.0107 0.0108 0.0109 0.0110 0.0111 0.0112 0.0114 0.0115 0.0118 0.0121 0.0128 0.0142 0.0187 0.0187 0.0037 0.0036 0.0036 0.0036 0.0036 0.0036 0.0036 0.0035 0.0035 0.0035 0.0035 0.0035 0.0034 0.0033 0.0031 0.0025 0.0025 0.0000 0.0057 0.0077 0.0090 0.0102 0.0112 0.0120 0.0128 0.0140 0.0152 0.0168 0.0191 0.0225 0.0283 0.0422 0.0849 0.0850] def %LMS_0.00 CL840-7R.PDF /.PS and MACPS2PDF /LMS0Zi [%LMS_17M 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def %LMS_0.01 CL850-7R.PDF /.PS and MACPS2PDF identical CL840-7R.PDF /LMS1Zi [%LMS_17M4 3x17 data 700 ... 400 0.0058 0.0060 0.0064 0.0069 0.0073 0.0077 0.0080 0.0084 0.0089 0.0096 0.0106 0.0125 0.0170 0.0500 0.0687 0.0687 0.0688 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0024 0.0000 0.0005 0.0020 0.0036 0.0047 0.0058 0.0070 0.0081 0.0096 0.0119 0.0150 0.0207 0.0347 0.1366 0.1943 0.1943 0.1945] def 0 1 50 {/i exch def %i=0,50 xchart13 0 eq {FAZEi i F02Zi i get put} if xchart13 1 eq {FAZEi i F10Zi i get put} if xchart13 2 eq {FAZEi i FF02Zi i get put} if xchart13 3 eq {FAZEi i FF10Zi i get put} if xchart13 4 eq {FAZEi i LMS0Zi i get put} if xchart13 5 eq {FAZEi i LMS1Zi i get put} if } for %i=0,50 /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /XEi 82 array def /YEi 82 array def /ZEi 82 array def /XANEi 82 array def /YANEi 82 array def /ZANEi 82 array def /AANEi 82 array def %actual data for plot, spectral colours /BANEi 82 array def /AAN1Ei 200 array def %actual data for plot, Munsell colours (M=1) /BAN1Ei 200 array def /AANXEi 200 array def %either from (XAN/YAN/ZAN)Mi, or (XAN/YAN/ZAN)Oi /BANXEi 200 array def /FXNZEi 17 array def /FYNZEi 17 array def /FZNZEi 17 array def /XZEi 17 array def /YZEi 17 array def /ZZEi 17 array def /XANZEi 17 array def /YANZEi 17 array def /ZANZEi 17 array def /AANZEi 17 array def %actual data for plot, purple colours /BANZEi 17 array def /XAND65 0.3127 def /YAND65 0.3290 def /ZAND65 1. XAND65 sub YAND65 sub def /XAND50 0.3457 def /YAND50 0.3585 def /ZAND50 1. XAND50 sub YAND50 sub def /XANP40 0.3799 def /YANP40 0.3764 def /ZANP40 1. XANP40 sub YANP40 sub def /XANA00 0.4475 def /YANA00 0.4074 def /ZANA00 1. XANA00 sub YANA00 sub def /XANE00 0.3333 def /YANE00 0.3333 def /ZANE00 1. XANE00 sub YANE00 sub def /XANC00 0.3100 def /YANC00 0.3161 def /ZANC00 1. XANC00 sub YANC00 sub def /XANP00 0.3604 def /YANP00 0.3531 def /ZANP00 1. XANP00 sub YANP00 sub def /XANQ00 0.3090 def /YANQ00 0.3155 def /ZANQ00 1. XANQ00 sub YANQ00 sub def 0 1 79 {/i exch def %i=0,79 xchart8 0 eq {%xchart8=0 xchartx 0 eq {SX00 i SP60 i get put} if xchartx 1 eq {SX01 i SP55 i get put} if xchartx 2 eq {SX02 i SP50 i get put} if xchartx 3 eq {SX03 i SP45 i get put} if xchartx 4 eq {SX04 i SP40 i get put} if xchartx 5 eq {SX05 i SP35 i get put} if xchartx 6 eq {SX06 i SP30 i get put} if xchartx 7 eq {SX07 i SP25 i get put} if } %xchart8=0 { %xchart8=1 xchartx 0 eq {SX00 i SD65 i get put} if xchartx 1 eq {SX01 i SD50 i get put} if xchartx 2 eq {SX02 i SP40 i get put} if xchartx 3 eq {SX03 i SA00 i get put} if xchartx 4 eq {SX04 i SE00 i get put} if xchartx 5 eq {SX05 i SC00 i get put} if xchartx 6 eq {SX06 i SP00 i get put} if xchartx 7 eq {SX07 i SQ00 i get put} if } ifelse %xchart8=1 } for %i=0,79 0 1 79 {/i exch def %i=0,79 SDAK i xchartx 0 eq {SX00 i get} if xchartx 1 eq {SX01 i get} if xchartx 2 eq {SX02 i get} if xchartx 3 eq {SX03 i get} if xchartx 4 eq {SX04 i get} if xchartx 5 eq {SX05 i get} if xchartx 6 eq {SX06 i get} if xchartx 7 eq {SX07 i get} if 0.01 mul put } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 FXUEi i FAUEi 00 i add get put FYUEi i FAUEi 80 i add get put FZUEi i FAUEi 160 i add get put } for %i=0,1,79 %STOPxx /XKSUME 0 def /YKSUME 0 def /ZKSUME 0 def 0 1 79 {/i exch def %i=0,1,79 /XKSUME XKSUME FXUEi i get add def /YKSUME YKSUME FYUEi i get add def /ZKSUME ZKSUME FZUEi i get add def } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXYEi i FXUEi i get YKSUME div 100 mul put FYYEi i FYUEi i get YKSUME div 100 mul put FZYEi i FZUEi i get YKSUME div 100 mul put } for %i=0,1,79 0 1 79 {/i exch def %i=0,1,79 FXMEi i FXUEi i get XKSUME div 100 mul put FYMEi i FYUEi i get YKSUME div 100 mul put FZMEi i FZUEi i get ZKSUME div 100 mul put } for %i=0,1,79 %STOPx 0 1 79 {/i exch def %i=0,80 %for any illuminant independent of U,Y,M XEi i FXYEi i get put YEi i FYYEi i get put ZEi i FZYEi i get put /SUME XEi i get YEi i get add ZEi i get add 0.00001 add def XANEi i XEi i get SUME div put YANEi i YEi i get SUME div put ZANEi i ZEi i get SUME div put } for %i=0,79 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) FXNZEi i FAZEi 00 i add get YKSUME div 100 mul put FYNZEi i FAZEi 17 i add get YKSUME div 100 mul put FZNZEi i FAZEi 34 i add get YKSUME div 100 mul put } for %i=0,16 0 1 16 {/i exch def %i=0,16 %for illuminant E: S(lamdda=100) XZEi i FXNZEi i get put YZEi i FYNZEi i get put ZZEi i FZNZEi i get put /SUMZE XZEi i get YZEi i get add ZZEi i get add def XANZEi i XZEi i get SUMZE div put YANZEi i YZEi i get SUMZE div put ZANZEi i ZZEi i get SUMZE div put } for %i=0,16 /a2 1.0 def /b2 0.4 neg def /K 0 def %normalization Y=1.00 %/K 1 def %normalization Y=0.886 %XWE,YWE,ZWE for white /XWE 0 def /YWE 0 def /ZWE 0 def 0 1 079 {/i exch def %i=0,79 /XWE XWE FXYEi i get add def /YWE YWE FYYEi i get add def /ZWE ZWE FZYEi i get add def } for %i=0,79 /SUMWE XWE YWE add ZWE add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANWE XWE SUMWE 0.0001 add div def /YANWE YWE SUMWE 0.0001 add div def /ZANWE ZWE SUMWE 0.0001 add div def K 0 eq {%K=0 /XKE XWE def /YKE YWE def /ZKE ZWE def }%K=0 {%K=1 /XKE XWE 0.8859 mul def /YKE YWE 0.8859 mul def /ZKE ZWE 0.8859 mul def } ifelse %K=1 /SUMKE XKE YKE add ZKE add def %for X00, X01, X02, X03, X04, X05, X06, X07 /XANKE XKE SUMKE div def /YANKE YKE SUMKE div def /ZANKE ZKE SUMKE div def /hABW 0 def /xshift 10 array def %max 6 device + 4 elementary /yshift 10 array def /colori 10 array def /XANWL XANWE def /YANWL YANWE def /ZANWL ZANWE def /XANWC XANC00 def /YANWC YANC00 def /ZANWC ZANC00 def /AnYEi 80 array def /BnYEi 80 array def } bind def %END proc_CIE_LMS0 %******************************************************** /proc_Cij_Eij {%BEG proc_Cij_Eij %procedure inverse matrix according to Ohta, Cook Wiley, page 278 %DCij=|C11 C12 C13| % |C21 C22 C23| % |C31 C32 C33| /DC C11 C22 mul C33 mul C12 C23 mul C31 mul add C13 C21 mul C32 mul add C11 C23 mul C32 mul sub C12 C21 mul C33 mul sub C13 C22 mul C31 mul sub def %delete collum and row for DCij %aus transponierter Matrix zu Cerechnen DCij->DCji %see Wikipedia "Adjunkte"% %DC11= |C22 C23| % |C32 C33| %DC21=-|C21 C23| % |C31 C33| %DC31= |C21 C22| % |C31 C32| %DC12=-|C12 C13| % |C32 C33| %DC22= |C11 C13| % |C31 C33| %DC32=-|C11 C12| % |C31 C32| %DC13= |C12 C13| % |C22 C23| %DC23=-|C11 C13| % |C21 C23| %DC33= |C11 C12| % |C21 C22| /DC11 C22 C33 mul C32 C23 mul sub def /DC21 C21 C33 mul C31 C23 mul sub neg def /DC31 C21 C32 mul C31 C22 mul sub def % /DC12 C12 C33 mul C32 C13 mul sub neg def /DC22 C11 C33 mul C31 C13 mul sub def /DC32 C11 C32 mul C31 C12 mul sub neg def % /DC13 C12 C23 mul C22 C13 mul sub def /DC23 C11 C23 mul C21 C13 mul sub neg def /DC33 C11 C22 mul C21 C12 mul sub def %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Cij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /E11 DC11 DC div def /E12 DC12 DC div def /E13 DC13 DC div def % /E21 DC21 DC div def /E22 DC22 DC div def /E23 DC23 DC div def % /E31 DC31 DC div def /E32 DC32 DC div def /E33 DC33 DC div def } bind def %END proc_Cij_Eij /scolors %CMYN 49 Farbkreis-Reihenfolge; 48+1 Sonder-Farben [{0.75 1.00 0.00 0.0} {0.87 1.00 0.00 0.0} {1.00 1.00 0.00 0.0} {1.00 0.87 0.00 0.0} {1.00 0.75 0.00 0.0} {1.00 0.62 0.00 0.0} {1.00 0.50 0.00 0.0} {1.00 0.37 0.00 0.0} {1.00 0.25 0.00 0.0} {1.00 0.12 0.00 0.0} {1.00 0.00 0.00 0.0} {1.00 0.00 0.12 0.0} {1.00 0.00 0.25 0.0} {1.00 0.00 0.37 0.0} {1.00 0.00 0.50 0.0} {1.00 0.00 0.62 0.0} {1.00 0.00 0.75 0.0} {1.00 0.00 0.87 0.0} {1.00 0.00 1.00 0.0} {0.87 0.00 1.00 0.0} {0.75 0.00 1.00 0.0} {0.62 0.00 1.00 0.0} {0.50 0.00 1.00 0.0} {0.37 0.00 1.00 0.0} {0.25 0.00 1.00 0.0} {0.12 0.00 1.00 0.0} {0.00 0.00 1.00 0.0} {0.00 0.12 1.00 0.0} {0.00 0.25 1.00 0.0} {0.00 0.37 1.00 0.0} {0.00 0.50 1.00 0.0} {0.00 0.62 1.00 0.0} {0.00 0.75 1.00 0.0} {0.00 0.87 1.00 0.0} {0.00 1.00 1.00 0.0} {0.00 1.00 0.87 0.0} {0.00 1.00 0.75 0.0} {0.00 1.00 0.62 0.0} {0.00 1.00 0.50 0.0} {0.00 1.00 0.37 0.0} {0.00 1.00 0.25 0.0} {0.00 1.00 0.12 0.0} {0.00 1.00 0.00 0.0} {0.12 1.00 0.00 0.0} {0.25 1.00 0.00 0.0} {0.37 1.00 0.00 0.0} {0.50 1.00 0.00 0.0} {0.62 1.00 0.00 0.0} {0.00 0.00 0.00 1.0}] def /ifa %Verteilung 48 Farben auf 65 Wellenlaengen ohne Purpur, 380_700:64 [00 00 00 01 01 01 02 02 03 03 04 04 05 05 06 06 07 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 30 31 31 32 32 33 33 34 34 34 34 34 34 34 34 35 35 35 35 35 35 35 35 35] def /proc_Aij_Bij {%BEG proc_Aij_Bij %ED TC1-36 CIE 171-2, 2015, page 16, line 20-23, eq. (8.18) %transforms lmsF (2 degree) to xyzF (2 degree) %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /A11_F02 1.94735469 def /A12_F02 -1.41445123 def /A13_F02 0.36476327 def /A21_F02 0.68990272 def /A22_F02 0.34832189 def /A23_F02 0.00000000 def /A31_F02 0.00000000 def /A32_F02 0.00000000 def /A33_F02 1.93485343 def %ED TC1-36 CIE 171-2, 2015, page 20, line 14. eq. (8.21) %transforms lmsF (10 degree) to xyzF (10 degree) %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /A11_F10 1.93986443 def /A12_F10 -1.34664359 def /A13_F10 0.43044935 def /A21_F10 0.69283932 def /A22_F10 0.34967567 def /A23_F10 0.00000000 def /A31_F10 0.00000000 def /A32_F10 0.00000000 def /A33_F10 2.14687945 def %17M1 %transforms lmsF (10 degree) to xyzF (10 degree) %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /A11_17M1 1.93986443 def /A12_17M1 -1.34664359 def /A13_17M1 0.43044935 def /A21_17M1 0.69283932 def /A22_17M1 0.34967567 def /A23_17M1 0.00000000 def /A31_17M1 0.00000000 def /A32_17M1 0.00000000 def /A33_17M1 2.14687945 def %17M2 %transforms lmsF (02 degree) to xyzF (02 degree) %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /A11_17M2 1.40000000 def /A12_17M2 -0.70000000 def /A13_17M2 0.30000000 def /A21_17M2 0.50000000 def /A22_17M2 0.50000000 def /A23_17M2 0.00000000 def /A31_17M2 0.00000000 def /A32_17M2 0.00000000 def /A33_17M2 1.00000000 def %17M %transforms lmsF (02 degree) to xyzF (02 degree) %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /A11_17M 1.32000000 def /A12_17M -0.66000000 def /A13_17M 0.34000000 def /A21_17M 0.50000000 def /A22_17M 0.50000000 def /A23_17M 0.00000000 def /A31_17M 0.00000000 def /A32_17M 0.00000000 def /A33_17M 1.00000000 def %17M4 %transforms lmsF (02 degree) to xyzF (02 degree) %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /A11_17M4 1.32000000 def /A12_17M4 -0.66000000 def /A13_17M4 0.34000000 def /A21_17M4 0.50000000 def /A22_17M4 0.50000000 def /A23_17M4 0.00000000 def /A31_17M4 0.00000000 def /A32_17M4 0.00000000 def /A33_17M4 1.00000000 def %17M5 %transforms lmsF (02 degree) to xyzF (02 degree) %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /A11_17M5 2.64000000 def /A12_17M5 -1.32000000 def /A13_17M5 0.68000000 def /A21_17M5 0.50000000 def /A22_17M5 0.50000000 def /A23_17M5 0.00000000 def /A31_17M5 0.00000000 def /A32_17M5 0.00000000 def /A33_17M5 1.00000000 def %17M6 %transforms lmsF (02 degree) to xyzF (02 degree) %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /A11_17M6 2.60000000 def /A12_17M6 -1.30000000 def /A13_17M6 0.70000000 def /A21_17M6 0.50000000 def /A22_17M6 0.50000000 def /A23_17M6 0.00000000 def /A31_17M6 0.00000000 def /A32_17M6 0.00000000 def /A33_17M6 1.00000000 def %Convert Xc,Yc,Zc to cone responses L, M, S (R',G',B') %using the Hunt-Pointer_Estevez (HPE) matrix %see CIE 214:2077 colour fidelity-Index %see Ohta/Robertson, book Wiley, p. 202 %see Fairchild, book Wiley, p. 211 %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E /B11_HPE 0.38971 def /B12_HPE 0.68898 def /B13_HPE -0.07868 def /B21_HPE -0.22981 def /B22_HPE 1.18340 def /B23_HPE 0.04641 def /B31_HPE 0.00000 def /B32_HPE 0.00000 def /B33_HPE 1.00000 def %Nayatani in Ohta S. 195-196, similar data not for CIE illuminant E %/B11_NAY 0.40024 def %/B12_NAY 0.70760 def %/B13_NAY -0.08081 def %/B21_NAY -0.22630 def %/B22_NAY 1.16532 def %/B23_NAY 0.04570 def %/B31_NAY 0.00000 def %/B32_NAY 0.00000 def %/B33_NAY 0.91822 def %Aij transforms nomalized LMS to normalized XYZ values for CIE illuminant E %Bij transforms nomalized XYZ to normalized LMS values for CIE illuminant E xchart4 0 eq xchart4 1 eq or {%XYZ_02, XYZ_10 /B11 B11_HPE def /B12 B12_HPE def /B13 B13_HPE def /B21 B21_HPE def /B22 B22_HPE def /B23 B23_HPE def /B31 B31_HPE def /B32 B32_HPE def /B33 B33_HPE def } if xchart4 2 eq xchart4 4 eq or {%LMS_F02 /A11 A11_F02 def /A12 A12_F02 def /A13 A13_F02 def /A21 A21_F02 def /A22 A22_F02 def /A23 A23_F02 def /A31 A31_F02 def /A32 A32_F02 def /A33 A33_F02 def } if xchart4 3 eq xchart4 5 eq or {%LMS_F10 /A11 A11_F10 def /A12 A12_F10 def /A13 A13_F10 def /A21 A21_F10 def /A22 A22_F10 def /A23 A23_F10 def /A31 A31_F10 def /A32 A32_F10 def /A33 A33_F10 def } if xchart4 6 eq {%LMS_17M1 /A11 A11_17M1 def /A12 A12_17M1 def /A13 A13_17M1 def /A21 A21_17M1 def /A22 A22_17M1 def /A23 A23_17M1 def /A31 A31_17M1 def /A32 A32_17M1 def /A33 A33_17M1 def } if xchart4 7 eq {%LMS_17M2 /A11 A11_17M2 def /A12 A12_17M2 def /A13 A13_17M2 def /A21 A21_17M2 def /A22 A22_17M2 def /A23 A23_17M2 def /A31 A31_17M2 def /A32 A32_17M2 def /A33 A33_17M2 def } if xchart4 8 eq {%LMS_17M /A11 A11_17M def /A12 A12_17M def /A13 A13_17M def /A21 A21_17M def /A22 A22_17M def /A23 A23_17M def /A31 A31_17M def /A32 A32_17M def /A33 A33_17M def } if xchart4 9 eq {%LMS_17M4 /A11 A11_17M4 def /A12 A12_17M4 def /A13 A13_17M4 def /A21 A21_17M4 def /A22 A22_17M4 def /A23 A23_17M4 def /A31 A31_17M4 def /A32 A32_17M4 def /A33 A33_17M4 def } if xchart4 0 eq xchart4 1 eq or {%xchart4=0,1 /C11 B11 def /C12 B12 def /C13 B13 def /C21 B21 def /C22 B22 def /C23 B23 def /C31 B31 def /C32 B32 def /C33 B33 def proc_Cij_Eij /A11 E11 def /A12 E12 def /A13 E13 def /A21 E21 def /A22 E22 def /A23 E23 def /A31 E31 def /A32 E32 def /A33 E33 def } if %xchart4=0,1 xchart4 2 eq xchart4 3 eq or xchart4 4 eq or xchart4 5 eq or xchart4 6 eq or xchart4 7 eq or xchart4 8 eq or xchart4 9 eq or {%xchart4=2,9,1 /C11 A11 def /C12 A12 def /C13 A13 def /C21 A21 def /C22 A22 def /C23 A23 def /C31 A31 def /C32 A32 def /C33 A33 def proc_Cij_Eij /B11 E11 def /B12 E12 def /B13 E13 def /B21 E21 def /B22 E22 def /B23 E23 def /B31 E31 def /B32 E32 def /B33 E33 def } if %xchart4=2,9,1 } bind def %END proc_Aij_Bij %************************************************************************* %****************************************************** %%EndProlog gsave %lanindL2.EPS START 20000505 /lanind 0 def /lantex [(G) (E) (S) (F) (I) (J) (M)] def /showde {0 lanind eq {show} {pop} ifelse} bind def /showen {1 lanind eq {show} {pop} ifelse} bind def /showes {2 lanind eq {show} {pop} ifelse} bind def /showfr {3 lanind eq {show} {pop} ifelse} bind def /showit {4 lanind eq {show} {pop} ifelse} bind def /showjp {5 lanind eq {show} {pop} ifelse} bind def /showea {1 lanind le {show} {pop} ifelse} bind def /lanindf where {pop /lanind1 lanindf def /lanind2 lanindf def /lanindd laninddf def} {/lanind1 0 def /lanind2 0 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /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 /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 00 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 00 def /xchartm 01 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 00 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 8 def} ifelse %08/09=LMS_17M/M4 /xchart8f where {pop /xchart8 xchart8f def} {/xchart8 1 def} ifelse %0:Pxx, 1:Dxx /xchart xchart1 def %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % colorm 0 eq deintp 0 eq and {/Txx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def} if %always independent of intended output gsave %LANINDL2 END /xchart8 1 def %0:PXX, 1:DXX /TELi0 8 array def /TELi1 8 array def /TELi 8 array def /TELi0 [(P60) (P55) (P50) (P45) (P40) (P35) (P30) (P25)] def %7 illumin. /TELi1 [(D65) (D50) (P40) (A00) (E00) (C00) (P00) (Q00)] def %7 illumin. 0 1 7 {/i exch def %i=0,7 xchart8 0 eq {%xchart8=0 TELi i TELi0 i get put }%xchart8=0 {%xchart8=1 TELi i TELi1 i get put } ifelse %xchart8=1 } for %i=0,7 /xchart13 4 def %xchart13=0(CIE_02),1(CIE_10),2(CIE_F02),3(CIE_F10),4/5 (model) /xchart14 0 def %xchart14=0(unnormiert, normiert) %xchart15 0 def %tsa=0.00 %xchart15 1 def %tsa=0.02 /xchart15 0 def %0:tsa=0.00, 1:tsa=0.20 xchart15 0 eq {/tsa 0.00 def} if xchart15 1 eq {/tsa 0.02 def} if /xcolor xcolor1 def %2,10 degree observer /xchartx xchart1 def %8 illuminants 0 1 7 {/xchartx exch def %xchartx=0,7 %8 illuminants proc_CIE_LMS0 proc_Aij_Bij %actual 2 or 10-degree CIE standard observer, 80 data, 380-775nm, delta=5nm /ycuri 80 array def /ycurj 80 array def %/lE1j 80 array def /mE1j 80 array def /sE1j 80 array def %/lESj 80 array def /mESj 80 array def /sESj 80 array def %/XE1j 80 array def /YE1j 80 array def /ZE1j 80 array def %/xanE1j 80 array def /yanE1j 80 array def /zanE1j 80 array def /XESj 80 array def /YESj 80 array def /ZESj 80 array def /xanESj 80 array def /yanESj 80 array def /zanESj 80 array def /XASj 80 array def /YASj 80 array def /ZASj 80 array def /xanASj 80 array def /yanASj 80 array def /zanASj 80 array def /XASNj 80 array def /YASNj 80 array def /ZASNj 80 array def /xanASNj 80 array def /yanASNj 80 array def /zanASNj 80 array def /XASMj 80 array def /YASMj 80 array def /ZASMj 80 array def /xanASMj 80 array def /yanASMj 80 array def /zanASMj 80 array def 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lESj i lE0j i get SE00 i get mul put mESj i mE0j i get SE00 i get mul put %no change for SDAK=E00 sESj i sE0j i get SE00 i get mul put } for %i=0,1,79 /fl0S 0 def /fm0S 0 def /fs0S 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fl0S fl0S lESj i get add def /fm0S fm0S mESj i get add def /fs0S fs0S sESj i get add def } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lESj i lESj i get fl0S div 100 mul put mESj i mESj i get fm0S div 100 mul put %no change for SDAK=E00 sESj i sESj i get fs0S div 100 mul put } for %i=0,1,79 /flES 0 def /fmES 0 def /fsES 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /flES flES lESj i get add def /fmES fmES mESj i get add def /fsES fsES sESj i get add def } for %i=0,79 /sumES flES fmES add fsES add def /lanES flES sumES 0.01 add div def /manES fmES sumES 0.01 add div def /sanES fsES sumES 0.01 add div def /lR1j 80 array def /mR1j 80 array def /sR1j 80 array def /lRSj 80 array def /mRSj 80 array def /sRSj 80 array def /XR1j 80 array def /YR1j 80 array def /ZR1j 80 array def /xanR1j 80 array def /yanR1j 80 array def /zanR1j 80 array def /XRSj 80 array def /YRSj 80 array def /ZRSj 80 array def /xanRSj 80 array def /yanRSj 80 array def /zanRSj 80 array def 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lRSj i lE0j i get SE00 i get mul put mRSj i mE0j i get SE00 i get mul put %no change for SDAK=E00 sRSj i sE0j i get SE00 i get mul put } for %i=0,1,79 /fl0S 0 def /fm0S 0 def /fs0S 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fl0S fl0S lRSj i get add def /fm0S fm0S mRSj i get add def /fs0S fs0S sRSj i get add def } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lRSj i lRSj i get fl0S div 100 mul put mRSj i mRSj i get fm0S div 100 mul put %no change for SDAK=E00 sRSj i sRSj i get fs0S div 100 mul put } for %i=0,1,79 /flRS 0 def /fmRS 0 def /fsRS 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /flRS flRS lRSj i get add def /fmRS fmRS mRSj i get add def /fsRS fsRS sRSj i get add def } for %i=0,79 /sumRS flRS fmRS add fsRS add def /lanRS flRS sumRS 0.01 add div def /manRS fmRS sumRS 0.01 add div def /sanRS fsRS sumRS 0.01 add div def /lA1j 80 array def /mA1j 80 array def /sA1j 80 array def /lASj 80 array def /mASj 80 array def /sASj 80 array def /XA1j 80 array def /YA1j 80 array def /ZA1j 80 array def /xanA1j 80 array def /yanA1j 80 array def /zanA1j 80 array def /XASj 80 array def /YASj 80 array def /ZASj 80 array def /xanASj 80 array def /yanASj 80 array def /zanASj 80 array def 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lASj i lE0j i get SDAK i get mul put mASj i mE0j i get SDAK i get mul put %no change for SDAK=E00 sASj i sE0j i get SDAK i get mul put } for %i=0,1,79 /flAS 0 def /fmAS 0 def /fsAS 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /flAS flAS lASj i get add def /fmAS fmAS mASj i get add def /fsAS fsAS sASj i get add def } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lASj i lASj i get flAS div 100 mul put mASj i mASj i get fmAS div 100 mul put %no change for SDAK=E00 sASj i sASj i get fsAS div 100 mul put } for %i=0,1,79 /lD1j 80 array def /mD1j 80 array def /sD1j 80 array def /lDSj 80 array def /mDSj 80 array def /sDSj 80 array def /XD1j 80 array def /YD1j 80 array def /ZD1j 80 array def /xanD1j 80 array def /yanD1j 80 array def /zanD1j 80 array def /XDSj 80 array def /YDSj 80 array def /ZDSj 80 array def /xanDSj 80 array def /yanDSj 80 array def /zanDSj 80 array def 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lDSj i lE0j i get SDAK i get mul put mDSj i mE0j i get SDAK i get mul put %no change for SDAK=E00 sDSj i sE0j i get SDAK i get mul put } for %i=0,1,79 /fl0S 0 def /fm0S 0 def /fs0S 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fl0S fl0S lDSj i get add def /fm0S fm0S mDSj i get add def /fs0S fs0S sDSj i get add def } for %i=0,79 0 1 79 {/i exch def %i=0,1,79 %normalisation for X=D65, D50,...,Q00 %based on normalisation lms to 100 for E00 lDSj i lDSj i get fl0S div 100 mul put mDSj i mDSj i get fm0S div 100 mul put %no change for SDAK=E00 sDSj i sDSj i get fs0S div 100 mul put } for %i=0,1,79 /flDS 0 def /fmDS 0 def /fsDS 0 def 0 1 79 {/i exch def %i=0,79 Summe fsumlms /flDS flDS lDSj i get add def /fmDS fmDS mDSj i get add def /fsDS fsDS sDSj i get add def } for %i=0,79 /sumDS flDS fmDS add fsDS add def /lanDS flDS sumDS 0.01 add div def /manDS fmDS sumDS 0.01 add div def /sanDS fsDS sumDS 0.01 add div def 5 /Times-ISOL1 FS /cvishow {cvi 6 string cvs show} def %75 85 moveto %lanind cvishow (-) show %colorm cvishow %deintp cvishow %xcolor cvishow %xchart cvishow %pchart cvishow %colsep cvishow (-L) show pmetam cvishow gsave %XCHA01.PS END 5 /Times-ISOL1 FS %175 85 moveto (CG081-7R) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 30 setlinewidth 20 setlinewidth %0 0 25000 17100 0.0 0.0 0.0 0.0 colrecfi %area white grey %0 0 25000 17100 0.0 0.0 0.0 1.0 colrecst %Rahmen Schwarz /xchartl 14 def %0 1 15 {/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 % xchartl 8 eq {13500 13000 translate} if % xchartl 9 eq {19500 13000 translate} if % xchartl 10 eq {13500 08750 translate} if % xchartl 11 eq {19500 08750 translate} if % xchartl 12 eq {13500 4500 translate} if % xchartl 13 eq {19500 4500 translate} if % xchartl 14 eq {13500 0250 translate} if % xchartl 15 eq {19500 0250 translate} if 150 /Times-ISOL1 FS 0 setgray 300 -150 moveto xchartl 7 le {(CG081-) show} {(CG081-) show} ifelse xchartl 0 ge xchartl 7 le and {xchartl 1 add cvishow} if xchartl 8 ge xchartl 15 le and {xchartl 7 sub cvishow} if (A) show %A (_) show xchart 1 add cvishow /xwidth 5400 def /ywidth 4000 def 0.0 0.0 0.0 0.0 setcmykcolor 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 setlinewidth 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 20 setlinewidth 0 0 xwidth ywidth 0.0 0.0 0.0 1.0 colrecst %frame black /xpos 5 array def /xpos [1500 2000 2850 3700 4600] def /ymax 3000 def /ydel 0500 def 200 /Times-ISOL1 FS 0 setgray TBK %Schrift Times-Bold-Gross 0.0 0.0 0.0 1.0 setcmykcolor %font black 1800 100 moveto (Wellenl\344nge ) showde %08141-1 1 (wavelength ) showen %18141-1 1 (Ancho de banda ) showes %28141-1 1 (wavelength ) showfr %38141-1 1 (wavelength ) showit %48141-1 1 (wavelength ) showjp %58141-1 1 SK (l) show TBK 30 0 rmoveto (/nm) show %scale x 3*1200=3600 %scale y 4*600=2400 /xd 70 def /xd2 140 def /ix0 450 def /iy0 650 def /ixd0 240 def %x-start at 380 nm /ixd 1200 def /iyd 600 def /tx [ (400) (500) (600) (700)] def /ty1 [(0,0) ( ) (1,0) ( ) (2,0) ( ) ] def /tys [(0,0) (2,5) (5,0) (7,5) (10) ( ) ] def /tyt [(-5,0) (-2,5) ( 0,0) ( 2,5) ( 5,0) ( ) ] def /ty20 [( 0) (10) (20) (30) (40) (50) ] def 40 setlinewidth ix0 iy0 moveto 4300 0 rlineto stroke %x ix0 iy0 moveto 0 2700 rlineto stroke %y 30 setlinewidth ix0 4300 add iy0 moveto -100 050 rlineto stroke %x_arrow ix0 4300 add iy0 moveto -100 -050 rlineto stroke %x_arrow ix0 iy0 2700 add moveto -050 -100 rlineto stroke %y_arrow ix0 iy0 2700 add moveto 050 -100 rlineto stroke %y_arrow %cero line 20 setlinewidth [100 ] 0 setdash xchartl 00 ge xchartl 02 le and { ix0 iy0 1200 add moveto 4300 0 rlineto stroke %x-cero } if xchartl 03 ge xchartl 05 le and { ix0 iy0 1200 add moveto 4300 0 rlineto stroke %x-cero } if xchartl 08 ge xchartl 10 le and { ix0 iy0 1200 add moveto 4300 0 rlineto stroke %x-cero } if xchartl 11 ge xchartl 13 le and { ix0 iy0 1200 add moveto 4300 0 rlineto stroke %x-cero } if [ ] 0 setdash 40 setlinewidth 0 1 3 {/i exch def %x ix0 ixd0 add i ixd mul add iy0 50 sub moveto 0 100 rlineto stroke } for 0 1 4 {/i exch def %y ix0 050 sub iy0 i iyd mul add moveto 100 0 rlineto stroke } for TBS 0 1 3 {/i exch def %xtex ix0 ixd0 add i ixd mul add 150 sub iy0 250 sub moveto tx i get show } for %/i 3 def %ix0 ixd0 add i ixd mul add 150 add iy0 300 add moveto %TELi xchartx get show 0 1 4 {/i exch def %ytex ix0 300 sub xchartl 06 eq xchartl 07 eq or xchartl 14 eq or xchartl 15 eq or {150 sub} if iy0 i iyd mul add 100 sub moveto xchartl 00 ge xchartl 02 le and {tys i get show} if xchartl 03 ge xchartl 05 le and {tys i get show} if xchartl 06 ge xchartl 07 le and {tyt i get show} if xchartl 08 ge xchartl 10 le and {tys i get show} if xchartl 11 ge xchartl 13 le and {tys i get show} if xchartl 14 ge xchartl 15 le and {tyt i get show} if } for %XYZES**************************************************************** 0 1 79 {/i exch def %i=0,79 XESj i A11 lESj i get mul A12 mESj i get mul add A13 sESj i get mul add put YESj i A21 lESj i get mul A22 mESj i get mul add A23 sESj i get mul add put ZESj i A31 lESj i get mul A32 mESj i get mul add A33 sESj i get mul add put } for %i=0,79 /fXES 0 def /fYES 0 def /fZES 0 def %assumption sum=equal 100 for E 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fXES fXES XESj i get add def /fYES fYES YESj i get add def /fZES fZES ZESj i get add def } for %i=0,79 /sumES fXES fYES add fZES add def /xanES fXES sumES 0.01 add div def /yanES fYES sumES 0.01 add div def 0 1 79 {/i exch def %i=0,79 xyzan /sumXYZ XESj i get YESj i get add ZESj i get add def xanESj i XESj i get sumXYZ 0.01 add div put yanESj i YESj i get sumXYZ 0.01 add div put zanESj i ZESj i get sumXYZ 0.01 add div put } for %i=0,79 %XYZAS_from XYZES********************************************************** 0 1 79 {/i exch def %i=0,79 XASj i XESj i get SE00 i get mul put YASj i YESj i get SE00 i get mul put ZASj i ZESj i get SE00 i get mul put } for %i=0,79 /fXAS 0 def /fYAS 0 def /fZAS 0 def %assumption sum=equal 100 for E 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fXAS fXAS XASj i get add def /fYAS fYAS YASj i get add def /fZAS fZAS ZASj i get add def } for %i=0,79 %normalization: fXAS, fYAS, fZAS 0 1 79 {/i exch def %i=0,79 XASj i XASj i get fXAS 0.0001 add div 100 mul put YASj i YASj i get fYAS 0.0001 add div 100 mul put ZASj i ZASj i get fZAS 0.0001 add div 100 mul put } for %i=0,79 /sumAS fXAS fYAS add fZAS add def /xanAS fXAS sumAS 0.01 add div def /yanAS fYAS sumAS 0.01 add div def 0 1 79 {/i exch def %i=0,79 xyzan /sumXYZ XASj i get YASj i get add ZASj i get add def xanASj i XASj i get sumXYZ 0.01 add div put yanASj i YASj i get sumXYZ 0.01 add div put zanASj i ZASj i get sumXYZ 0.01 add div put } for %i=0,79 %******************************************************************** %normalization: three times fYAS 0 1 79 {/i exch def %i=0,79 XASNj i XESj i get SDAK i get mul put YASNj i YESj i get SDAK i get mul put ZASNj i ZESj i get SDAK i get mul put } for %i=0,79 /fXASN 0 def /fYASN 0 def /fZASN 0 def %assumption sum=equal 100 for E 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fXASN fXASN XASNj i get add def /fYASN fYASN YASNj i get add def /fZASN fZASN ZASNj i get add def } for %i=0,79 %normalization: fXASN, fYASN, fZASN 0 1 79 {/i exch def %i=0,79 XASNj i XASNj i get fYASN 0.0001 add div 100 mul put YASNj i YASNj i get fYASN 0.0001 add div 100 mul put ZASNj i ZASNj i get fYASN 0.0001 add div 100 mul put } for %i=0,79 %again to show result of normalisation /fXASN 0 def /fYASN 0 def /fZASN 0 def %assumption sum=equal 100 for E 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fXASN fXASN XASNj i get add def /fYASN fYASN YASNj i get add def /fZASN fZASN ZASNj i get add def } for %i=0,79 /sumASN fXASN fYASN add fZASN add def /xanASN fXASN sumASN 0.01 add div def /yanASN fYASN sumASN 0.01 add div def 0 1 79 {/i exch def %i=0,79 xyzan /sumXYZ XASNj i get YASNj i get add ZASNj i get add def xanASNj i XASNj i get sumXYZ 0.01 add div put yanASNj i YASNj i get sumXYZ 0.01 add div put zanASNj i ZASNj i get sumXYZ 0.01 add div put } for %i=0,79 %******************************************************************** %normalization: fXAS, fYAS, fZAS 0 1 79 {/i exch def %i=0,79 XASMj i XESj i get SDAK i get mul put YASMj i YESj i get SDAK i get mul put ZASMj i ZESj i get SDAK i get mul put } for %i=0,79 /fXASM 0 def /fYASM 0 def /fZASM 0 def %assumption sum=equal 100 for E 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fXASM fXASM XASMj i get add def /fYASM fYASM YASMj i get add def /fZASM fZASM ZASMj i get add def } for %i=0,79 %normalization: fXASM, fYASM, fZASM 0 1 79 {/i exch def %i=0,79 XASMj i XASMj i get fXASM 0.0001 add div 100 mul put YASMj i YASMj i get fYASM 0.0001 add div 100 mul put ZASMj i ZASMj i get fZASM 0.0001 add div 100 mul put } for %i=0,79 %again to show result of normalisation /fXASM 0 def /fYASM 0 def /fZASM 0 def %assumption sum=equal 100 for E 0 1 79 {/i exch def %i=0,79 Summe fsumlms /fXASM fXASM XASMj i get add def /fYASM fYASM YASMj i get add def /fZASM fZASM ZASMj i get add def } for %i=0,79 /sumASM fXASM fYASM add fZASM add def /xanASM fXASM sumASM 0.01 add div def /yanASM fYASM sumASM 0.01 add div def 0 1 79 {/i exch def %i=0,79 xyzan /sumXYZ XASMj i get YASMj i get add ZASMj i get add def xanASMj i XASMj i get sumXYZ 0.01 add div put yanASMj i YASMj i get sumXYZ 0.01 add div put zanASMj i ZASMj i get sumXYZ 0.01 add div put } for %i=0,79 %******************************************************************** /lASNj 80 array def /mASNj 80 array def /sASNj 80 array def %reverse transfer XYZ -> LMS 0 1 79 {/i exch def %i=0,79 lASNj i B11 XASNj i get mul B12 YASNj i get mul add B13 ZASNj i get mul add put mASNj i B21 XASNj i get mul B22 YASNj i get mul add B23 ZASNj i get mul add put sASNj i B31 XASNj i get mul B32 YASNj i get mul add B33 ZASNj i get mul add put } for %i=0,79 /flASN 0 def /fmASN 0 def /fsASN 0 def %assumption sum=equal 100 for E 0 1 79 {/i exch def %i=0,79 Summe fsumlms /flASN flASN lASNj i get add def /fmASN fmASN mASNj i get add def /fsASN fsASN sASNj i get add def } for %i=0,79 /lms_ASN flASN fmASN add fsASN add def /lASN flASN lms_ASN 0.01 add div def /mASN fmASN lms_ASN 0.01 add div def /sASN fsASN lms_ASN 0.01 add div def %****************************************************************** /lASMj 80 array def /mASMj 80 array def /sASMj 80 array def %reverse transfer XYZ -> LMS 0 1 79 {/i exch def %i=0,79 lASMj i B11 XASMj i get mul B12 YASMj i get mul add B13 ZASMj i get mul add put mASMj i B21 XASMj i get mul B22 YASMj i get mul add B23 ZASMj i get mul add put sASMj i B31 XASMj i get mul B32 YASMj i get mul add B33 ZASMj i get mul add put } for %i=0,79 /flASM 0 def /fmASM 0 def /fsASM 0 def %assumption sum=equal 100 for E 0 1 79 {/i exch def %i=0,79 Summe fsumlms /flASM flASM lASMj i get add def /fmASM fmASM mASMj i get add def /fsASM fsASM sASMj i get add def } for %i=0,79 /lms_ASM flASM fmASM add fsASM add def /lASM flASM lms_ASM 0.01 add div def /mASM fmASM lms_ASM 0.01 add div def /sASM fsASM lms_ASM 0.01 add div def /inx4 10 array def %index for xchart4 and number BLxx (xx=40 to 65) %0,40 1,42 2,44 3,46 /inx4 [(02) (10) (F02_X) (F10_X) %4,48 5,50 6,52 7,54 (F02_L) (F10_L) (17M1) (17M2) %8,56 9,58 (17M) (17M4)] def /xposj 3000 def /yposj 2900 def /yposj0 yposj 300 add def %3200 /yposjP yposj 600 add def %3500 /yposjT yposj 900 add def %3800 /yposjM yposj 300 sub def %2600 /yposjK yposj 600 sub def %2300 /W0 570 def %dummy /W1 540 def /W2 440 def %********************************************************************* /proc_LMS1_02 {%BEG proc_LMS1_02 xchartl=0,7 /lamdak {TBK (\050) show SK (l) show TBK (\051) show} bind def /lamda1ED {inx4 xchart4 get ib4 (1E,D) ib4} def /lamdasED {inx4 xchart4 get ib4 (sE,D) ib4} def xchartl 00 ge xchartl 02 le and {/lamdaxED {lamda1ED} def /lamdakx {lamda1ED lamdak} def} if xchartl 03 ge xchartl 05 le and {/lamdaxED {lamdasED} def /lamdakx {lamdasED lamdak} def} if xchartl 06 ge xchartl 07 le and {/lamdaxED {lamda1ED} def /lamdakx {lamda1ED lamdak} def} if 100 yposjT moveto TBIK (LMS_) show TBK inx4 xchart4 get show TBK xchartl 00 ge xchartl 02 le and {(1) show} if xchartl 03 ge xchartl 05 le and {(s) show} if xchartl 06 ge xchartl 07 le and {(1) show} if xchartl 00 ge xchartl 05 le and { (\255Zapfen\255Empfindlichkeit) showde %08141-1 2 ( cone sensitivity) showen %18141-1 2 } if xchartl 06 eq {TBIK ( RG) show} if xchartl 07 eq {TBIK ( YB) show} if xchartl 06 ge xchartl 07 le and {TBK (\255Buntwerte) showde %08141-1 2 ( chromatic values) showen %18141-1 2 } if xchartl 00 ge xchartl 02 le and {(; ) show TIK (Y) show (w) ib4 TBK (=100) show } if xchartl 03 ge xchartl 05 le and {(; ) show TIK (XYZ) show (w) ib4 TBK (=100) show } if xchartl 06 ge xchartl 07 le and {(; ) show TIK (Y) show (w) ib4 TBK (=100) show } if 100 yposjP moveto TBIK xchartl 00 eq {(l) show} if xchartl 01 eq {(m) show} if xchartl 02 eq {(s) show} if xchartl 03 eq {(l) show} if xchartl 04 eq {(m) show} if xchartl 05 eq {(s) show} if xchartl 06 eq {(a) show} if xchartl 07 eq {(b) show} if xchartl 00 eq {-100 140 rmoveto (-) show -40 -140 rmoveto} if xchartl 01 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 02 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 03 eq {-100 140 rmoveto (-) show -40 -140 rmoveto} if xchartl 04 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 05 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 06 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 07 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if lamdakx xchartl 06 eq {TBK (=[) show TBIK (x) show} if xchartl 07 eq {TBK (=-0,4[) show TBIK (z) show} if xchartl 06 ge xchartl 07 le and {-120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (-\050) show xchartl 06 eq {TBIK (X) show} if xchartl 07 eq {TBIK (Z) show} if (w) ib4 TBIK (/Y) show (w) ib4 TBK (\051) show TBIK (y) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx (]) show 100 450 add yposjP 300 sub moveto TBIK (y) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (=[0,5) show TBIK (l) show -100 140 rmoveto (-) show -40 -140 rmoveto lamdakx TBK (+0,5) show TBIK (m) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx (]) show } if TBIK xchartl 06 eq {%xchartl=06 100 450 add yposjP 600 sub moveto (x) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (=[) show TBK (A) show (11) is4 TBIK (l) show -100 140 rmoveto (-) show -40 -140 rmoveto lamdakx TBK (+) show TBK (A) show (12) is4 TBIK (m) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx 100 450 add yposjP 900 sub moveto TBK (+) show TBK (A) show (13) is4 TBIK (s) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (]) show TBIK (S) show lamdak (E,D) is4 (; ) show TBIK (t) show (sa) is4 TBK (=) show tsa cvsshow2x (; E00, ) show TELi xchartx get show %/xpos [1500 2000 2900 3800 4500] def xpos 0 get yposjP 1200 sub moveto (A) show (1j) is4 TK (:) show xpos 1 get yposjP 1200 sub moveto A11 cvsshow4x xpos 2 get yposjP 1200 sub moveto A12 cvsshow4x xpos 3 get yposjP 1200 sub moveto A13 cvsshow4x xpos 4 get yposjP 1200 sub moveto (\050) show SK (l) show TK (=) show W0 cvishow (\051) show } if %xchartl=06 xchartl 07 eq {%xchartl=07 100 450 add yposjP 600 sub moveto (z) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (=) show (s) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (; E00, ) show TELi xchartx get show } if %xchartl=07 xchartl 00 eq xchartl 03 eq or {%xchartl=00,03 TBK (=[) show TBK (B) show (11) is4 TBIK (x) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (+) show TBK (B) show (12) is4 TBIK (y) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx 600 yposj0 moveto TBK (+) show TBK (B) show (13) is4 TBIK (z) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (]) show TBIK (S) show lamdak (E,D) is4 } if %xchartl=00,03 xchartl 01 eq xchartl 04 eq or {%xchartl=01,04 TBK (=[) show TBK (B) show (21) is4 TBIK (x) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (+) show TBK (B) show (22) is4 TBIK (y) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx 600 yposj0 moveto TBK (+) show TBK (B) show (23) is4 TBIK (z) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (]) show TBIK (S) show lamdak (E,D) is4 } if %xchartl=01,04 xchartl 02 eq xchartl 05 eq or {%xchartl=02,05 TBK (=[) show TBK (B) show (31) is4 TBIK (x) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (+) show TBK (B) show (32) is4 TBIK (y) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx 600 yposj0 moveto TBK (+) show TBK (B) show (33) is4 TBIK (z) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (]) show TBIK (S) show lamdak (E,D) is4 } if %xchartl=02,05 xchartl 00 ge xchartl 05 le and {%00<=xchartl<=05 (; ) show TBIK (t) show (sa) is4 TBK (=) show tsa cvsshow2x (; E00, ) show TELi xchartx get show } if %00<=xchartl<=05 TK %/xpos [1500 2000 2900 3800 4500] def xchartl 00 eq xchartl 03 eq or {xpos 0 get yposj moveto (B) show (1j) is4 TK (:) show xpos 1 get yposj moveto B11 cvsshow4x xpos 2 get yposj moveto B12 cvsshow4x xpos 3 get yposj moveto B13 cvsshow4x xpos 4 get yposj moveto (\050) show SK (l) show TK (=) show W0 cvishow (\051) show} if xchartl 01 eq xchartl 04 eq or {xpos 0 get yposj moveto (B) show (2j) is4 TK (:) show xpos 1 get yposj moveto B21 cvsshow4x xpos 2 get yposj moveto B22 cvsshow4x xpos 3 get yposj moveto B23 cvsshow4x xpos 4 get yposj moveto (\050) show SK (l) show TK (=) show W1 cvishow (\051) show} if xchartl 02 eq xchartl 05 eq or {xpos 0 get yposj moveto (B) show (3j) is4 TK (:) show xpos 1 get yposj moveto B31 cvsshow4x xpos 2 get yposj moveto B32 cvsshow4x xpos 3 get yposj moveto B33 cvsshow4x xpos 4 get yposj moveto (\050) show SK (l) show TK (=) show W2 cvishow (\051) show} if 0 1 79 {/i exch def %i=0,79 xchartl 00 eq {ycuri i lASNj i get 0.2 mul put} if xchartl 01 eq {ycuri i mASNj i get 0.2 mul put} if xchartl 02 eq {ycuri i sASNj i get 0.2 mul put} if xchartl 03 eq {ycuri i lASMj i get 0.2 mul put} if xchartl 04 eq {ycuri i mASMj i get 0.2 mul put} if xchartl 05 eq {ycuri i sASMj i get 0.2 mul put} if xchartl 06 eq {ycuri i XASNj i get fXASN fYASN div YASNj i get mul sub 0.2 mul put } if xchartl 07 eq {ycuri i ZASNj i get fZASN fYASN div YASNj i get mul sub -0.4 mul 0.2 mul put } if } for %i=0,79 30 setlinewidth /MULXS 0060 def /MULYS 1200 def xchartl 06 ge xchartl 07 le and {%xchartl=06&07 0 1200 translate } if %xchartl=06&07 /xdlamda 5 12 mul def %100nm = 1200 scale units or 5nm=60 scale units 2 1 66 {/i exch def %i=2,66 %ab 390nm bis 710nm, 65 Well. 2..66 %3=390, delta /y10 iy0 def /y11 iy0 ycuri i get MULYS mul add def /y21 iy0 ycuri i 1 add get MULYS mul add def /x10 ix0 i 2 sub MULXS mul add def %ab 390nm /k {ifa i 2 sub get exec} def %max 65 Farben 0..64 scolors k get exec setcmykcolor xchartl 06 eq {%xchartl=06 RG ycuri i get 0 le {0 1 0 setrgbcolor} {1 0 0 setrgbcolor} ifelse } if %xchartl=06 RG xchartl 07 eq {%xchartl=07 BY ycuri i get 0 le {0 0 1 setrgbcolor} {1 1 0 setrgbcolor} ifelse } if %xchartl=07 BY x10 y10 moveto x10 xdlamda add y10 lineto x10 xdlamda add y21 lineto x10 y11 lineto closepath fill } for %i=2,66 %Black-white curve 0 1 79 {/i exch def %i=0,79 xchartl 0 eq {ycuri i lESj i get 0.2 mul put} if xchartl 1 eq {ycuri i mESj i get 0.2 mul put} if xchartl 2 eq {ycuri i sESj i get 0.2 mul put} if xchartl 3 eq {ycuri i lESj i get 0.2 mul put} if xchartl 4 eq {ycuri i mESj i get 0.2 mul put} if xchartl 5 eq {ycuri i sESj i get 0.2 mul put} if xchartl 6 eq {ycuri i XESj i get YESj i get sub 0.2 mul put } if xchartl 7 eq {ycuri i ZESj i get YESj i get sub -0.4 mul 0.2 mul put } if } for %i=0,79 50 setlinewidth tfn [100 100] 0 setdash /xst ix0 def %ab 390nm /yst iy0 ycuri 0 get MULYS mul add def xst yst moveto 2 3 66 {/i exch def %i=0,75 ab 380nm bis 710nm /xst ix0 i 2 sub MULXS mul add def /yst iy0 ycuri i get MULYS mul add def /x20 ix0 i 1 sub MULXS mul add def /y20 iy0 ycuri i 1 add get MULYS mul add def /x21 ix0 i MULXS mul add def /y21 iy0 ycuri i 2 add get MULYS mul add def /x22 ix0 i 1 add MULXS mul add def /y22 iy0 ycuri i 3 add get MULYS mul add def x20 y20 x21 y21 x22 y22 curveto } for %i=0,75 ab 380nm bis 710nm stroke [ ] 0 setdash xchartl 6 ge xchartl 7 le and {%xchartl=6&7 0 -1200 translate } if %xchartl=6&7 /ioutxy 1 def ioutxy 1 eq {%ioutxy=1 %only for 0<=xchartl<=7 xposj 400 sub yposjM xchartl 06 ge {1100 sub} if moveto TIK (x) show lamdaxED TK (=) show xanES cvsshow4x (; ) show xchartl 00 ge xchartl 02 le and {%00<=xchartl<=02 xanASN cvsshow4x } if %00<=xchartl<=02 xchartl 03 ge xchartl 05 le and {%13<=xchartl<=05 xanASM cvsshow4x } if %03<=xchartl<=05 xchartl 06 ge xchartl 07 le and {%06<=xchartl<=07 xanASN cvsshow4x } if %06<=xchartl<=07 xposj 400 sub yposjM 300 sub xchartl 06 ge {1100 sub} if moveto TIK (y) show lamdaxED TK (=) show yanES cvsshow4x (; ) show xchartl 00 ge xchartl 02 le and {%00<=xchartl<=02 yanASN cvsshow4x } if %00<=xchartl<=02 xchartl 03 ge xchartl 05 le and {%03<=xchartl<=05 yanASM cvsshow4x } if %03<=xchartl<=05 xchartl 06 ge xchartl 07 le and {%06<=xchartl<=07 yanASN cvsshow4x } if %06<=xchartl<=07 } if %ioutxy=1 /ioutls 0 def ioutls 1 eq {%ioutls=1 %only for 0<=xchartl<=7 xposj 400 sub yposjM xchartl 06 ge {1100 sub} if moveto TIK (l) show lamdaxED TK (=) show lESN cvsshow4x (; ) show xchartl 00 ge xchartl 02 le and {%00<=xchartl<=02 lASN cvsshow4x } if %00<=xchartl<=02 xchartl 03 ge xchartl 05 le and {%13<=xchartl<=05 lASM cvsshow4x } if %03<=xchartl<=05 xchartl 06 ge xchartl 07 le and {%06<=xchartl<=07 lASN cvsshow4x } if %06<=xchartl<=07 xposj 400 sub yposjM 300 sub xchartl 06 ge {1100 sub} if moveto TIK (s) show lamdaxED TK (=) show sESN cvsshow4x (; ) show xchartl 00 ge xchartl 02 le and {%00<=xchartl<=02 sASN cvsshow4x } if %00<=xchartl<=02 xchartl 03 ge xchartl 05 le and {%03<=xchartl<=05 sASM cvsshow4x } if %03<=xchartl<=05 xchartl 06 ge xchartl 07 le and {%06<=xchartl<=07 sASN cvsshow4x } if %06<=xchartl<=07 } if %ioutls=1 0 setgray xposj 600 sub yposjM 600 sub xchartl 6 ge {1100 sub} if moveto xchartl 0 eq {SK (S) show TIK (l) show} if xchartl 1 eq {SK (S) show TIK (m) show} if xchartl 2 eq {SK (S) show TIK (s) show} if xchartl 3 eq {SK (S) show TIK (l) show} if xchartl 4 eq {SK (S) show TIK (m) show} if xchartl 5 eq {SK (S) show TIK (s) show} if xchartl 6 eq {SK (S) show TIK (m) show} if xchartl 7 eq {SK (S) show TIK (s) show} if xchartl 0 eq {-100 140 rmoveto (-) show -40 -140 rmoveto} if xchartl 1 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 2 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 3 eq {-100 140 rmoveto (-) show -40 -140 rmoveto} if xchartl 4 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 5 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 6 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 7 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if lamdakx xchartl 00 ge xchartl 07 le and { TK (=) show} if TK xchartl 00 eq {flES cvsshow2x (; ) show flASN cvsshow2x} if xchartl 01 eq {flES cvsshow2x (; ) show fmASN cvsshow2x} if xchartl 02 eq {flES cvsshow2x (; ) show fsASN cvsshow2x} if xchartl 03 eq {flES cvsshow2x (; ) show flASM cvsshow2x} if xchartl 04 eq {flES cvsshow2x (; ) show fmASM cvsshow2x} if xchartl 05 eq {flES cvsshow2x (; ) show fsASM cvsshow2x} if xchartl 06 eq {flES cvsshow2x (; ) show fmASN cvsshow2x} if xchartl 07 eq {flES cvsshow2x (; ) show fsASN cvsshow2x} if } bind def %END proc_LMS1_02, xchartl=0,7 %********************************************************************* /proc_XYZI_02 {%BEG proc_XYZI_02, xchartl=8,15 %defined before %/XESj 80 array def /YESj 80 array def /ZESj 80 array def %/xanESj 80 array def /yanESj 80 array def /zanESj 80 array def %/XASj 80 array def /YASj 80 array def /ZASj 80 array def %/xanASj 80 array def /yanASj 80 array def /zanASj 80 array def %/XASNj 80 array def /YASNj 80 array def /ZASNj 80 array def %/xanASNj 80 array def /yanASNj 80 array def /zanASNj 80 array def %/XASMj 80 array def /YASMj 80 array def /ZASMj 80 array def %/xanASMj 80 array def /yanASMj 80 array def /zanASMj 80 array def /lamdak {TBK (\050) show SK (l) show TBK (\051) show} bind def /lamda1ED {inx4 xchart4 get ib4 (1E,D) ib4} def /lamdasED {inx4 xchart4 get ib4 (sE,D) ib4} def xchartl 08 ge xchartl 10 le and {/lamdaxED {lamda1ED} def /lamdakx {lamda1ED lamdak} def} if xchartl 11 ge xchartl 13 le and {/lamdaxED {lamdasED} def /lamdakx {lamdasED lamdak} def} if xchartl 14 ge xchartl 15 le and {/lamdaxED {lamda1ED} def /lamdakx {lamda1ED lamdak} def} if 100 yposjT moveto TBIK (XYZ_) show TBK inx4 xchart4 get show TBK xchartl 08 ge xchartl 10 le and {(1) show} if xchartl 11 ge xchartl 13 le and {(s) show} if xchartl 14 ge xchartl 15 le and {(1) show} if xchartl 08 ge xchartl 13 le and { (\255Spektralwerte) showde %08141-1 2 ( spectral tristimulus values) showen %18141-1 2 } if xchartl 14 eq {TBIK ( RG) show} if xchartl 15 eq {TBIK ( YB) show} if xchartl 14 ge xchartl 15 le and {TBK (\255Buntwerte) showde %08141-1 2 ( chromatic values) showen %18141-1 2 } if xchartl 08 ge xchartl 10 le and {(; ) show TIK (Y) show (w) ib4 TBK (=100) show } if xchartl 11 ge xchartl 13 le and {(; ) show TIK (XYZ) show (w) ib4 TBK (=100) show } if xchartl 14 ge xchartl 15 le and {(; ) show TIK (Y) show (w) ib4 TBK (=100) show } if 100 yposjP moveto TBIK xchartl 8 eq {(x) show} if xchartl 9 eq {(y) show} if xchartl 10 eq {(z) show} if xchartl 11 eq {(x) show} if xchartl 12 eq {(y) show} if xchartl 13 eq {(z) show} if xchartl 14 eq {(a) show} if xchartl 15 eq {(b) show} if xchartl 8 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 9 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 10 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 11 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 12 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 13 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 14 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if xchartl 15 eq {-120 100 rmoveto (-) show -40 -100 rmoveto} if lamdakx xchartl 14 eq {TBK (=[) show TBIK (x) show} if xchartl 15 eq {TBK (=-0,4[) show TBIK (z) show} if xchartl 14 ge xchartl 15 le and {-120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (-\050) show xchartl 14 eq {TBIK (X) show} if xchartl 15 eq {TBIK (Z) show} if (w) ib4 TBIK (/Y) show (w) ib4 TBK (\051) show TBIK (y) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx (]) show 100 450 add yposjP 300 sub moveto TBIK (y) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (=[0,5) show TBIK (l) show -100 140 rmoveto (-) show -40 -140 rmoveto lamdakx TBK (+0,5) show TBIK (m) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx (]) show } if TBIK xchartl 14 eq {%xchartl=14 100 450 add yposjP 600 sub moveto (x) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (=[) show TBK (A) show (11) is4 TBIK (l) show -100 140 rmoveto (-) show -40 -140 rmoveto lamdakx TBK (+) show TBK (A) show (12) is4 TBIK (m) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx 100 450 add yposjP 900 sub moveto TBK (+) show TBK (A) show (13) is4 TBIK (s) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (]) show TBIK (S) show lamdak (E,D) is4 (; ) show TBIK (t) show (sa) is4 TBK (=) show tsa cvsshow2x (; E00, ) show TELi xchartx get show %/xpos [1500 2000 2900 3800 4500] def xpos 0 get yposjP 1200 sub moveto (A) show (1j) is4 TK (:) show xpos 1 get yposjP 1200 sub moveto A11 cvsshow4x xpos 2 get yposjP 1200 sub moveto A12 cvsshow4x xpos 3 get yposjP 1200 sub moveto A13 cvsshow4x xpos 4 get yposjP 1200 sub moveto (\050) show SK (l) show TK (=) show W0 cvishow (\051) show } if %xchartl=14 xchartl 15 eq {%xchartl=15 100 450 add yposjP 600 sub moveto (z) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (=) show (s) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (; E00, ) show TELi xchartx get show } if %xchartl=15 xchartl 08 eq xchartl 11 eq or {%xchartl=8,11 TBK (=[) show TBK (A) show (11) is4 TBIK (l) show -100 140 rmoveto (-) show -40 -140 rmoveto lamdakx TBK (+) show TBK (A) show (12) is4 TBIK (m) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx 600 yposj0 moveto TBK (+) show TBK (A) show (13) is4 TBIK (s) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (]) show TBIK (S) show lamdak (E,D) is4 } if %xchartl=11 xchartl 09 eq xchartl 12 eq or {%xchartl=9,12 TBK (=[) show TBK (A) show (21) is4 TBIK (l) show -100 140 rmoveto (-) show -40 -140 rmoveto lamdakx TBK (+) show TBK (A) show (22) is4 TBIK (m) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx 600 yposj0 moveto TBK (+) show TBK (A) show (23) is4 TBIK (s) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (]) show TBIK (S) show lamdak (E,D) is4 } if %xchartl=9,12 xchartl 10 eq xchartl 13 eq or {%xchartl=10,13 TBK (=[) show TBK (A) show (31) is4 TBIK (l) show -100 140 rmoveto (-) show -40 -140 rmoveto lamdakx TBK (+) show TBK (A) show (32) is4 TBIK (m) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx 600 yposj0 moveto TBK (+) show TBK (A) show (33) is4 TBIK (m) show -120 100 rmoveto (-) show -40 -100 rmoveto lamdakx TBK (]) show TBIK (S) show lamdak (E,D) is4 } if %xchartl=10,13 xchartl 08 ge xchartl 13 le and {%8<=xchartl<=13 (; ) show TBIK (t) show (sa) is4 TBK (=) show tsa cvsshow2x (; E00, ) show TELi xchartx get show } if %8<=xchartl<=13 TK xchartl 08 eq xchartl 11 eq or {xpos 0 get yposj moveto (A) show (1j) is4 TK (:) show xpos 1 get yposj moveto A11 cvsshow4x xpos 2 get yposj moveto A12 cvsshow4x xpos 3 get yposj moveto A13 cvsshow4x xpos 4 get yposj moveto (\050) show SK (l) show TK (=) show W0 cvishow (\051) show} if xchartl 09 eq xchartl 12 eq or {xpos 0 get yposj moveto (A) show (2j) is4 TK (:) show xpos 1 get yposj moveto A21 cvsshow4x xpos 2 get yposj moveto A22 cvsshow4x xpos 3 get yposj moveto A23 cvsshow4x xpos 4 get yposj moveto (\050) show SK (l) show TK (=) show W1 cvishow (\051) show} if xchartl 10 eq xchartl 13 eq or {xpos 0 get yposj moveto (A) show (3j) is4 TK (:) show xpos 1 get yposj moveto A31 cvsshow4x xpos 2 get yposj moveto A32 cvsshow4x xpos 3 get yposj moveto A33 cvsshow4x xpos 4 get yposj moveto (\050) show SK (l) show TK (=) show W2 cvishow (\051) show} if 0 1 79 {/i exch def %i=0,79 xchartl 08 eq {ycuri i XASNj i get 0.2 mul put} if xchartl 09 eq {ycuri i YASNj i get 0.2 mul put} if xchartl 10 eq {ycuri i ZASNj i get 0.2 mul put} if xchartl 11 eq {ycuri i XASMj i get 0.2 mul put} if xchartl 12 eq {ycuri i YASMj i get 0.2 mul put} if xchartl 13 eq {ycuri i ZASMj i get 0.2 mul put} if xchartl 14 eq {ycuri i XASNj i get fXASN fYASN div YASNj i get mul sub 0.2 mul put } if xchartl 15 eq {ycuri i ZASNj i get fZASN fYASN div YASNj i get mul sub -0.4 mul 0.2 mul put } if } for %i=0,79 30 setlinewidth /MULXS 0060 def /MULYS 1200 def xchartl 14 ge xchartl 15 le and {%xchartl=14&15 0 1200 translate } if %xchartl=14&15 /xdlamda 5 12 mul def %100nm = 1200 scale units or 5nm=60 scale units 2 1 66 {/i exch def %i=2,66 %ab 390nm bis 710nm, 65 Well. 2..66 %3=390, delta /y10 iy0 def /y11 iy0 ycuri i get MULYS mul add def /y21 iy0 ycuri i 1 add get MULYS mul add def /x10 ix0 i 2 sub MULXS mul add def %ab 390nm /k {ifa i 2 sub get exec} def %max 65 Farben 0..64 scolors k get exec setcmykcolor xchartl 14 eq {%xchartl=14 RG ycuri i get 0 le {0 1 0 setrgbcolor} {1 0 0 setrgbcolor} ifelse } if %xchartl=14 RG xchartl 15 eq {%xchartl=15 BY ycuri i get 0 le {0 0 1 setrgbcolor} {1 1 0 setrgbcolor} ifelse } if %xchartl=15 BY x10 y10 moveto x10 xdlamda add y10 lineto x10 xdlamda add y21 lineto x10 y11 lineto closepath fill } for %i=2,66 %Black-white curve 0 1 79 {/i exch def %i=0,79 xchartl 08 eq {ycuri i XESj i get 0.2 mul put} if xchartl 09 eq {ycuri i YESj i get 0.2 mul put} if xchartl 10 eq {ycuri i ZESj i get 0.2 mul put} if xchartl 11 eq {ycuri i XESj i get 0.2 mul put} if xchartl 12 eq {ycuri i YESj i get 0.2 mul put} if xchartl 13 eq {ycuri i ZESj i get 0.2 mul put} if xchartl 14 eq {ycuri i XESj i get YESj i get sub 0.2 mul put } if xchartl 15 eq {ycuri i ZESj i get YESj i get sub -0.4 mul 0.2 mul put } if } for %i=0,79 50 setlinewidth tfn [100 100] 0 setdash /xst ix0 def %ab 390nm /yst iy0 ycuri 0 get MULYS mul add def xst yst moveto 2 3 66 {/i exch def %i=0,75 ab 380nm bis 710nm /xst ix0 i 2 sub MULXS mul add def /yst iy0 ycuri i get MULYS mul add def /x20 ix0 i 1 sub MULXS mul add def /y20 iy0 ycuri i 1 add get MULYS mul add def /x21 ix0 i MULXS mul add def /y21 iy0 ycuri i 2 add get MULYS mul add def /x22 ix0 i 1 add MULXS mul add def /y22 iy0 ycuri i 3 add get MULYS mul add def x20 y20 x21 y21 x22 y22 curveto } for %i=0,75 ab 380nm bis 710nm stroke [ ] 0 setdash xchartl 14 ge xchartl 15 le and {%xchartl=14&15 0 -1200 translate } if %xchartl=14&15 %only for 08<=xchartl<=15 0 setgray xposj 400 sub yposjM xchartl 14 ge {1100 sub} if moveto TIK (x) show lamdaxED TK (=) show xanES cvsshow4x (; ) show xchartl 08 ge xchartl 10 le and {%08<=xchartl<=10 xanASN cvsshow4x } if %08<=xchartl<=10 xchartl 11 ge xchartl 13 le and {%11<=xchartl<=13 xanASM cvsshow4x } if %11<=xchartl<=13 xchartl 14 ge xchartl 15 le and {%14<=xchartl<=15 xanASN cvsshow4x } if %14<=xchartl<=14 xposj 400 sub yposjM 300 sub xchartl 14 ge {1100 sub} if moveto TIK (y) show lamdaxED TK (=) show yanES cvsshow4x (; ) show xchartl 08 ge xchartl 10 le and {%08<=xchartl<=10 yanASN cvsshow4x } if %08<=xchartl<=10 xchartl 11 ge xchartl 13 le and {%11<=xchartl<=13 yanASM cvsshow4x } if %11<=xchartl<=13 xchartl 14 ge xchartl 15 le and {%14<=xchartl<=15 yanASN cvsshow4x } if %14<=xchartl<=15 xposj 600 sub yposjM 600 sub xchartl 14 ge {1100 sub} if moveto xchartl 8 eq {SK (S) show TIK (x) show} if xchartl 9 eq {SK (S) show TIK (y) show} if xchartl 10 eq {SK (S) show TIK (z) show} if xchartl 11 eq {SK (S) show TIK (x) show} if xchartl 12 eq {SK (S) show TIK (y) show} if xchartl 13 eq {SK (S) show TIK (z) show} if xchartl 14 eq {SK (S) show TIK (x) show} if xchartl 15 eq {SK (S) show TIK (z) show} if xchartl 8 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 9 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 10 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 11 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 12 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 13 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 14 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if xchartl 15 eq {-100 80 rmoveto (-) show -40 -80 rmoveto} if lamdakx xchartl 08 ge xchartl 15 le and { TK (=) show} if TK xchartl 8 eq {fXES cvsshow2x (; ) show fXASN cvsshow2x} if xchartl 9 eq {fYES cvsshow2x (; ) show fYASN cvsshow2x} if xchartl 10 eq {fZES cvsshow2x (; ) show fZASN cvsshow2x} if xchartl 11 eq {fXES cvsshow2x (; ) show fXASM cvsshow2x} if xchartl 12 eq {fYES cvsshow2x (; ) show fYASM cvsshow2x} if xchartl 13 eq {fZES cvsshow2x (; ) show fZASM cvsshow2x} if xchartl 14 eq {fXES cvsshow2x (; ) show fXASN cvsshow2x} if xchartl 15 eq {fZES cvsshow2x (; ) show fZASN cvsshow2x} if } bind def %END proc_XYZI_02, xchartl=8,15 %************************************************************** xchartl 0 ge xchartl 7 le and {proc_LMS1_02} if xchartl 8 ge xchartl 15 le and {proc_XYZI_02} if %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6100 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08750 neg translate} if % xchartl 3 eq { 6100 neg 08750 neg translate} if % xchartl 4 eq { 100 neg 4500 neg translate} if % xchartl 5 eq { 6100 neg 4500 neg translate} if % xchartl 6 eq { 100 neg 0250 neg translate} if % xchartl 7 eq { 6100 neg 0250 neg translate} if % xchartl 8 eq {13500 neg 13000 neg translate} if % xchartl 9 eq {19500 neg 13000 neg translate} if % xchartl 10 eq {13500 neg 08750 neg translate} if % xchartl 11 eq {19500 neg 08750 neg translate} if % xchartl 12 eq {13500 neg 4500 neg translate} if % xchartl 13 eq {19500 neg 4500 neg translate} if % xchartl 14 eq {13500 neg 0250 neg translate} if % xchartl 15 eq {19500 neg 0250 neg translate} if %} if %iout=1 grestore %} for %xchartl=0,15 showpage grestore } for %xchartx=0,7 %8 illuminants %%Trailer