/* -------------------------------------------------------------------- */ /* JavaScript zur Errechnung von Anhaltewegen und mehr */ /* © Juli 1999 by Michael Dufek, Österreich */ /* Verwendung des JavaScript-Quelltextes nur mit Quellenangabe erlaubt! */ /* Quelle: Brems Dich ein! - http://2cu.at/brems/ */ /* -------------------------------------------------------------------- */ function formularcheck() /* Formularwerte überprüfen */ { /* Geschwindigkeit (v) */ /* Feld darf nicht leer ein */ if(document.brems.geschwindigkeit.value == "") { alert("Bitte die Geschwindigkeit eingeben!"); document.brems.geschwindigkeit.focus(); return false; } /* Nur Ziffern und den Kommapunkt (.) erlauben */ for (var i = 0; i < document.brems.geschwindigkeit.value.length; i++) { var abc = document.brems.geschwindigkeit.value.substring(i, i + 1); if ((abc < "0" || "9" < abc) && abc != '.') { alert("Die Eingabefelder akzeptieren nur Zahlen und den Kommapunkt (.)."); document.brems.geschwindigkeit.value = ""; document.brems.geschwindigkeit.focus(); return false; } } /* Wertebereich festlegen */ if (document.brems.geschwindigkeit.value 500) { alert("Die Geschwindigkeit muß zwischen 0 und 500 km/h liegen!"); document.brems.geschwindigkeit.value = ""; document.brems.geschwindigkeit.focus(); return false; } /* Reaktionszeit (t) */ /* Feld darf nicht leer ein */ if(document.brems.reaktion.value == "") { alert("Bitte die Reaktionszeit eingeben!"); document.brems.reaktion.focus(); return false; } /* Nur Ziffern und den Kommapunkt (.) erlauben */ for (var i = 0; i < document.brems.reaktion.value.length; i++) { var abc = document.brems.reaktion.value.substring(i, i + 1); if ((abc < "0" || "9" < abc) && abc != '.') { alert("Die Eingabefelder akzeptieren nur Zahlen und den Kommapunkt (.)."); document.brems.reaktion.value = ""; document.brems.reaktion.focus(); return false; } } /* Wertebereich festlegen */ if (document.brems.reaktion.value 10) { alert("Die Reaktionszeit muß zwischen 0 und 10 Sekunden liegen!"); document.brems.reaktion.value = ""; document.brems.reaktion.focus(); return false; } /* Bremsverzögerung (a) */ /* Feld darf nicht leer ein */ if(document.brems.verzoegerung.value == "") { alert("Bitte die Bremsverzögerung eingeben!"); document.brems.verzoegerung.focus(); return false; } /* Nur Ziffern und den Kommapunkt (.) erlauben */ for (var i = 0; i < document.brems.verzoegerung.value.length; i++) { var abc = document.brems.verzoegerung.value.substring(i, i + 1); if ((abc < "0" || "9" < abc) && abc != '.') { alert("Die Eingabefelder akzeptieren nur Zahlen und den Kommapunkt (.)."); document.brems.verzoegerung.value = ""; document.brems.verzoegerung.focus(); return false; } } /* Wertebereich festlegen */ if (document.brems.verzoegerung.value 50) { alert("Die Bremsverzögerung muß zwischen 0.1 und 50 m/s2 liegen!"); document.brems.verzoegerung.value = ""; document.brems.verzoegerung.focus(); return false; } /* Hindernisentfernung (hnd) */ /* Feld darf nicht leer ein */ if(document.brems.hindernis.value == "") { alert("Bitte die Hindernisentfernung eingeben!"); document.brems.hindernis.focus(); return false; } /* Nur Ziffern und den Kommapunkt (.) erlauben */ for (var i = 0; i < document.brems.hindernis.value.length; i++) { var abc = document.brems.hindernis.value.substring(i, i + 1); if ((abc < "0" || "9" < abc) && abc != '.') { alert("Die Eingabefelder akzeptieren nur Zahlen und den Kommapunkt (.)."); document.brems.hindernis.value = ""; document.brems.hindernis.focus(); return false; } } /* Wertebereich festlegen */ if (document.brems.hindernis.value 9999) { alert("Die Hindernisentfernung muß zwischen 0 und 9999 Meter liegen."); document.brems.hindernis.value = ""; document.brems.hindernis.focus(); return false; } bremsauswertung() /* Auswertung starten, wenn alle Eingaben ok */ } /* Auswerten der Eingabe */ function bremsauswertung() { v=parseFloat(document.brems.geschwindigkeit.value/3.6); /* Geschwindigkeit in m/s */ a=parseFloat(document.brems.verzoegerung.value); /* Bremsverzögerung */ hnd=parseFloat(document.brems.hindernis.value); /* Hindernisentfernung */ t=parseFloat(document.brems.reaktion.value); /* Reaktionszeit */ sr=v*t; /* Reaktionsweg */ sb=(Math.pow(v,2))/(2*a); /* Bremsweg */ sa=sr+sb; /* Anhalteweg */ /* Anhaltezeit (ta) */ if(v == 0) { ta=0 } else { ta=Math.sqrt((2*sb)/a)+t } /* Aufprallgeschwindigkeit (in m/s) auf Hindernis (vh) */ if(hnd sr && hnd= sa) {vh=0}; /* Hindernis wird nicht erreicht */ /* Dauer bis zum Aufprall (th) */ if( (hnd sr) && (hnd = sa) || (v == 0) ) {th=-1 }; /* Hindernis wird nicht erreicht */ /* äquivalente Fallhöhe (fh) */ fh=(Math.pow(vh,2))/19.62; /* Ausgabe der Zahlen */ /* gerundet auf 2 Stellen und mit voranstehender 0 bei Zahlen kleiner als 1 - Bsp: '0.8' statt '.8' */ if (String(v*3.6).substr(0,1)==".") {vaus=0+String(Math.round(v*3.6*100)/100)} else {vaus=(Math.round(v*3.6*100)/100)}; /* Geschwindigkeit */ if (String(t).substr(0,1)==".") {taus=0+String(Math.round(t*100)/100)} else {taus=(Math.round(t*100)/100)}; /* Reaktionszeit */ if (String(a).substr(0,1)==".") {aaus=0+String(Math.round(a*100)/100)} else {aaus=(Math.round(a*100)/100)}; /* Bremsverzögerung */ if (String(hnd).substr(0,1)==".") {hndaus=0+String(Math.round(hnd*100)/100)} else {hndaus=(Math.round(hnd*100)/100)}; /* Hindernisentfernung */ if (String(sr).substr(0,1)==".") {sraus=0+String(Math.round(sr*100)/100)} else {sraus=(Math.round(sr*100)/100)}; /* Reaktionsweg */ if (String(sb).substr(0,1)==".") {sbaus=0+String(Math.round(sb*100)/100)} else {sbaus=(Math.round(sb*100)/100)}; /* Bremsweg */ if (String(sa).substr(0,1)==".") {saaus=0+String(Math.round(sa*100)/100)} else {saaus=(Math.round(sa*100)/100)}; /* Anhalteweg */ if (String(ta).substr(0,1)==".") {taaus=0+String(Math.round(ta*100)/100)} else {taaus=(Math.round(ta*100)/100)}; /* Anhaltezeit */ if (String(vh*3.6).substr(0,1)==".") {vhaus=0+String(Math.round(vh*3.6*100)/100)} else {vhaus=(Math.round(vh*3.6*100)/100)}; /* Aufprallgeschwindigkeit */ if (String(th).substr(0,1)==".") {thaus=0+String(Math.round(th*100)/100)} else {thaus=(Math.round(th*100)/100)}; /* Dauer bis zum Aufprall */ if (th==-1) {thaus="-----"} /* Hindernis wird nicht getroffen */ if (String(fh).substr(0,1)==".") {fhaus=0+String(Math.round(fh*100)/100)} else {fhaus=(Math.round(fh*100)/100)}; /* äquivalente Fallhöhe */ /* Datenausgabe */ /* Daten in Formularfeld schreiben - readonly funktioniert nicht bei allen Browsern */ document.ausgabe.vausgabe.value = vaus; document.ausgabe.tausgabe.value = taus; document.ausgabe.aausgabe.value = aaus; document.ausgabe.srausgabe.value = sraus; document.ausgabe.sbausgabe.value = sbaus; document.ausgabe.saausgabe.value = saaus; document.ausgabe.taausgabe.value = taaus; document.ausgabe.hndausgabe.value = hndaus; document.ausgabe.vhausgabe.value = vhaus; document.ausgabe.thausgabe.value = thaus; document.ausgabe.fhausgabe.value = fhaus; /* zur Datenausgabe linken ausgabeurl="#datenausgabe" location.href = parent.frames[1].ausgabeurl;*/ } /* Vorgabewerte Geschwindigkeit setzen */ function vvorgabewert(vorgabewert) { document.brems.geschwindigkeit.value = vorgabewert; } /* Vorgabewerte Reaktionszeit setzen */ function tvorgabewert(vorgabewert) { document.brems.reaktion.value = vorgabewert; } /* Vorgabewerte Bremsverzögerung setzen */ function avorgabewert(vorgabewert) { document.brems.verzoegerung.value = vorgabewert; } /* Vorgabewerte Hindernisentfernung setzen */ function hndvorgabewert(vorgabewert) { document.brems.hindernis.value = vorgabewert; } /* Hindernis berechnen (wird gerade nicht getroffen = Anhalteweg)*/ function hndberechnen () { sr=(document.brems.geschwindigkeit.value/3.6) * document.brems.reaktion.value; /* Reaktionsweg */ sb=(Math.pow((document.brems.geschwindigkeit.value/3.6),2))/(2*document.brems.verzoegerung.value); /* Anhalteweg */ hndentfernung=sr+sb; if (String(hndentfernung).substr(0,1)==".") {hndentfernung=0+String(Math.round((hndentfernung*100)+0.5)/100)} else {hndentfernung=(Math.round((hndentfernung*100)+0.5)/100)}; /* auf 2 Stellen runden und auf jeden Fall aufrunden; Null voran, bei Zahlen kleiner als Null */ hndvorgabewert(hndentfernung); }
Hier haben Sie die Möglichkeit, Anhaltewege vereinfacht online zu berechnen.
Geben Sie bitte im Formular die gewünschten Werte ein. Bitte geben Sie Dezimalstellen mit einem Kommapunkt (.) an. Mit der Schaltfläche ‚auswerten‘ wird die Berechnung gestartet, mit ‚Standardwerte‘ die vom Programm vorgegebenen Standardwerte eingetragen.
Die Ergebnisse über den berechneten Anhalteweg werden weiter unten übersichtlich in der Tabelle dargestellt.
Video mit Erklärung und Formel zum Anhalteweg