Realistische Flugbahn einer Kugel modellieren?
Hallo,
ich möchte für ein 2D-Computerspiel eine realistische Flugbahn einer Kugel modellieren, die die Gravitation und den Luftwiderstand berücksichtigt. Die Differentialgleichungen möchte ich dann (bspw. mit dem Runge-Kutta-Verfahren) numerisch lösen.
Formeln für die Modellierung:
- Zusammenhang Beschleunigung, Geschwindigkeit und Weg: a(t) = v‘(t) = s‘‘(t)
- Zweites Newtonsches Gesetz: F = m * a
- Gewichtskraft: F = m * g
- Luftwiderstandkraft: F = 0,5 * ρ * c * A * v² = k * v² mit k := 0,5 * ρ * c * A
Mein Ansatz:
Für die Modellierung teile ich die Bewegung in ihre x- und y-Komponente auf. Das heißt, die Funktionen x(t) und y(t) würde ich gerne approximieren. Dabei ist y(t) abschnittsweise definiert.
Horizontale Bewegung:
Vertikale Bewegung (aufwärts):
Vertikale Bewegung (abwärts):
Ist dieser Ansatz korrekt? Wie gehe ich jetzt am besten weiter vor, um x(t) bzw. y(t) zu bestimmen?
1 Antwort
Sieht gut aus - warum aber machst Du die Fallunterscheidung für vertikal aufwärts und abwärts? Ich hab das vor 35 Jahren in numerischer Mathematik auch programmieren müssen, damals noch in FORTRAN 77, aber alles vergessen. Vielleicht hilft das?
https://cdn.geogebra.org/resource/YtkyT3pE/IDEtubsW2NxmMvky/material-YtkyT3pE.pdf
Danke für deine Antwort. Die Fallunterscheidung erschien mir sinnvoll, weil die Luftwiderstandkraft beim Aufstieg der Kugel nach unten und ab dem Fall der Kugel nach oben wirkt. Aber das war eine blöde Idee...
Ich habe mir deinen Link angeschaut und der hat mir auch schon sehr geholfen, aber ich verstehe nicht, wie ich die Differentialgleichungen auf Seite 20 mit dem RK-Verfahren lösen soll, weil beide Gleichungen jeweils von v_x und v_y abhängen.
Das ist ja dann ein System von DGL oder? Hast du vielleicht eine Idee, wie man das RK-Verfahren hier anwenden muss?
Ich hab heute leider keine Zeit, mir das genauer anzuschauen - sind mitten im Hausumbau; check doch mal auf Plausibilität: bei variablem Luftwiderstand sollte die Kugel, je höher der Widerstandkoeffizient gesetzt wird, schneller runterkommen…
Sieht alles gut aus. Musste ein wenig mit der Schrittweite und anderen Parametern "rumspielen", damit die Flugbahn korrekt im Spiel gerendert wird, aber es passt jetzt. Danke noch mal!
Habe es jetzt nochmal probiert. Das RK-Verfahren scheint zu funktionieren, bin mir aber nicht sicher, ob ich es richtig gemacht habe.