%!PS-Adobe-3.0 EPSF-3.0 CGS01-7N %%BoundingBox: 70 85 228 206 %START PDFDE011.EPS /pdfmark17 where {pop} {userdict /pdfmark17 /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/CGS0/CGS0.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:2021040112000) /ModDate (D:20210401112000) /DOCINFO pdfmark17 [ /View [ /Fit ] /DOCVIEW pdfmark17 %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 /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-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 /FS {findfont exch scalefont setfont} bind def /MM {72 25.4 div mul} def /str {8 string } bind def /TS {160 /Times-ISOL1 FS} bind def /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 /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 /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 /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 /SS {160 /Symbol FS} bind def /SL {200 1 sub /Symbol FS} bind def /SK {250 1 sub /Symbol FS} bind def /SM {300 1 sub /Symbol FS} bind def /SG {350 1 sub /Symbol FS} bind def /CS {160 /Courier-ISOL1 FS} bind def /CL {200 /Courier-ISOL1 FS} bind def /CK {250 /Courier-ISOL1 FS} bind def /CM {300 /Courier-ISOL1 FS} bind def /CG {350 /Courier-ISOL1 FS} bind def /CBS {160 /CourierB-ISOL1 FS} bind def /CBL {200 /CourierB-ISOL1 FS} bind def /CBK {250 /CourierB-ISOL1 FS} bind def /CBM {300 /CourierB-ISOL1 FS} bind def /CBG {350 /CourierB-ISOL1 FS} bind def /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 /kMs {300 /TimesI-ISOL1 FS show TM} bind def /bMs {300 /TimesB-ISOL1 FS show TM} bind def /jMs {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 /cvishow {cvi 10 string cvs show} def /cvsshow1 {10 mul cvi 0.1 mul 7 string cvs show} def /cvsshow2 {100 mul cvi 0.01 mul 7 string cvs show} def /cvsshow3 {1000 mul cvi 0.001 mul 7 string cvs show} def /cvsshow4 {10000 mul cvi 0.0001 mul 7 string cvs show} def /cvsshow1x {/nxx exch def %example nxx=99.1/99.0 nxx 10 mul cvi /nxi exch def %nxi=991/990 nxi 10 idiv /nxa exch def %nxa=99 nxi nxa 10 mul sub /nxb exch def %nxb=1/0 nxa cvishow (,) show %nxa=99 nxb cvishow %nxb=1/0 } def /cvsshow2x {/nxx exch def %example nxx=99.12/99,02/99,00 nxx 100 mul cvi /nxi exch def %nxi=9912/9902/00 nxi 100 idiv /nxa exch def %nxa=99 nxi nxa 100 mul sub /nxb exch def %nxb=12/02/00 nxa cvishow (,) show %nxb=99, nxb 10 ge {nxb cvishow} if %nxb=12 nxb 1 ge nxb 9 le and {(0) show nxb cvishow} if %nxb=02 nxb 0 eq {(00) show} if %nxb=00 } def /cvsshow3x {/nxx exch def %example nxx=99.123/99.012/99.001/99.000 nxx 1000 mul cvi /nxi exch def %nxi=99123/99012/99001/99000 nxi 1000 idiv /nxa exch def %nxa=99 nxi nxa 1000 mul sub /nxb exch def %nxb=123/012/001/000 nxa cvishow (,) show %nxb=99, nxb 100 ge {nxb cvishow} if %nxb=123/012/001/000 nxb 10 ge nxb 99 le and {(0) show nxb cvishow} if %nxb=012 nxb 1 ge nxb 9 le and {(00) show nxb cvishow} if %nxb=001 nxb 0 eq {(000) show} if %nxb=000 } def /cvsshow2s {/nxx exch def %example nxx=99.12/99,02 nxx 0 le {(-) show} if nxx 100 mul cvi /nxi exch abs 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 /cvsshow3s {/nxx exch def %example nxx=-0,123 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 1000 mul cvi abs def %nxi=123 nxi 100 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(0) show nxi cvishow} if %nxb=012/001/000 nxi 1 ge nxi 9 le and {(00) show nxi cvishow} if %nxb=001/000 nxi 0 eq {(000) show} if %nxb=000 } def /cvsshow4s {/nxx exch def %example nxx=-0,1234 nxx 0 lt {(-0,) show} {(0,) show} ifelse /nxi nxx 10000 mul cvi abs def %nxi=1234 nxi 1000 ge {nxi cvishow} if %nxb=123/012/001/000 nxi 100 ge nxi 999 le and {(0) show nxi cvishow} if %nxb=123/012/001/000 nxi 10 ge nxi 99 le and {(00) show nxi cvishow} if %nxb=012 nxi 1 ge nxi 9 le and {(000) show nxi cvishow} if %nxb=001 nxi 0 eq {(0000) show} if %nxb=000 } def /tdw {1 1 1 setrgbcolor} bind def /tdr {1 0 0 setrgbcolor} bind def /tdy {1 1 0 setrgbcolor} bind def /tdg {0 1 0 setrgbcolor} bind def /tdc {0 1 1 setrgbcolor} bind def /tdb {0 0 1 setrgbcolor} bind def /tdm {1 0 1 setrgbcolor} bind def /tdn {0 0 0 setrgbcolor} bind def /tdz {0.5 setgray} bind 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 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 /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 0 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 % gsave %XCHA01.PS END 4 /Times-ISOL1 FS 72 86 moveto (CGS01-7N) show 72 90 translate 0.01 MM dup scale 20 setlinewidth /xwidth 5400 def /ywidth 4000 def 0.5 setgray 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 setgray 0 0 moveto xwidth 0 rlineto 0 ywidth rlineto xwidth neg 0 rlineto closepath stroke /cvishow {cvi 6 string cvs show} def 20 setlinewidth 050 3825 moveto tdw TBL (log) show 20 0 rmoveto (C) jLs (r) ibLs ( = log[\050) bLs (Y/) jLs (D) sLs (Y) jLs (\051/\050) bLs (Y/) jLs (D) sLs (Y) jLs (\051) bLs (u) ibLs (] ) bLs TBL (relativer CIE\255Kontrast) showde (relative CIE contrast) showen 050 3600 moveto TBL (Koordinaten ) showde (coordinates ) showen (log) bLs 20 0 rmoveto (C) jLs (r) ibLs TBL ( und ) showde ( and ) showea (log) bLs 20 0 rmoveto (Y) jLs TBL ( for 4 colours) showen ( f\374r 4 Farben) showde tdw( W) jLs tdr (R) jLs tdg (G) jLs tdb (B) jLs tdw 680 280 translate 30 setlinewidth tdn 0 0 moveto 4000 250 add 0 rlineto stroke 0 0 moveto 0 3000 250 add rlineto stroke 4000 250 add 0 moveto -100 50 rlineto 0 -100 rlineto closepath fill 0 3000 300 add moveto -50 -100 rlineto 100 0 rlineto closepath fill TBL /tx [(-2) (-1) ( 0) ( 1) ( 2)] def /ty [( -1) ( 0) ( 1) ( 2) ] def /txl [( ) (0,1) ( 1) ( 10) (100)] def /tyl [( ) (1) (10) (100) ] def /ty7 [( -2)( -1) ( 0) ( 1) ( 2) ] def /tyl7 [( )(0,1) (1) (10) (100) ] def %!x-Achse: 100 Einheiten = 0600 Skalen-Einheiten 0 1 4 {/i exch def /ixt {-150 i 1000 mul add} def /ixl { 000 i 1000 mul add} def ixt -250 moveto tx i get exec show i 1 ge {ixt 100 moveto txl i get exec show} if ixl 60 moveto 0 -120 rlineto stroke } for /ixtt 4 1000 mul def /iytt -200 def ixtt 200 add iytt moveto (log) bLs 20 0 rmoveto (Y) jLs /iytt 050 def ixtt 200 add iytt moveto (Y) jLs tdn %!y-Achse: 100 S-Einheiten = 1000 Skalen-Einheiten TBL 0 1 3 {/i exch def /iyt {-70 i 1000 mul add} def /iyl {000 i 1000 mul add} def -370 iyt moveto ty7 i get show i 1 ge {050 iyt moveto tyl7 i get show} if -60 iyl moveto 120 0 rlineto stroke } for tdn /i 3 def -650 130 i 1000 mul add moveto (log) bLs 20 0 rmoveto (C) jLs (r) ibLs 100 130 i 1000 mul add moveto (C) jLs (r) ibLs /Yi 101 array def /dYi 101 array def /L*i 101 array def /L*iW 101 array def /L*iR 101 array def /L*iG 101 array def /L*iB 101 array def /YnW 100 def %CIELAB /YnR 21 def /YnG 72 def /YnB 07 def /c24 2.4 def %sRGB /e10D24 1.0 2.4 div def /e14D24 1.4 2.4 div def /c30 3.0 def %CIELAB /e10D30 1.0 3.0 div def /e20D30 2.0 3.0 div def /Yu 18 def /MULX 1000 def /MULY 1000 def 2000 2000 translate %new cero point %t*=100*(Y/100)**(1/2.4) %delta_t*/delta_Y=100*(1/2.4)*(Y/Yn)**(-1.4/2.4) %delta_Y=1/[100*(1/2.4)*(Y/Yn)**(-1.4/2.4)]=2.4/100*(Y/Yn)**(1.4/2.4) %delta_Y=2.4/100*(Y/Yn)**(1.4/2.4) 0 1 3 {/k exch def %k=0,3:W,R,G,B %only W 0 1 100 {/i exch def %i=0,100 k 0 eq {1 1 1 setrgbcolor Yi i i YnW mul 100. div put dYi i Yi i get YnW div e14D24 exp c24 mul 100 div put } if k 1 eq {1 0 0 setrgbcolor Yi i i YnR mul 100. div put dYi i Yi i get YnR div e14D24 exp c24 mul 100 div put } if k 2 eq {0 1 0 setrgbcolor Yi i i YnG mul 100. div put dYi i Yi i get YnG div e14D24 exp c24 mul 100 div put } if k 3 eq {0 0 1 setrgbcolor Yi i i YnB mul 100. div put dYi i Yi i get YnB div e14D24 exp c24 mul 100 div put } if } for %i=0,100 40 setlinewidth /i1 001 def /i2 100 def /Yu 18 def /dYu dYi 18 get def i1 1 i2 {/i exch def %i=i1,i2 Yi i get log MULX mul Yi i get dYi i get div Yu dYu div div log MULY mul i i1 eq {moveto} if i i1 1 add ge i i2 1 sub le and {lineto} if i i2 eq {stroke} if } for %i=i1,i2 k 0 eq {%k=0 only for k=0 /CrN3 Yi 3 get dYi 3 get div Yu dYu div div def /CrN4 Yi 4 get dYi 4 get div Yu dYu div div def /CrN CrN3 0.4 mul CrN4 0.6 mul add def /YN 3.6 def /Cru Yi 18 get dYi 18 get div Yu dYu div div def /Yu 18 def /CrW Yi 90 get dYi 90 get div Yu dYu div div def /YW 90 def tdw %x-axis mark YN log MULX mul -2 MULY mul moveto YW log MULX mul -2 MULY mul lineto stroke %y-axis mark -2 MULX mul CrN log MULY mul moveto -2 MULX mul CrW log MULY mul lineto stroke tdg [100] 0 setdash %x-axis mark YN log MULX mul -2 MULY mul moveto YW log MULX mul -2 MULY mul lineto stroke %y-axis mark -2 MULX mul CrN log MULY mul moveto -2 MULX mul CrW log MULY mul lineto stroke [ ] 0 setdash tdn 1 setgray [100] 0 setdash -2 MULX mul Cru log MULY mul moveto Yu log MULX mul Cru log MULY mul lineto Yu log MULX mul -2 MULY mul lineto stroke [ ] 0 setdash %-2.4 MULX mul Cru log MULY mul 060 sub moveto (49,4) bLs -1.8 MULX mul Cru log MULY mul 080 add moveto (C) jLs -20 0 rmoveto (ru) ibLs Yu log MULX mul 020 add 900 neg moveto (Y) jLs (u) ibLs (=18) bLs } if %k=0 only for k=0 } for %k=0,3 newpath tdn YN log MULX mul CrN log MULY mul 100 0 360 arc fill tdw Yu log MULX mul Cru log MULY mul 110 0 360 arc fill tdz Yu log MULX mul Cru log MULY mul 090 0 360 arc fill tdw YW log MULX mul CrW log MULY mul 100 0 360 arc fill TBL YN log MULX mul 250 sub CrN log MULY mul 350 sub moveto YN cvsshow1x (, ) show CrN cvsshow1x Yu log MULX mul 150 add Cru log MULY mul 100 sub moveto Yu cvsshow1x (, ) show Cru cvsshow1x YW log MULX mul 400 sub CrW log MULY mul 150 add moveto YW cvsshow1x (, ) show CrW cvsshow1x tdw 2000 neg 2000 neg translate %old cero point /WRGBn {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw (n) ibLs} def /WRGB {tdw (W) ibLs () bLs tdr (R) ibLs () bLs tdg (G) ibLs () bLs tdb (B) ibLs () bLs tdw} def /x0 0300 def /y0 3050 def /ydel 300 def x0 y0 moveto TBL (sRGB relative CIE contrast: ) showen (sRGB relativer CIE\255Kontrast: ) showde %Cr= log[(Y/dY)/(Yu/dYu)] %x0 y0 0.9 ydel mul sub moveto (log) bLs 20 0 rmoveto (C) jLs (r) ibLs (=log\050) bLs (Y/Y) jLs (u) ibLs (\051) bLs (1/2,4) ebLs %delta_L*= delta_Y / [2,4*(Yn)**(1/2,4)/100)*Y**(1,4/2,4)] x0 y0 0.9 ydel mul sub moveto (D) sLs (Y) jLs WRGB ( = [ 0,024\050) bLs (Y) jLs WRGBn (1/2,4) ebLs (\051]) bLs ( Y) jLs (1,4/2,4) ebLs x0 y0 1.8 ydel mul sub moveto (\0500<) bLs (Y) jLs (<=) bLs (Y) jLs WRGBn (\051) bLs tdw /x0 3600 def /y0 0800 def x0 y0 moveto 1000 0 rlineto stroke tdg [100] 0 setdash x0 y0 moveto 1000 0 rlineto stroke [ ] 0 setdash tdw x0 y0 0.7 ydel mul sub moveto TBL (application) showen TS (Anwendungs\255) showde x0 y0 1.3 ydel mul sub moveto TBL (range) showen TS (bereich) showde 680 neg 280 neg translate showpage grestore %%Trailer