Hallo!
Ich habe eine Frage zu einem Java-Programm, welches den Flug einen Kanonenkugel berechnen soll. Geschwindigkeit und Winkel α darf sich der Nutzer selbst aussuchen (v muss zwischen 300 und 900 km/h liegen, und α zwischen 1 und 90°). Luftwiderstand, etc. spielen keine Rolle
Allerdings funktioniert die Berechnung des Fluges nicht ganz richtig. Es wird entweder ausgegeben, dass die Flugweite Not a Number ist oder die Flugweite ist komplett falsch. Bei einem Winkel von z.B. 90° wird auch richtig ausgegeben, dass man quasi 0 in x Richtung geschossen hat, was ja stimmt.
Hier der wichtige Teil (Berechnungen):
do {
// Neuer X und Y Wert
x = x + (speed * Math.cos(angle));
y = y + (speed * Math.sin(angle)) - (9.81 / 2);
// Neue Geschwindigkeit
speed = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
// Neuer Winkel
angle = Math.atan(y / x);
} while (y >= 0);
Hoffe es kann jemand helfen