%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 842 595 % % BoundingBox: 0 0 1138 800 %without scaling % 595 0 translate 90 rotate %for a landscape printing % Scattering of light in the air, written by Jenik Hollan % This code and the bitmaps made from it are subject to the GPL % The numbers and indicatrix coefficients hold for the ``CIE sky No.5'' % By a unix command % sed "s/^%CZ/CZ/ ; s/^IT/%IT/" scatt_en.eps >scatt_cz.eps % a Czech version can be produced. It's easy to write another % language versions this way -- just add another string lines % beginning with %xx instead of %CZ, % Czech strings are iso-8859-2 coded % Italian strings are iso-8859-1 % -- sorry for using two encodings within one file... 0.74 dup scale /CZ {} def /EN {} def /IT {} def %CZ /basefont {/Arial-Medium 18 selectfont} def %EN /basefont {/Helvetica 16 selectfont} def IT /basefont {/Arial 16 selectfont} def basefont %CZ /basebold {/Arial-Bold 18 selectfont} def %EN /basebold {/Helvetica-Bold 16 selectfont} def IT /basebold {/Arial-Bold 16 selectfont} def %CZ /largefont {/Arial-Medium 23 selectfont} def %EN /largefont {/Helvetica 20 selectfont} def IT /largefont {/Arial 20 selectfont} def %CZ /headingfont {/Arial-Medium 36 selectfont} def %EN /headingfont {/Helvetica 32 selectfont} def IT /headingfont {/Arial 32 selectfont} def %CZ /footerfont {/Arial-Medium 29 selectfont} def %EN /footerfont {/Helvetica 26 selectfont} def IT /footerfont {/Arial 26 selectfont} def %CZ /indfont {/Arial-Medium 14 selectfont} def %EN /indfont {/Helvetica 12 selectfont} def IT /indfont {/Arial 12 selectfont} def /itemmw {20 0 rmoveto} def /itemm %CZ {gsave /Symbol 18 selectfont /bullet glyphshow grestore itemmw basefont} %EN {gsave basefont (@) show grestore itemmw basefont} IT {gsave basefont (@) show grestore itemmw basefont} def 0 setlinecap % for sky4: /c 10 def /d -3 def /e 0.45 def % for sky5: /c 16 def /d -3 def /e 0.30 def /scatcolor {0.5 0.55 0.65 setrgbcolor} def /dircolor {0.8 0.7 0.6 setrgbcolor} def /pi 3.141593 def /natl 2.71828 def /airt 40 def % thickness of the atmosphere /blw 20 def % initial light arrow width /trn 0.7 def % transmitted through 1 AM /rz 12000 def /an 20 def % angle between the rays /txt -270 def /indx 520 def /indy 10 def /indt 45 def /indtx 65 def /incy 40 def /f {t cos dup mul e mul natl d t mul pi mul 180 div exp natl d pi mul 2 div exp sub c mul add 1 add} def /atm { %the a bit curved atmosphere gsave 0.9 setgray airt 1.4 mul setlinewidth 0 airt 2 div airt 0.1 mul sub translate 0 rz neg %500 0 rlineto % 5 0 500 -100 5000 arcto rz 87.8 90.12 arc stroke 0.6 setgray %2 setlinewidth airt 0.4 mul setlinewidth 0 rz neg % rz airt 1.4 mul 2 div sub 87.8 90.08 arc rz airt 2 div sub 87.8 90.12 arc stroke grestore } def /arrclip { currentpoint currentlinewidth 2 div dup dup dup dup dup dup dup dup 0 rmoveto neg exch neg rlineto arrl 0 rlineto rlineto neg exch rlineto arrl neg 0 rlineto neg rlineto clip %neg 0 newpath moveto } def % the direct light: /dirl { gsave dircolor % 0.7 setgray blw setlinewidth % 0 blw 2 div r moveto % gsave % arrclip % %1 setlinecap % %airt 4 div 0 rlineto stroke % grestore am { currentpoint gsave /arrl airt def arrclip airt 0 rlineto stroke grestore moveto airt 0 rmoveto currentlinewidth dup trn mul setlinewidth % aligning the right (bottom) side of the narrowing line: % pop 1 trn sub mul 2 div 0 exch neg rmoveto gsave 1 setlinecap currentlinewidth /clw exch def 1 trn sub mul 2 div setlinewidth /clw currentlinewidth clw add def scatcolor gsave 0 clw 2 div rmoveto airt 3 div dup 3 div rlineto stroke grestore gsave 0 clw 2 div neg rmoveto airt 3 div dup 3 div neg rlineto stroke grestore grestore } repeat % 0.2 setgray % the final part of light escaping to the Universe: % airt 0 rlineto currentpoint currentpoint stroke /arrl airt 2.3333 mul currentlinewidth 2 div sub def [airt 0.6667 mul 2 div airt 0.3333 mul 2 div] 0 setdash arrclip airt 3 mul 0 rlineto stroke % the arrow: % 2 setlinecap % 0.8 setgray % moveto -10 10 rlineto stroke % moveto -10 -10 rlineto stroke grestore } def % the indicatrix: /ang 1.5 def /inarr { % 0 lineto stroke gsave /fsmul f s mul def /fsmulY fsmul 57.2 ang div div def 0 0 moveto ang rotate fsmul 0 lineto 45 ang add rotate fsmulY 1.414 mul dup 0 rlineto 90 rotate 0 rlineto 45 ang add rotate fsmul 0 rlineto fill grestore } def /in { gsave scatcolor currentlinewidth 2 div 0.75 dup scale /t 10 def gsave t rotate 180 an div cvi {inarr /t t an add def an rotate} repeat grestore /t 10 def gsave t neg rotate 180 an div cvi {inarr %4 0 moveto f s mul 0 lineto stroke /t t an add def an neg rotate} repeat grestore grestore } def % f(t)=1+c@(exp(d@t@pi/180)-exp(d@pi/2)) + e@cos(t)@@2 /city {gsave 1 setgray basefont 0 -2 moveto %CZ (město) %EN (city) IT (citta') dup stringwidth pop 2 div neg airt 0.2 mul neg rmoveto show grestore } def 0 25 translate %50 100 translate gsave 318 130 translate % @ 5 degrees angular height: /s 32 def % (s is the scattered part / 3, i.e. 96 / 3 for 5 deg ang. height) gsave indx indy translate 5 rotate in grestore gsave atm 0 airt 0.05 mul moveto 5 rotate /am 10 def dirl grestore basefont city gsave 0 incy translate 0 -10 translate txt 40 moveto itemm %CZ ( 5 stupňů nahoru:) %EN ( 5 degrees upwards:) IT ( 5 gradi verso l'alto:) show txt 20 moveto itemmw %CZ (97 \% se rozptýlí,) %EN (97 \% scatters,) IT (il 97 \% č diffusa,) show txt 0 moveto itemmw %CZ (z toho 45 \% dolů,) %EN (from 45 \% downwards,) IT (di cui il 45 \% verso il basso,) show txt -20 moveto itemmw %CZ (celkem se tedy vrátí dolů) %EN (altogether it returns down) IT (perciň torna verso il basso) show txt -40 moveto itemmw basebold (45 \% ) show basefont %CZ (takového světla.) %EN (of such light.) IT (del totale verso l'alto.) show grestore % @ 15 degrees angular height: 0 190 translate gsave indx indy translate 15 rotate /s 25 def in grestore gsave atm 0 airt 0.05 mul moveto 15 rotate /am 4 def dirl grestore city gsave 0 incy translate 0 -10 translate txt 40 moveto itemm %CZ (15 stupňů nahoru:) %EN (15 degrees upwards:) IT (15 gradi verso l'alto:) show txt 20 moveto itemmw %CZ (76 \% se rozptýlí,) %EN (76 \% scatters,) IT (76 \% č diffusa,) show txt 0 moveto itemmw %CZ (z toho 40 \% dolů,) %EN (from 40 \% downwards,) IT (di cui il 40 \% verso il basso,) show txt -20 moveto itemmw %CZ (celkem se tedy vrátí dolů) %EN (altogether it returns down) IT (perciň torna verso il basso) show txt -40 moveto itemmw basebold (31 \% ) show basefont %CZ (takového světla,) %EN (of such light,) IT (del totale verso l'alto,) show grestore gsave 455 75 moveto basefont %CZ (jen 0,7 = 0,24 světla unikne nerozptýleno) %EN (just 0.7 = 0.24 of the light escapes unscattered) IT (appena 0.7 = 0.24 della luce sfugge nello spazio senza essere diffusa) stringwidth pop neg 0 rmoveto %CZ (jen 0,7) %EN (just 0.7) IT (appena 0.7) show 0 10 rmoveto indfont (4) show 0 -10 rmoveto basefont %CZ (= 0,24 světla unikne nerozptýleno) %EN (= 0.24 of the light escapes unscattered) IT (= 0.24 della luce sfugge senza essere diffusa) show grestore % @ 90 degrees angular height: 0 190 translate gsave indx indy translate 90 rotate /s 10 def in grestore gsave atm 0 airt 0.1 mul moveto 90 rotate /am 1 def dirl grestore city gsave 0 incy translate largefont txt 115 moveto %CZ (Když jde světlo z lamp) %EN (When the light from lamps) IT (Quando la luce emessa dagli apparecchi) show txt 90 moveto %CZ (či osvětlených ploch) %EN (or illuminated surfaces) IT (o dalle superfici illuminate) show txt 65 moveto %CZ (směrem:) %EN (goes:) IT (č inviata:) show 0 -10 translate txt 40 moveto itemm %CZ (90 stupňů vzhůru:) %EN (90 degrees upwards:) IT (90 gradi verso l'alto:) show txt 20 moveto itemmw %CZ (30 \% se rozptýlí,) %EN (30 \% scatters,) IT (30 \% č diffusa,) show txt 0 moveto itemmw %CZ (z toho 28 \% dolů,) %EN (from 28 \% downwards,) IT (di cui il 28 \% verso il basso,) show txt -20 moveto itemmw %CZ (celkem se tedy vrátí dolů jen) %EN (altogether it returns down just) IT (perciň torna verso il basso solo l') show txt -40 moveto itemmw basebold ( 8 \% ) show basefont %CZ (takového světla,) %EN (of such light,) IT (del totale verso l'alto,) show grestore gsave 455 %airt 9 div neg -3 moveto %1.1 neg rotate 1.7 neg rotate basefont gsave 0 23 rmoveto %CZ (zakřivená zemská a t m o s f é r a :) %EN (the curved Earth a t m o s p h e r e :) IT (l'A T M O S F E R A della Terra curva:) dup stringwidth pop neg 0 rmoveto show grestore gsave 0 3 rmoveto %CZ (každá její tloušťka rozptýlí asi 30 \% světla) %EN (each its thickness scatters some 30 \% of the light) IT (ogni spessore diffonde circa il 30 \% della luce) dup stringwidth pop neg 0 rmoveto show grestore grestore gsave largefont 0 -10 translate gsave scatcolor indx indt add 115 moveto %CZ (Souhrn světla) %EN (Sum of the light) IT (Il totale della luce) show indx indt add 90 moveto %CZ (rozptýleného ovzduším) %EN (scattered by the air) IT (diffusa dall'aria) show grestore indx indt add 65 moveto %CZ (a jeho skutečné směry) %EN (and its true directions) IT (e le sue direzioni) show indx indt add 40 moveto (-) show -3 0 rmoveto %CZ (- většinou podobné) %EN (- mostly similar) IT (- simili) show indx indt add 15 moveto %CZ (směru původnímu) %EN (to the original direction) IT (alla direzione originale) show gsave blw 5 add 115 moveto dircolor %CZ (Vzhůru vyslané světlo zeslabené rozptylem) %EN (The light sent upward attenuated by scattering) IT (La luce inviata verso l'alto attenuata dalla diffusione) show blw 5 add 90 moveto %CZ (na plynu a aerosolech, než unikne do vesmíru,) %EN (on gas and aerosols, before it escapes to space,) IT (per i gas e aerosol, prima di sfuggire nello spazio,) show blw 5 add 65 moveto scatcolor %CZ (a jeho rozptýlené části \(schematicky\)) %EN (and its scattered parts \(schematically\)) IT (e le sue parti diffuse \(schematicamente\)) show grestore grestore grestore %0 200 translate 1138 2 div 720 moveto headingfont %CZ (Proč je noční nebe nad městem i daleko od něj stále světlé?) %EN (Why the sky over your town and even far from it glows so much?) IT (Perché il cielo della tua cittŕ e anche lontano da essa č cosě luminoso?) dup stringwidth pop 2 div neg 0 rmoveto show 1138 2 div 22 moveto footerfont %CZ (Který z uvedených případů k tomu podle vás přispívá nejvíce?) %EN (Which of the cases given above contributes most to the skyglow, in your opinion?) IT (Quali dei casi mostrati contribuisce maggiormente all'inquinamento luminoso, secondo te?) dup stringwidth pop 2 div neg 0 rmoveto show showpage