// Pzdr.J.P. , wer.12.05.2005 function Licz_Fi(){ // *** Licz Kat **** var odlegl, wys, kat odlegl=1*document.Elewacja.Odleglosc.value; if (odlegl<=0) {odlegl=0.1; alert("Przeszkoda za blisko - BŁĄD !!!")}; wys=1*document.Elewacja.Wysokosc.value; kat=Deg(Math.atan(wys/odlegl)); document.Elewacja.Fi.value=formatuj(kat,4); return document.Elewacja.Fi.value; } function Licz_Szczyt(){ // *** Licz odl. do Szczytu **** var odl, wys, szcz odl=1*document.Elewacja.Odleglosc.value; wys=1*document.Elewacja.Wysokosc.value; szcz=Math.sqrt(odl * odl + wys * wys); document.Elewacja.Szczy.value=formatuj(szcz,4); return document.Elewacja.Szczy.value; } function Po_zmianie_Fi(){ // *** Licz Nowa Wysokosc po zm. Fi **** var odlegl, wys, kat kat=1*document.Elewacja.Fi.value; odlegl=1*document.Elewacja.Odleglosc.value; wys=Math.tan(Rad(kat))*odlegl; document.Elewacja.Wysokosc.value=formatuj(wys,4); } function Po_zmianie_Szczytu(){ // *** Nowa Wys. po zmian. odl. do Szcz. **** var odl, wys, szc szc=1*document.Elewacja.Szczy.value; odl=1*document.Elewacja.Odleglosc.value; if (szc<=odl) {wys=0; alert("Odl. do szczytu za mała - BŁĄD !!!")} else wys=Math.sqrt(szc*szc-odl*odl); document.Elewacja.Wysokosc.value=formatuj(wys,4); } function Rad(x) { // *** Licz radiany **** var ra ra=x*Math.PI/180; return(ra) } function Deg(x) { // *** Licz stopnie **** var de de=x*180/Math.PI; return(de) } function formatuj(co, p_ile) // *** Zaokraglaj do "p_ile" pozycji *** { var invalid = "**************************"; var nines = "999999999999999999999999"; var strin = "" + co; var fltin = parseFloat(strin); if (strin.length <= p_ile) return strin; if (strin.indexOf("e") != -1 || fltin > parseFloat(nines.substring(0, p_ile)+".4")) return invalid.substring(0, pile); var rounded = "" + (fltin + (fltin - parseFloat(strin.substring(0, p_ile)))); return rounded.substring(0, p_ile); } // Pzdr.J.P. , wer.12.05.2005