%!PS-Adobe-3.0 EPSF-3.0 http://farbe.li.tu-berlin.de/eeo3/eeo30-1n %%BoundingBox: 70 85 245 206 %START PDFDE011.EPS /pdfmark01 where {pop} {userdict /pdfmark01 /cleartomark load put} ifelse /languagelevel where {pop languagelevel} {1} ifelse 2 lt { userdict (<<) cvn ([) cvn load put userdict (>>) cvn (]) cvn load put} if [/Title (PostScript pictures: farbe.li.tu-berlin.de/eeo3/eeo3.htm) /Author (compare K. Richter "Computergrafik ...": ISBN 3-8007-1775-1) /Subject (goto: http://farbe.li.tu-berlin.de or http://color.li.tu-berlin.de) /Keywords (image reproduction, colour devices) /Creator (klaus.richter@mac.com) /CreationDate (D:2023070112200) /ModDate (D:20230701112200) /DOCINFO pdfmark01 [ /View [ /Fit ] /DOCVIEW pdfmark01 %END PDFDE011 /Times-Roman findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /Times-ISOL1 exch definefont pop /Times-Italic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesI-ISOL1 exch definefont pop /Times-Bold findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesB-ISOL1 exch definefont pop /Times-BoldItalic findfont dup length dict begin {1 index /FID ne {def} {pop pop} ifelse }forall /Encoding ISOLatin1Encoding def currentdict end /TimesBI-ISOL1 exch definefont pop /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TV {120 /Times-ISOL1 FS} bind def /TS {160 /Times-ISOL1 FS} bind def /TL {200 /Times-ISOL1 FS} bind def /TK {250 /Times-ISOL1 FS} bind def /TM {300 /Times-ISOL1 FS} bind def /TG {350 /Times-ISOL1 FS} bind def /TIV {120 /TimesI-ISOL1 FS} bind def /TIS {160 /TimesI-ISOL1 FS} bind def /TIL {200 /TimesI-ISOL1 FS} bind def /TIK {250 /TimesI-ISOL1 FS} bind def /TIM {300 /TimesI-ISOL1 FS} bind def /TIG {350 /TimesI-ISOL1 FS} bind def /TBV {120 /TimesB-ISOL1 FS} bind def /TBS {160 /TimesB-ISOL1 FS} bind def /TBL {200 /TimesB-ISOL1 FS} bind def /TBK {250 /TimesB-ISOL1 FS} bind def /TBM {300 /TimesB-ISOL1 FS} bind def /TBG {350 /TimesB-ISOL1 FS} bind def /TBIV {120 /TimesBI-ISOL1 FS} bind def /TBIS {160 /TimesBI-ISOL1 FS} bind def /TBIL {200 /TimesBI-ISOL1 FS} bind def /TBIK {250 /TimesBI-ISOL1 FS} bind def /TBIM {300 /TimesBI-ISOL1 FS} bind def /TBIG {350 /TimesBI-ISOL1 FS} bind def /SV {120 /Symbol FS} bind def /SS {160 /Symbol FS} bind def /SL {200 /Symbol FS} bind def /SK {250 /Symbol FS} bind def /SM {300 /Symbol FS} bind def /SG {350 /Symbol FS} bind def /CV {120 /Courier FS} bind def /CS {160 /Courier FS} bind def /CL {200 /Courier FS} bind def /CK {250 /Courier FS} bind def /CM {300 /Courier FS} bind def /CG {350 /Courier FS} bind def /CIV {120 /Courier-Oblique FS} bind def /CIS {160 /Courier-Oblique FS} bind def /CIL {200 /Courier-Oblique FS} bind def /CIK {250 /Courier-Oblique FS} bind def /CIM {300 /Courier-Oblique FS} bind def /CIG {350 /Courier-Oblique FS} bind def /CBV {120 /Courier-Bold FS} bind def /CBS {160 /Courier-Bold FS} bind def /CBL {200 /Courier-Bold FS} bind def /CBK {250 /Courier-Bold FS} bind def /CBM {300 /Courier-Bold FS} bind def /CBG {350 /Courier-Bold FS} bind def /CBIV {120 /Courier-BoldOblique FS} bind def /CBIS {160 /Courier-BoldOblique FS} bind def /CBIL {200 /Courier-BoldOblique FS} bind def /CBIK {250 /Courier-BoldOblique FS} bind def /CBIM {300 /Courier-BoldOblique FS} bind def /CBIG {350 /Courier-BoldOblique FS} bind def /nGs {350 /Times-ISOL1 FS show} bind def /kGs {350 /TimesI-ISOL1 FS show} bind def /bGs {350 /TimesB-ISOL1 FS show} bind def /jGs {350 /TimesBI-ISOL1 FS show} bind def /sGs {350 /Symbol FS show} bind def /iGs {300 /Times-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /eGs {300 /Times-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ibGb {300 /TimesB-ISOL1 FS 0 -90 rmoveto show 0 90 rmoveto} bind def /ebGb {300 /TimesB-ISOL1 FS 0 200 rmoveto show 0 -200 rmoveto} bind def /ipG {300 /Times-ISOL1 FS 50 50 rmoveto (\267) show 50 -50 rmoveto} bind def %20% kleiner /nMs {300 /Times-ISOL1 FS show TM} bind def /kM2 {300 /TimesI-ISOL1 FS show TM} bind def /bM2 {300 /TimesB-ISOL1 FS show TM} bind def /jM2 {300 /TimesBI-ISOL1 FS show TM} bind def /sMs {300 /Symbol FS show TM} bind def /ims {250 /Times-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /eMs {250 /Times-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ibMs {250 /TimesB-ISOL1 FS 0 -70 rmoveto show 0 70 rmoveto TM} bind def /ebMs {250 /TimesB-ISOL1 FS 0 160 rmoveto show 0 -160 rmoveto TM} bind def /ipM {250 /Times-ISOL1 FS 40 40 rmoveto (\267) show 40 -40 rmoveto TM} bind def %40% kleiner /nKs {250 /Times-ISOL1 FS show TK} bind def /kKs {250 /TimesI-ISOL1 FS show TK} bind def /bKs {250 /TimesB-ISOL1 FS show TK} bind def /jKs {250 /TimesBI-ISOL1 FS show TK} bind def /sKs {250 /Symbol FS show TK} bind def /iKs {200 /Times-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /eKs {200 /Times-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ibKs {200 /TimesB-ISOL1 FS 0 -60 rmoveto show 0 60 rmoveto TK} bind def /ebKs {200 /TimesB-ISOL1 FS 0 130 rmoveto show 0 -130 rmoveto TK} bind def /ipK {200 /Times-ISOL1 FS 30 30 rmoveto (\267) show 30 -30 rmoveto TK} bind def %60% kleiner /nLs {200 /Times-ISOL1 FS show TS} bind def /kLs {200 /TimesI-ISOL1 FS show TS} bind def /bLs {200 /TimesB-ISOL1 FS show TS} bind def /jLs {200 /TimesBI-ISOL1 FS show TS} bind def /sLs {200 /Symbol FS show TS} bind def /iLs {160 /Times-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /eLs {160 /Times-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ibLs {160 /TimesB-ISOL1 FS 0 -50 rmoveto show 0 50 rmoveto TS} bind def /ebLs {160 /TimesB-ISOL1 FS 0 110 rmoveto show 0 -110 rmoveto TS} bind def /ipL {160 /Times-ISOL1 FS 25 25 rmoveto (\267) show 25 -25 rmoveto TS} bind def %XCHA02.PS BEG /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 {setrgbcolor rec fill} bind def /colrecst %x y width heigth c m y k {setrgbcolor rec stroke} bind def /rem %x, y width heigth {/heigth exch 0.5 mul def /width exch 0.5 mul def /yleftb exch heigth 0.5 mul add def /xleftb exch width 0.5 mul add def xleftb yleftb moveto width 0 rlineto 0 heigth rlineto width neg 0 rlineto closepath } bind def /colremfi %x y width heigth c m y k {setrgbcolor rem fill} bind def /colremst %x y width heigth c m y k {setrgbcolor rem stroke} bind def /tzr {1 0 0} bind def %Reproduktionsfarben /tzg {0 1 0} bind def /tzb {0 0 1} bind def /tzc {0 1 1} bind def /tzm {1 0 1} bind def /tzy {1 1 0} bind def /tzo {1 0 0} bind def %Reproduktionsfarben /tzl {0 1 0} bind def /tzv {0 0 1} bind def /tzn {0.00} bind def %Graureihe /tzd {0.25} bind def /tzz {0.50} bind def /tzh {0.75} bind def /tzw {1.00} bind def /tfr {1 0 0 setrgbcolor} bind def %Reproduktionsfarben /tfg {0 1 0 setrgbcolor} bind def /tfb {0 0 1 setrgbcolor} bind def /tfc {0 1 1 setrgbcolor} bind def /tfm {1 0 1 setrgbcolor} bind def /tfy {1 1 0 setrgbcolor} bind def /tfo {1 0 0 setrgbcolor} bind def %Reproduktionsfarben /tfl {0 1 0 setrgbcolor} bind def /tfv {0 0 1 setrgbcolor} bind def /tfrn {0.5 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben /tfgn {0.0 0.5 0.0 setrgbcolor} bind def /tfbn {0.0 0.0 0.5 setrgbcolor} bind def /tfcn {0.0 0.5 0.5 setrgbcolor} bind def /tfmn {0.5 0.0 0.5 setrgbcolor} bind def /tfyn {0.5 0.5 0.0 setrgbcolor} bind def /tfon {0.5 0.0 0.0 setrgbcolor} bind def %Reproduktionsfarben /tfln {0.0 0.5 0.0 setrgbcolor} bind def /tfvn {0.0 0.0 0.5 setrgbcolor} bind def /tfn {0.00 setgray} bind def %Graureihe /tfd {0.25 setgray} bind def /tfz {0.50 setgray} bind def /tfh {0.75 setgray} bind def /tfw {1.00 setgray} bind def /cvishowr {dup 0 ge {0.5 add} {0.5 sub} ifelse cvi 6 string cvs show} 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 /cvishow0 {cvi 6 string cvs show} def /cvsshow10 {10 mul cvi 0.1 mul 9 string cvs show} def /cvsshow20 {100 mul cvi 0.01 mul 9 string cvs show} def /cvsshow30 {1000 mul cvi 0.001 mul 9 string cvs show} def /cvsshow40 {10000 mul cvi 0.0001 mul 9 string cvs show} def /cvsshow50 {100000 mul cvi 0.00001 mul 9 string cvs show} def /cvsshow0r {10 mul 0.5 add cvi 0.1 mul 10 string cvs show} def /cvsshow1r {10 mul 0.5 add cvi 0.1 mul %new980310 dup 0 ge {( ) show} if dup abs 10 lt {( ) show} if 10 string cvs show} def /cvsshow2r {100 mul 0.5 add cvi 0.01 mul %new980310 dup 0 ge {( ) show} if dup abs 10 lt {( ) show} if 10 string cvs show} def /cvsshow3r {1000 mul 0.5 add cvi 0.001 mul 10 string cvs show} def %now with cvishow0 instead of cvishow /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow0 (,) show %nxa=99 nxb cvishow0 %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow0 (,) show %nxb=99, nxb 10 ge {nxb cvishow0} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow0} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow0 (,) show %nxb=99, nxb 100 ge {nxb cvishow0} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow0} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow0} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def %*************************************************** %%EndProlog gsave /lanind 1 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 1 def /lanind2 1 def} ifelse /colormf where {pop /colorm1 colormf def /colorm2 colormf def /colormd colormdf def} {/colorm1 0 def} ifelse /deintpf where {pop /deintp1 deintpf def /deintp2 deintpf def /deintpd deintpdf def} {/deintp1 0 def} ifelse /xcolorf where {pop /xcolor1 xcolorf def /xcolor2 xcolorf def /xcolord xcolordf def} {/xcolor1 3 def} ifelse /xchartf where {pop /xchart1 xchartf def /xchart2 xchartf def /xchartd xchartdf def /xchartm xchart2f xchart1f sub 1 add def} {/xchart1 0 def /xchartm 1 def} ifelse /xchart3f where {pop /xchart3 xchart3f def} {/xchart3 0 def} ifelse /xchart4f where {pop /xchart4 xchart4f def} {/xchart4 0 def} ifelse /pchartf where {pop /pchart1 pchartf def /pchart2 pchartf def /pchartd pchartdf def} {/pchart1 3 def} ifelse /colsepf where {pop /colsep1 colsepf def /colsep2 colsepf def /colsepd colsepdf def} {/colsep1 0 def} ifelse /pmetamf where {pop /pmetam1 pmetamf def /pmetam2 pmetamf def /pmetamd pmetamdf def} {/pmetam1 0 def} ifelse %either defaul values for xchart=0 or values for xchart=1 /lanind lanind1 def % /colorm colorm1 def % /deintp deintp1 def % /xcolor xcolor1 def % /xchart xchart1 def % /pchart pchart1 def % /colsep colsep1 def % /pmetam pmetam1 def % /ioute 0 def /ifunc 0 def /idevi 0 def /imevi 0 def /expnr 1 def colorm 0 eq deintp 0 eq and {/Txx (d) def /Fxx (d) def} if %colorm=0, deintp=0 colorm 0 eq deintp 1 eq and {/Txx (e) def /Fxx (e) def} if %colorm=0, deintp=1 colorm 1 eq deintp 0 eq and {/Txx (dd) def /Fxx (d) def} if %colorm=1, deintp=0 colorm 1 eq deintp 1 eq and {/Txx (de) def /Fxx (e) def} if %colorm=1, deintp=1 xchart 0 eq {/Txx (-) def /Fxx (-) def} if %always independent of intended output 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 4 /Times-ISOL1 FS %74 86 moveto (eeo30-7R) show %xchart 0 eq {(R) show} % {deintp colorm 2 mul add cvishow} ifelse 72 90 translate 0.01 MM dup scale 20 setlinewidth %0 0 12250 17100 1.0 1.0 1.0 colrecfi %area white grey %0 0 12250 17100 0.0 0.0 0.0 colrecst %Rahmen Schwarz %/ifunc 0 def %ifunc 0 eq {Yi_L*i_dYi_L_0} if %ifunc 1 eq {Yi_L*i_dYi_C_0} if %Yi_Yxyi /xchartl 0 def %0 1 07 {/xchartl exch def %xchartl=0,07 gsave %from BEA80-7N.PS % xchartl 0 eq { 100 13000 translate} if % xchartl 1 eq { 6150 13000 translate} if % xchartl 2 eq { 100 08740 translate} if % xchartl 3 eq { 6150 08740 translate} if % xchartl 4 eq { 100 04480 translate} if % xchartl 5 eq { 6150 04480 translate} if % xchartl 6 eq { 100 00220 translate} if % xchartl 7 eq { 6150 00220 translate} if 130 /Times-ISOL1 FS 0 setgray 50 -130 moveto (eeo30-1n) show %%%%%%%xchartl 1 add cvishow %%%%%%%(A) show %A %(_) show xchart 1 add cvishow /xwidth 6000 def /ywidth 4000 def 25 setlinewidth 0.5 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath fill 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath clip 0 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke tfn %tfw /xtr0 380 def /ytr0 350 def xtr0 ytr0 translate %********************************************************************* tfw 30 setlinewidth 0 0 moveto 5250 0 rlineto stroke 0 0 moveto 0 3250 rlineto stroke 5250 100 sub 50 moveto 100 -50 rlineto -100 -50 rlineto stroke -50 3250 100 sub moveto 50 100 rlineto 50 -100 rlineto stroke /tx [(-4) (-3) (-2) (-1) ( 0) ( 1) ( 2) ( 3) ( 4)] def /ty [(-3) (-2) (-1) ( 0) ( 1) ( 2) ( 3)] def /xz (x) def ioute 1 eq expnr 7 ge and {%xchartl>=7 /xz (z) def } if /KLxr {20 0 rmoveto TBIK xz show 0 -80 rmoveto TBL (r) show 20 80 rmoveto} def /LSxr {20 0 rmoveto TBIL xz show 0 -60 rmoveto TBS (r) show 20 60 rmoveto} def /SVxr {20 0 rmoveto TBIS xz show 0 -40 rmoveto TBV (r) show 20 40 rmoveto} def /KLxrx {20 0 rmoveto TBIK (x) show 0 -80 rmoveto TBL (r) show 20 80 rmoveto} def /KLxrz {20 0 rmoveto TBIK (z) show 0 -80 rmoveto TBL (r) show 20 80 rmoveto} def /LSxrx {20 0 rmoveto TBIL (x) show 0 -60 rmoveto TBS (r) show 20 60 rmoveto} def /LSxrz {20 0 rmoveto TBIL (z) show 0 -60 rmoveto TBS (r) show 20 60 rmoveto} def /SVxrx {20 0 rmoveto TBIS (x) show 0 -40 rmoveto TBV (r) show 20 40 rmoveto} def /SVxrz {20 0 rmoveto TBIS (z) show 0 -40 rmoveto TBV (r) show 20 40 rmoveto} def /100KLxr {0 100 rmoveto KLxr 0 -100 rmoveto} def /100LSxr {0 080 rmoveto LSxr 0 -080 rmoveto} def /100SVxr {0 060 rmoveto SVxr 0 -060 rmoveto} def %!x-Achse: 1 log-Einheiten = 500 Skalen-Einheiten TBL 0 1 9 {/i exch def /ixt { -150 i 0500 mul add} def /ixl { 000 i 0500 mul add} def i 8 le {ixt -250 moveto tx i get exec show} if ixl 75 moveto 0 -150 rlineto stroke } for %!y-Achse: 1 log-Einheiten = 500 Skalen-Einheiten TBL 0 1 6 {/i exch def /iyt {-100 i 0500 mul add} def /iyl { 000 i 0500 mul add} def -350 iyt moveto ty i get exec show -75 iyl moveto 150 0 rlineto stroke } for 4300 -260 moveto tfw LSxr TBL (=) show 30 0 rmoveto TBL (log[) show 30 0 rmoveto TBIL (L/L) show 0 -50 rmoveto TBS (u) show 0 50 rmoveto TBL (]) show 1900 200 moveto (L) TBIL tfw show TBS 20 -80 rmoveto (u) show 50 80 rmoveto 4300 0200 moveto (L) TBIL tfw show TBS 20 -80 rmoveto (u) show 00 80 rmoveto TBL 20 0 (=28) ashow (cd/m) show TBS 0 80 rmoveto (2) show 0 -80 rmoveto tfl 40 setlinewidth 1600 0 moveto 800 0 rlineto stroke 2200 270 moveto TBS (range of office) showen (Bereich B\374ro-) showde 2200 100 moveto (luminance) showen (Leuchtdichte) showde xtr0 neg ytr0 neg translate %******************************************************** %BEG C01_C08 ******************************************** %original square tfn %tfw 050 3750 moveto xchartl 07 le {%xchartl=00 tfw TBIK (Q) show -30 -80 rmoveto TBL (ab) show 0 80 rmoveto TBK (\050) show KLxr TBK (\051) show 20 0 rmoveto (=) show 20 0 rmoveto (unbunte Rezeptorerregung) showde (achromatic receptor response) showen } if %xchartl=00 xchartl 01 ge {%xchartl>=1 tfy TBK ( & modified) showen ( & modifiziert) showde } if %xchartl>=1 tfn %tfw %********************************************************************* %BEG Common text xtr0 ytr0 translate TBIK /iyt0 2900 def %top text line /iyt1 2300 def %lower yellow text line /ixt2 2420 def %right red text line /iyt2 1200 def %right red text line /ix0 100 def /ix1 750 def %for F(x) /ix1a 850 def %for Fn(x) /ix2 2200 def %text e /ix3 1700 def %ifunc 0 eq {/x_zp (x) def /x_zm (-x) def} % {/x_zp (z) def /x_zm (-z) def /lne_10d 1 10 ln div def} ifelse /x_zp (x) def /x_zm (-x) def ioute 0 eq {/e_10 (e) def /lne_10 1 def} {/e_10 (10) def /lne_10 1 def} ifelse /expnp 10 array def % 0 1 2 3 4 5 6 7 8 9 /expnp [1.0 1.0 0.7 0.5 1.0 0.7 0.5 1.0 0.7 0.5] def /expnk 10 array def % 0 1 2 3 4 5 6 7 8 9 /expnk [(1,0) (1,0) (0,7) (0,5) (1,0) (0,7) (0,5) (1,0) (0,7) (0,5)] def %**************************************** tfw 30 setlinewidth /jm1 0 def /jm2 1 def /iytj 0 def xchartl 0 eq {/jm2 0 def} {/jm2 1 def} ifelse jm1 1 jm2 {/j exch def %j=jm1,jm2 j 0 eq {/iyta 0 def} if j 1 eq {/iyta 0 def} if 0 1 1 {/k exch def %k=0,1 k 0 eq {%k=0 j 0 eq {[ ] 0 setdash tfw} if j 1 eq {[ ] 0 setdash tfy} if } if %k=0 k 1 eq {%k=1 j 0 eq {[100 100] 0 setdash tfn} if j 1 eq {[100 100] 0 setdash tfn} if } if %k=1 %font colour j 0 eq {tfw} if j 1 eq {tfy} if j 0 eq {/ixtx ix0 def /iytx iyt0 def} if j 1 eq {/ixtx ixt2 def /iytx iyt2 def} if /iytxt iytx 000 add j 0 eq {200 add} if def j 0 eq {%j=0 ix0 0770 add iytxt 50 add iyta add moveto 400 0 rlineto stroke ix0 1680 add iytxt 50 add iyta add moveto 900 0 rlineto stroke } if %j=0 xchartl 1 ge {%xchartl>=1 j 1 eq {%j=1 ixt2 0770 add iytxt 50 add iyta add moveto 400 0 rlineto stroke ixt2 1680 add iytxt 50 add iyta add moveto 900 0 rlineto stroke } if %j=1 } if %xchartl>=1 } for %k=0,1 ixtx iytxt moveto TBIL (Q) show -30 -60 rmoveto TBS (ab) show 0 60 rmoveto TBL (\050) show LSxr TBL (\051) show 10 0 rmoveto (=) show 10 0 rmoveto ixtx 950 add iytxt 100 add moveto TBL (b) show ixtx 750 add iytxt 180 sub moveto (ln) show 20 0 rmoveto SL (\326) show -100 0 rmoveto SL (\140) show TBL (2) show ixtx 1200 add iytxt moveto TBL (ln) show ([1+) show ixtx 2000 add iytxt 100 add moveto TBL (1) show ixtx 1650 add iytxt 180 sub moveto ioute 0 eq {( ) show} if TBL (1+) show -10 0 rmoveto SL (\326) show -100 0 rmoveto SL (\140) show TBL (2) show 10 0 rmoveto TBL e_10 show 0 80 rmoveto SVxr TBS (/a) show ioute 1 eq {(') show} if 0 -80 rmoveto ixtx 2650 add iytxt moveto TBL (]-b) show j 0 eq {%j=0, both sides tfw TBS ix3 1400 add iyt0 000 add moveto (a=0,50, b=1,00, e=2,718282) show ioute 1 eq {%ioute=1 ix3 1400 add iyt0 200 sub moveto (a'=a) show 30 0 rmoveto (ln(10)=) show 0.5 10 ln mul cvsshow3x } if %ioute=1 } if %j=0, both sides ioute 1 eq xchartl 0 eq and { %ioute=1, xchartl=0 right side ix3 1400 add iyt0 200 add moveto TBL (10) show 0 100 rmoveto SVxrx 0 -100 rmoveto TBL (=e) show 0 100 rmoveto TBS (ln(10)) show 30 0 rmoveto SVxrx 0 -100 rmoveto TBL (, ) show TBL (10) show 0 100 rmoveto SVxr TBS (/ln(10)) show 0 -100 rmoveto TBL (=e) show 0 100 rmoveto SVxrx 0 -100 rmoveto ix3 1400 add iyt0 ioute 0 eq {250 sub moveto} {500 sub moveto} ifelse TBL (10) show ioute 0 eq {0 100 rmoveto SVxrx TBS (/a) show 0 -100 rmoveto } if ioute 1 eq expnr 6 le and {0 100 rmoveto SVxrx %zr for xchartl<=6 TBS (/a') show 0 -100 rmoveto } if ioute 1 eq expnr 6 gt and {0 100 rmoveto SVxrx %zr for xchartl>6 TBS (/a') show 0 -100 rmoveto } if TBL (=) show TBL (10) show 0 100 rmoveto SVxrx TBS ( / [a) show 30 0 rmoveto (ln(10)]) show 0 -100 rmoveto TBL (=) show TBL (e) show 0 100 rmoveto SVxrx TBS (/a) show 0 -100 rmoveto } if %ioute=1, xchartl=0 right side } for %j=jm1,jm2 idevi 1 eq {%idevi=1 /iyt1t iyt1 330 add def 30 setlinewidth [ ] 0 setdash tfg ix0 iyt1t moveto TBIL (F') show -50 -80 rmoveto TBS (ab) show 0 80 rmoveto TBL (\050) show LSxrx TBL (\051) show TBL (=4b/[) show TBL (a) show 20 0 rmoveto TBL ({) show TBL e_10 show 0 80 rmoveto SVxr TBS (/a) show ioute 1 eq {(') show} if 20 -80 rmoveto TBL (+) show 20 0 rmoveto TBL e_10 show 0 80 rmoveto TBS (-) show SVxr TBS (/a) show ioute 1 eq {(') show} if 20 -80 rmoveto TBL (}) show 0 80 rmoveto TBS (2) show 0 -80 rmoveto TBL (]) show ix0 iyt1t 300 sub moveto TBS xchartl 0 eq {(a=1,00) show} if xchartl 1 eq {(a=1,00) show} if xchartl 2 eq {(a=2,00) show} if xchartl 3 eq {(a=0,50) show} if xchartl 4 eq {(a=2,00) show} if xchartl 5 eq {(a=0,50) show} if xchartl 6 eq {(a=1,00) show} if xchartl 7 eq {(a=0,50) show} if xchartl 1 ge {0 100 rmoveto TBV expnk expnr get show 0 -100 rmoveto} if TBS xchartl 0 eq {(; b=1,00) show} if xchartl 1 eq {(; b=1,00) show} if xchartl 2 eq {(; b=2,00) show} if xchartl 3 eq {(; b=1,00) show} if xchartl 4 eq {(; b=2,00) show} if xchartl 5 eq {(; b=2,00) show} if xchartl 5 eq {(; b=0,50) show} if xchartl 7 eq {(; b=0,50) show} if xchartl 1 le {%xchartl<=1 special text xchartl 0 eq {1620}{1820} ifelse 2150 moveto tfg TBIL (F') show -30 -80 rmoveto TBS (1_1) show 0 80 rmoveto xchartl 0 eq {TBL (\050) show LSxr TBL (\051) show} if } if %xchartl<=1 special text xchartl 1 eq {%xchartl=1 special text 0700 2000 moveto tfg TBIL (F') show -30 -80 rmoveto TBS (1_2) show 0 80 rmoveto TBL (\050) show LSxr TBL (\051) show tfw } if %xchartl=1 special text } if %idevi=1 tfw [ ] 0 setdash 0 1500 moveto 4500 0 rlineto stroke [50 50] 0 setdash tfn 0 2000 moveto 4500 0 rlineto stroke 0 1000 moveto 4500 0 rlineto stroke 100 2070 moveto TBL (Asymptote) show 3500 800 moveto (Asymtote) show [ ] 0 setdash tfw 2000 1000 moveto 0 1000 rlineto stroke TBL 2450 2050 moveto (W) show tfn 1500 150 sub 0800 moveto (N) show xchartl 1 le {%xchartl<=1 special text 4600 2000 50 sub moveto tfw TBIL (Q) show -30 -80 rmoveto TBS (0,5_1) show 0 80 rmoveto TBL (\050) show LSxr TBL (\051) show } if %xchartl<=1 special text xchartl 1 eq {%xchartl=1 special text 3200 2300 moveto tfy TBIL (Q) show -30 -80 rmoveto TBS (0,5_2) show 0 80 rmoveto TBL (\050) show LSxr TBL (\051) show } if %xchartl=1 special text xtr0 neg ytr0 neg translate %********************************************************************* /C0i_QXi {%BEG C0i_QXi xtr0 ytr0 translate /xi 51 array def %range -4 bis +4 in steps of /yi 51 array def %range -1 to +1 /eqxi 51 array def /emxi 51 array def /esxi 51 array def /Frui 51 array def /MULX 500 def /MULY 500 def %ioute 0 eq {/e 2.7182818 def} % {/e 10.0 def } ifelse /e 2.7182818 def /im 45 def jm1 1 jm2 {/j exch def %j=jm1,jm2 j 0 eq {%j=0 /a 0.5 expnp expnr get exp def /ai 0.5 expnp expnr get exp lne_10 mul def /bi 1.0 def } if %j=0 j 1 eq {%j=1 %xchartl 0 eq {/a 0.5 expnp expnr get exp def % /ai 0.5 expnp expnr get exp lne_10 mul def % /bi 2.0 def} if xchartl 1 eq {/a 0.5 expnp expnr get exp def /ai 0.5 expnp expnr get exp lne_10 mul def /bi 2.0 def} if xchartl 2 eq {/a 1.0 expnp expnr get exp def /ai 1.0 expnp expnr get exp lne_10 mul def /bi 1.0 def} if xchartl 3 eq {/a 0.25 expnp expnr get exp def /ai 0.25 expnp expnr get exp lne_10 mul def /bi 1.0 def} if xchartl 4 eq {/a 1.0 expnp expnr get exp def /ai 1.0 expnp expnr get exp lne_10 mul def /bi 2.0 def} if xchartl 5 eq {/a 0.25 expnp expnr get exp def /ai 0.25 expnp expnr get exp lne_10 mul def /bi 2.0 def} if xchartl 6 eq {/a 0.5 expnp expnr get exp def /ai 0.5 expnp expnr get exp lne_10 mul def /bi 0.5 def} if xchartl 7 eq {/a 0.25 expnp expnr get exp def /ai 0.25 expnp expnr get exp lne_10 mul def /bi 0.5 def} if } if %j=1 /lnW2 2 sqrt ln def 0 1 50 {/i exch def %i=0,50 xi i -4 i 0.2 mul add put ioute 0 eq {%ioute=0 eqxi i e xi i get ai div exp put % emxi i e xi i get ai div neg exp put } {%ioute=1 eqxi i e xi i get lne_10 div ai div exp put % emxi i e xi i get lne_10 div ai div neg exp put } ifelse /q1 eqxi i get 2 sqrt mul 1 add def /q2 1 q1 div 1 add def /q3 q2 ln lnW2 div 1 sub def Frui i q3 neg bi mul put } for %i=0,50 40 setlinewidth [ ] 0 setdash 0 1 1 {/k exch def %k=0,1 k 0 eq {%k=0 j 0 eq {[ ] 0 setdash tfw} if j 1 eq {[ ] 0 setdash tfy} if } if %k=0 k 1 eq {%k=1 j 0 eq {[100 100] 0 setdash tfn} if %j 1 eq {[100 100] 0 setdash tfn} if } if %k=1 0 1 im {/i exch def %i=0,im i 0 eq {xi i get MULX mul 2000 add Frui i get MULY mul 1500 add moveto} if i 1 ge i im 1 sub le and {xi i get MULX mul 2000 add Frui i get MULY mul 1500 add lineto} if i im eq {xi i get MULX mul 2000 add Frui i get MULY mul 1500 add lineto stroke} if } for %i=0,im k 1 eq {%k=1 xchartl 1 ge {%xchartl>=1 tfy j 1 eq {%j=1 /yta Frui 45 get MULY mul 070 add def ixt2 2000 add 1500 yta add moveto xchartl 1 eq {(a=0,50) show} if xchartl 2 eq {(a=1,00) show} if xchartl 3 eq {(a=0,25) show} if xchartl 4 eq {(a=1,00) show} if xchartl 5 eq {(a=0,25) show} if xchartl 6 eq {(a=1,00) show} if xchartl 7 eq {(a=0,25) show} if xchartl 1 ge {0 100 rmoveto TBS expnk expnr get show 0 -100 rmoveto TBS (=) show ai cvsshow3x } if %1<=xchartl<=7 } if %j=1 j 1 eq {%j=1 ixt2 2000 add 1500 yta add 0250 sub moveto ioute 1 eq {%ioute=1 xchartl 1 ge {(a'=) show ai 10 ln mul cvsshow3x (, ) show} if } if %ioute=1 xchartl 1 eq {(b=2,00) show} if xchartl 2 eq {(b=1,00) show} if xchartl 3 eq {(b=1,00) show} if xchartl 4 eq {(b=2,00) show} if xchartl 5 eq {(b=2,00) show} if xchartl 6 eq {(b=0,50) show} if xchartl 7 eq {(b=0,50) show} if } if %j=1 } if %xchartl>=1 } if %k=1 } for %k=0,1 idevi 1 eq {%idevi=1 %integral dx/(a^2+x^2) = (1/a) arctan (x/a) /edxi 51 array def /Frudi 51 array def /ai 1 def %special case 0 1 50 {/i exch def %i=0,50 xi i -4 i 0.2 mul add put % ioute 0 eq {%ioute=0 % eqxi i e xi i get ai div exp put % emxi i e xi i get ai div neg exp put % } % {%ioute=1 % eqxi i e xi i get lne_10 div ai div exp put % emxi i e xi i get lne_10 div ai div neg exp put % } ifelse edxi i e xi i get exp e xi i get neg exp add 2 exp put edxi i 4 edxi i get ai mul div put Frudi i edxi i get bi mul put } for %i=0,50 0 1 1 {/k exch def %k=0,1 k 0 eq {%k=0 j 0 eq {[ ] 0 setdash tfg} if j 1 eq {[ ] 0 setdash tfg} if } if %k=0 k 1 eq {%k=1 j 0 eq {[100 100] 0 setdash tfn} if %j 1 eq {[100 100] 0 setdash tfn} if } if %k=1 50 setlinewidth /im 45 def 0 1 im {/i exch def %i=0,im i 0 eq {xi i get MULX mul 2000 add Frudi i get MULY mul 1500 add moveto} if i 1 ge i im 1 sub le and {xi i get MULX mul 2000 add Frudi i get MULY mul 1500 add lineto} if i im eq {xi i get MULX mul 2000 add Frudi i get MULY mul 1500 add lineto stroke} if } for %i=0,im } for %k=0,1 [ ] 0 setdash 20 setlinewidth } if %idevi=1 %slope /m0 Frui 21 get Frui 19 get sub xi 21 get xi 19 get sub div def %font colour j 0 eq {tfw} if j 1 eq {tfy} if 1650 700 j 180 mul sub moveto TBIS (m) show 0 -70 rmoveto TBV ai cvsshow1x bi cvishow 0 70 rmoveto TBS (=) show m0 cvsshow2x } for %j=jm1,jm2 tfl 30 setlinewidth [100 100] 0 setdash 1600 0 moveto 1600 Frui 16 get MULY mul 1500 add lineto stroke 2400 500 moveto 2400 Frui 24 get MULY mul 1500 add lineto stroke [ ] 0 setdash 20 setlinewidth xtr0 neg ytr0 neg translate } def %C0i_QXi %END C0i_QXi %********************************************************************* C0i_QXi %************************************************************** %special space for 'xm03'PROZ0.COM 2x before/after xchartl % xchartl 0 eq { 100 neg 13000 neg translate} if % xchartl 1 eq { 6150 neg 13000 neg translate} if % xchartl 2 eq { 100 neg 08740 neg translate} if % xchartl 3 eq { 6150 neg 08740 neg translate} if % xchartl 4 eq { 100 neg 04480 neg translate} if % xchartl 5 eq { 6150 neg 04480 neg translate} if % xchartl 6 eq { 100 neg 00220 neg translate} if % xchartl 7 eq { 6150 neg 00220 neg translate} if grestore %} for %xchartl=0,07 showpage grestore %%Trailer