// Wersja 04.12.2009; Pzdr.J.P. // ******************************************* // function ut(h,m,z) ** // ******************************************* function ut(h,m,z) { // Zamien czas lokalny na UTC, hms --> h.xxxx return (h-z+m/60); } // ******************************************* // function kiedy_sun; czas slonca <== sat ** // ******************************************* function kiedy_sun(sat_kiedy) { var SiteLat,SiteLon SiteLat=1*document.geo.LAT.value; // szer.geo. miejsca SiteLon=1*document.geo.LON.value; // dlug.geo. miejsca var la=1.0*document.geo.LAT.value; // szer.geo. miejsca var lg=1.0*document.geo.LON.value; // dlug.geo. miejsca // var lg=14; // dlugosc geograficzna - stopnie // var lgmi=32; // dlugosc geograficzna - minuty // var la=53; // szerokosc geograficzna - stopnie // var lami=25 // szerokosc geograficzna - minuty var ye=Rok; var mo=Mies; var da=Dzien; var ho=Godz; var mi=Minuta; var zo=Zona; // czas letni = GMT+2; zimowy = GMT+2 var k=Math.PI/180.0; // lg=lg+lgmi/60 // la=la+lami/60 lgo=lg lao=la aa=180.0 ho=ho // godzina pozycji var alt=altitude(lg,la,ye,mo,da,ho,mi,zo) // -!*-*!*-*!*-*!*-*!*-*!*-*!*-*!*-*!- // *** Azymut Satelity function Azymut_L(SatLon,SiteLat,SiteLon) { Lon_Dif=Rad(SiteLon-SatLon); Az_Site=180+Deg( Math.atan(Math.tan(Lon_Dif)/Math.sin(Rad(SiteLat))) ); if (SiteLat<0) Az_Site=Az_Site-180.0; if (Az_Site<0) Az_Site=Az_Site+360.0; return Az_Site; } // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // *** Kiedy: Czas Satelity // var sa=-1.0*document.sunform.sat.value; // Polozenie sat.: -19.2 // var lg=1.0*document.sunform.longitude.value; // Szer.Geo. // var lgmi=1.0*document.sunform.longmin.value; // - minuty - // var la=1.0*document.sunform.latitude.value; // Dlug. Geo. // var lami=1.0*document.sunform.latmin.value; // - minuty = // lgc=lg+lgmi/60; // lac=la+lami/60; // var sa=-1.0*document.Satelity.Nazwa.value; // Polozenie sat.: -19.2 // document.sunform.PozycOrbit.value=13 // var sa=-1.0*document.sunform.PozycOrbit.value // Polozenie sat.: -19.2 // var sa=sa_sa // ************************************************* // var sa=-1.0*-40.0 var sa=-sat_kiedy; var lac=1.0*document.geo.LAT.value; // szer.geo. miejsca var lgc=1.0*document.geo.LON.value; // dlug.geo. miejsca az_s=Azymut_L(sa,lac,lgc)-180; // Oswietlenie przednie aH=180+az_s; // *** Elewacja: [Slonce - Satelita] // el_sat=Elewacja_L(sa, lac, lgc); // el_sat=14 // ----------- ha1H=6.0; // Od ktorej godziny skanujemy ha2H=20.0; // Do ktorej minoH=1.0; // Minimalna roznica |szuk - wylicz| dfoH=0; dfo2H=1; // ----------- hnoH="***" mnoH="***" for (h=ha1H; h HB=13,0E ** // ******************************************* // var lg=14.53; // dlugosc geograficzna - st.dec. // var la=53.42; // szerokosc geograficzna - st.dec. // ******************************************* // Az = arctg { tg(Dl_g - Poz_S) / sin(Sz_g) } // tg(Az) = { tg(Dl_g - Poz_S) / sin(Sz_g) // tg(Az) * sin(Sz_g) = tg(Dl_g - Poz_S) // arctg {tg(Az) * sin(Sz_g)} = Dl_g - Poz_S // Poz_S = Dl_g - arctg {tg(Az) * sin(Sz_g)} // ******************************************* function azimuth_sat(lg,la,azm) { with (Math) { var azm_sat=Deg(Rad(lg)-atan(tan(Rad(azm))*sin(Rad(la)))) azm_sat=(-azm_sat+180) % 360 return azm_sat } } // KONIEC: function azimuth_sat() // ******************************************* // ******************************************* // function altitude_sat; Elewacja Sat ** // ******************************************* // Pm = arccos { cos(Sz_g) - cos(Dl_g - Poz_S) } // El = arctg { [cos(Pm) - 0,1513] / sin(Pm)} // ******************************************* function altitude_sat(azm_sat,la,lg) { Lon_Dif=Rad(-lg-azm_sat); Lat_Site=Rad(la); r1=1+35786/6378.16; v1=r1*Math.cos(Lat_Site)*Math.cos(Lon_Dif)-1; v2=r1*Math.sqrt(1-Math.cos(Lat_Site)*Math.cos(Lat_Site)*Math.cos(Lon_Dif)*Math.cos(Lon_Dif)); alt_sat=Deg(Math.atan(v1/v2)); return alt_sat; } // KONIEC: function alt_sat() Elewacja Sat // ******************************************* // ******************************************* // function altitude; Elewacja Slonca ** // ******************************************* function altitude(lg,la,ye,mo,da,ho,mi,zo) { with (Math) { var uu=ut(ho,mi,zo); var jj=jd(ye,mo,da,uu); var T=jj/36525; var k=PI/180.0; var M=357.5291+35999.0503*T-0.0001559*T*T-0.00000045*T*T*T M=M % 360 var Lo=280.46645+36000.76983*T+0.0003032*T*T Lo=Lo % 360 var DL=(1.9146-0.004817*T-0.000014*T*T)*sin(k*M)+(0.019993-0.000101*T)*sin(k*2*M)+0.00029*sin(k*3*M) L=Lo+DL var eps=23.43999-0.013*T var delta=(1/k)*asin(sin(L*k)*sin(eps*k)) var RA=(1/k)*atan2(cos(eps*k)*sin(L*k),cos(L*k)) RA=(RA+360) % 360 var GMST=280.46061837+360.98564736629*jj+0.000387933*T*T-T*T*T/38710000 GMST=(GMST+360) % 360 var LMST=GMST+lg var H=LMST-RA // var eqt=(Lo-RA)*4 var alt=(1/k)*asin(sin(la*k)*sin(delta*k)+cos(la*k)*cos(delta*k)*cos(H*k)) return alt; } // KONIEC: with (Math) } // KONIEC: function altitude() // ******************************************* // ******************************************* // function settoday() ** // ******************************************* function settoday() { // Pobierz z komputera - "Teraz" today=new Date() thisyear=today.getYear() if (thisyear<=1900) thisyear=thisyear+1900 // for Netscape on Mac thismonth=today.getMonth()+1 thisday=today.getDate() thishour=today.getHours() thisminute=today.getMinutes() offset=today.getTimezoneOffset() if (offset>=1380) offset=offset-1440 // for Netscape on Mac thiszone=-offset/60 Rok=thisyear; Mies=thismonth; Dzien=thisday; Godz=thishour; Minuta=thisminute; Zona=thiszone; } // KONIEC: function settoday() // ******************************************* // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // function sunpos() !! // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! function sunpos() { // Pozycja slonca: Azymut, Elewacja var SiteLat,SiteLon SiteLat=1*document.geo.LAT.value; // szer.geo. miejsca SiteLon=1*document.geo.LON.value; // dlug.geo. miejsca var la=1.0*document.geo.LAT.value; // szer.geo. miejsca var lg=1.0*document.geo.LON.value; // dlug.geo. miejsca // var lg=14; // dlugosc geograficzna - stopnie // var lgmi=32; // dlugosc geograficzna - minuty // var la=53; // szerokosc geograficzna - stopnie // var lami=25 // szerokosc geograficzna - minuty var ye=Rok; var mo=Mies; var da=Dzien; var ho=Godz; var mi=Minuta; var zo=Zona; // czas letni = GMT+2; zimowy = GMT+2 var k=Math.PI/180.0; // lg=lg+lgmi/60 // la=la+lami/60 lgo=lg lao=la aa=180.0 ho=ho // godzina pozycji var alt=altitude(lg,la,ye,mo,da,ho,mi,zo) // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // *** Wyswietlaj ELEWACJE *** // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=alt+0.055; if (alt<0) (alt=0); // ponizej horyzontu elew. --> 00.0 A = eval(Math.floor(z)) if (A<1) A=0 if (A<=9){ document.images.a11.src=c0.src document.images.b11.src=eval("c"+A+".src") } else { document.images.a11.src=eval("c"+Math.floor(A/10)+".src") document.images.b11.src=eval("c"+(A%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=(z-A)*100 B = eval(Math.floor(z)) if (B<1) B=0 if (B<=9){ document.images.a21.src=c0.src // document.images.b21.src=eval("c"+B+".src") } else { document.images.a21.src=eval("c"+Math.floor(B/10)+".src") // document.images.b21.src=eval("c"+(B%10)+".src") } if (alt<=0) document.a11.src=cd.src // znak "dół" ponizej // *** KONIEC: Wyswietlaj ELEWACJE *** // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- var azm=azimuth(lg,la,ye,mo,da,ho,mi,zo) // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=- // *** Wyswietlaj AZYMUT *** // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=- azm=azm-180 if (azm<0) document.j1.src=ce.src else document.images.j1.src=cw.src if (alt<=0) document.j1.src=cd.src // znak "dół" ponizej z=Math.abs(azm); z=z+0.055; if (alt<=0) z=0.0; // ponizej horyzontu az --> 000.0 A = eval(Math.floor(z)) if (z>99) { document.images.a01.src=eval("c"+Math.floor(A/100)+".src") A=A%100; z=z%100; } else { document.images.a01.src=c0.src } if (A<1) A=0 if (A<=9){ document.images.a31.src=c0.src document.images.b31.src=eval("c"+A+".src") } else { document.images.a31.src=eval("c"+Math.floor(A/10)+".src") document.images.b31.src=eval("c"+(A%10)+".src") } z=Math.abs((z-A)*100) B = eval(Math.floor(z)) if (B<1) B=0 if (B<=9){ document.images.c31.src=c0.src } else { document.images.c31.src=eval("c"+Math.floor(B/10)+".src") } // *** KONIEC: Wyswietlaj AZYMUT *** // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=- var azm_sat=azimuth_sat(lg,la,azm) // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=- // *** Wyswietlaj AZYMUT SAT *** // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=- azm_sat=azm_sat-180 // *** !!!!!!!!! LINIJKA !!!!!!!!!!! azm_lin=azm_sat if (alt<=0) azm_lin=-81; // ponizej horyzontu elew. --> 00.0 // azm_lin=32 rob_lin(azm_lin); // *** !!!!!!!!! LINIJKA !!!!!!!!!!! if (azm_sat<0) document.j91.src=ce.src else document.images.j91.src=cw.src if (alt<=0) document.j91.src=cd.src // znak "dół" ponizej z=Math.abs(azm_sat); z=z+0.055; if (alt<=0) z=0.0; // ponizej horyzontu az --> 000.0 A = eval(Math.floor(z)) if (z>99) { document.images.a09.src=eval("c"+Math.floor(A/100)+".src") A=A%100; z=z%100; } else { document.images.a09.src=c0.src } if (A<1) A=0 if (A<=9){ document.images.a91.src=c0.src document.images.b91.src=eval("c"+A+".src") } else { document.images.a91.src=eval("c"+Math.floor(A/10)+".src") document.images.b91.src=eval("c"+(A%10)+".src") } z=Math.abs((z-A)*100) B = eval(Math.floor(z)) if (B<1) B=0 if (B<=9){ document.images.c91.src=c0.src } else { document.images.c91.src=eval("c"+Math.floor(B/10)+".src") } // *** KONIEC: Wyswietlaj AZYMUT SAT *** // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=- var alt_sat=altitude_sat(azm_sat,la,lg) // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // *** Wyswietlaj ELEWACJE SAT *** // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=alt_sat+0.055; if (alt<=0) (z=0); // ponizej horyzontu elew. --> 00.0 A = eval(Math.floor(z)) if (A<1) A=0 if (A<=9){ document.images.a71.src=c0.src document.images.b71.src=eval("c"+A+".src") } else { document.images.a71.src=eval("c"+Math.floor(A/10)+".src") document.images.b71.src=eval("c"+(A%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=(z-A)*100 B = eval(Math.floor(z)) if (B<1) B=0 if (B<=9){ document.images.a81.src=c0.src // document.images.b21.src=eval("c"+B+".src") } else { document.images.a81.src=eval("c"+Math.floor(B/10)+".src") // document.images.b21.src=eval("c"+(B%10)+".src") } if (z<=0) document.a71.src=cd.src // znak "dół" ponizej // *** KONIEC: Wyswietlaj ELEWACJE SAT *** // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // *** Wyswietl Roznice ELEWACJI *** // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=alt-alt_sat-0.05; if (alt<=0) (z=0); // ponizej horyzontu elew. --> 00.0 document.images.z101.src=cg.src // znak "gora" powyzej if (z<=0) { (z=-z); document.images.z101.src=cd.src // znak "dół" ponizej } A = eval(Math.floor(z)) if (A<1) A=0 if (A<=9){ document.images.a101.src=c0.src document.images.b101.src=eval("c"+A+".src") } else { document.images.a101.src=eval("c"+Math.floor(A/10)+".src") document.images.b101.src=eval("c"+(A%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=(z-A)*100 B = eval(Math.floor(z)) if (B<1) B=0 if (B<=9){ document.images.a201.src=c0.src // document.images.b21.src=eval("c"+B+".src") } else { document.images.a201.src=eval("c"+Math.floor(B/10)+".src") } // if (z<=0) document.a101.src=cd.src // znak "dół" ponizej // *** KONIEC: Wyswietlaj Roznice ELEWACJI *** // -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=- h1=0 m=0 alt1=altitude(lg,la,ye,mo,da,h1,m,zo) azm1=azimuth(lg,la,ye,mo,da,h1,m,zo) // s=-0.8333 s=0; // find midday interval for (var h=0; h<24; h++){ h2=h azm2=azimuth(lg,la,ye,mo,da,h2,m,zo) if ((azm1<=180)&&(azm2>=180)){ ha1=h1 ha2=h2 } h1=h2 azm1=azm2 } // *** --------- ------------------------------------- --------- *** // *** --------- Kiedy Srodek Dnia , uwzg. "time zone" --------- *** mino=1.0; for (h=ha1; h s){ dfr=Math.abs(s-altr) if (dfr<=minr) {minr=dfr; hr=h; mr=m} } } } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // *** --------- Obliczenie Zachodu Slonca --------- *** hs="xx" ms="xx" // poza zakresem - "xx" mins=0.1; for (h=hno+3; h s){ dfs=Math.abs(s-alts) if (dfs<=mins) {mins=dfs; hs=h; ms=m} } } } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // Wyswietl Wschod z=hr A = eval(Math.floor(z)) if (A<1) A=0 if (A<=9){ document.images.a1.src=c0.src document.images.b1.src=eval("c"+A+".src") } else { document.images.a1.src=eval("c"+Math.floor(A/10)+".src") document.images.b1.src=eval("c"+(A%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=mr B = eval(Math.floor(z)) if (B<1) B=0 if (B<=9){ document.images.a2.src=c0.src document.images.b2.src=eval("c"+B+".src") } else { document.images.a2.src=eval("c"+Math.floor(B/10)+".src") document.images.b2.src=eval("c"+(B%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // Wyswietl Zachod z=hs C = eval(Math.floor(z)) if (C<1) C=0 if (C<=9){ document.images.a3.src=c0.src document.images.b3.src=eval("c"+C+".src") } else { document.images.a3.src=eval("c"+Math.floor(C/10)+".src") document.images.b3.src=eval("c"+(C%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=ms D = eval(Math.floor(z)) if (D<1) D=0 if (D<=9){ document.images.a4.src=c0.src document.images.b4.src=eval("c"+D+".src") } else { document.images.a4.src=eval("c"+Math.floor(D/10)+".src") document.images.b4.src=eval("c"+(D%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // *** -------- Obliczenie Dlugosci Dnia -------- *** // hs="xx" // ms="xx" // poza zakresem - "xx" dd_hm=(hs*60+ms-hr*60-mr) dd_h=Math.floor(dd_hm/60) dd_m=dd_hm-dd_h*60 // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- // Wyswietl Dlugosc Dnia z=dd_h C = eval(Math.floor(z)) if (C<1) C=0 if (C<=9){ document.images.dl1.src=c0.src document.images.dl2.src=eval("c"+C+".src") } else { document.images.dl1.src=eval("c"+Math.floor(C/10)+".src") document.images.dl2.src=eval("c"+(C%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- z=dd_m D = eval(Math.floor(z)) if (D<1) D=0 if (D<=9){ document.images.dl3.src=c0.src document.images.dl4.src=eval("c"+D+".src") } else { document.images.dl3.src=eval("c"+Math.floor(D/10)+".src") document.images.dl4.src=eval("c"+(D%10)+".src") } // -=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- } // -!-!-!-!-!-!-!-!!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!- // KONIEC: function sunpos() -!-!- // -!-!-!-!-!-!-!-!!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!-!- var c1=new Image(); c1.src="cyfry//c1.gif" //obrazki cyfr: "1" .. "0" c2=new Image(); c2.src="cyfry//c2.gif" c3=new Image(); c3.src="cyfry//c3.gif" c4=new Image(); c4.src="cyfry//c4.gif" c5=new Image(); c5.src="cyfry//c5.gif" c6=new Image(); c6.src="cyfry//c6.gif" c7=new Image(); c7.src="cyfry//c7.gif" c8=new Image(); c8.src="cyfry//c8.gif" c9=new Image(); c9.src="cyfry//c9.gif" c0=new Image(); c0.src="cyfry//c0.gif" ce=new Image(); ce.src="cyfry/e.gif" // znak "E" wschod cw=new Image(); cw.src="cyfry/w.gif" // znak "W" zachod cd=new Image(); cd.src="cyfry/dol.gif" // znak "dół" ponizej cg=new Image(); cg.src="cyfry/gora.gif" // znak "góra" powyzej // ======================================================== function Rad(x) { var ra_d ra_d=x*Math.PI/180; return(ra_d) } function Deg(x) { var de_g de_g=x*180/Math.PI; return(de_g) } // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!