Flugbahn eines von der Planetenoberfläche abgefeuerten Projektils

Sagen Sie, Barry, können Sie die Funktion "Beantworten Sie Ihre eigene Frage" dieser Website missbrauchen, um einen Einblick in diese oft gestellte Frage (in verschiedenen verschiedenen Formen) zu geben:

Sie starten ein Projektil mit der Geschwindigkeit v0 nach oben auf einen luftlosen kugelförmigen Planeten mit einem Radius von r, einer Rotationsperiode von p und einer Oberflächenbeschleunigung von g.

  1. Differentialgleichungen aufstellen, um herauszufinden, wie weit vom Startpunkt entfernt das Projektil landen wird? Sie können die Umdrehung des Planeten um seine Primärachse (falls vorhanden) in Ihren Berechnungen ignorieren.

  2. Lösen Sie diese Differentialgleichungen in einigen interessanten Fällen numerisch.

Möglichkeiten, dieses Problem zu erschweren:

  • Ermöglichen Sie gerichtete Starts, nicht nur gerade Starts. Dies ist wahrscheinlich die einfachste und offensichtlichste Verbesserung der Frage.

  • Berücksichtigen Sie ellipsoide Planeten, bei denen der Radius mit dem Breitengrad variiert und die Oberflächennormale ("Aufwärts"-Richtung) der Schwerkraftrichtung ("Abwärts"-Richtung) nicht genau entgegengesetzt ist.

Antworten (1)

Ohne Einschränkung der Allgemeinheit können wir unsere Achsen so zeichnen, dass die Anfangsposition des Projektils in der xz-Ebene liegt.

Unter Berücksichtigung phides Breitengrades des Startplatzes ist die Ausgangsposition des Projektils:

{ R cos ( ϕ ) , 0 , R Sünde ( ϕ ) }

Der Startplatz vollzieht eine Rotation in der Zeit p, seine Position zur Zeit t ist also:

{ R cos ( ϕ ) cos ( 2 π T P ) , R cos ( ϕ ) Sünde ( 2 π T P ) , R Sünde ( ϕ ) }

Zur Differenzierung haben wir die Geschwindigkeit der Site als:

{ 2 π R cos ( ϕ ) Sünde ( 2 π T P ) P , 2 π R cos ( ϕ ) cos ( 2 π T P ) P , 0 }

Insbesondere ist die Geschwindigkeit zum Zeitpunkt 0:

{ 0 , 2 π R cos ( ϕ ) P , 0 }

Somit ist die Startgeschwindigkeit des Projektils v0plus der Geschwindigkeit, die von der Startstelle wie oben verliehen wird.

Wenn man die Standortgeschwindigkeit für einen Moment ausschließt, wird der Start vom Zentrum des Planeten entfernt sein und somit in die Richtung:

{ cos ( ϕ ) , 0 , Sünde ( ϕ ) }

Da dies ein Einheitsvektor ist, beträgt die Startgeschwindigkeit (vorerst ohne die Geschwindigkeit des Startplatzes):

{ v0 cos ( ϕ ) , 0 , v0 Sünde ( ϕ ) }

Wenn wir die Anfangsgeschwindigkeit des Startplatzes wieder hinzufügen, haben wir die Anfangsgeschwindigkeit des Projektils als:

{ v0 cos ( ϕ ) , 2 π R cos ( ϕ ) P , v0 Sünde ( ϕ ) }

Zur Vereinfachung schreiben wir separate Gleichungen für die x-, y- und z-Komponenten des Projektils. Von oben haben wir:

X ( 0 ) = R cos ( ϕ )

j ( 0 ) = 0

z ( 0 ) = R Sünde ( ϕ )

X ' ( 0 ) = v0 cos ( ϕ )

j ' ( 0 ) = cos ( ϕ )

z ' ( 0 ) = v0 Sünde ( ϕ )

Die Beschleunigung wirkt auf das Zentrum des Planeten, daher ist die Richtung der Beschleunigung zum Zeitpunkt t:

{ X ( T ) , j ( T ) , z ( T ) }

Umwandlung in einen Einheitsvektor:

{ X ( T ) X ( T ) 2 + j ( T ) 2 + z ( T ) 2 , j ( T ) X ( T ) 2 + j ( T ) 2 + z ( T ) 2 , z ( T ) X ( T ) 2 + j ( T ) 2 + z ( T ) 2 }

Die Erdbeschleunigung ist g an der Oberfläche, die der Abstand r vom Planetenmittelpunkt ist, und ist somit g*(r/d)^2 im Abstand d vom Planeten (vorausgesetzt, dass d > r, was in unserem Fall der Fall ist Problem). Unter Verwendung der Abstandsformel ist die Größe der Schwerkraft zum Zeitpunkt t:

G R 2 X 2 + j 2 + z 2

Somit ist der Vektor der Erdbeschleunigung:

{ G R 2 X ( T ) ( X ( T ) 2 + j ( T ) 2 + z ( T ) 2 ) 3 / 2 , G R 2 j ( T ) ( X ( T ) 2 + j ( T ) 2 + z ( T ) 2 ) 3 / 2 , G R 2 z ( T ) ( X ( T ) 2 + j ( T ) 2 + z ( T ) 2 ) 3 / 2 }

Da wir diese Gleichungen numerisch lösen werden, müssen wir die Werte von t begrenzen. Wir wollen natürlich bei t=0 beginnen, aber wo enden?

Grob gesagt, wenn ein Objekt die Anfangsgeschwindigkeit v0 hat und bei g (in negativer Richtung) beschleunigt, erreicht es zum Zeitpunkt v0/g die Geschwindigkeit 0 und kehrt zum Zeitpunkt 2*v0/g in seine Ausgangsposition zurück. Daher sollte das Rechnen bis t=4*v0/g ausreichen.

(Natürlich geht es bei diesem ganzen Problem darum, den obigen Absatz "grob gesagt" zu verfeinern.)

Beachten Sie, dass das Finden der Näherungsfunktion für die Position des Projektils nur Schritt 1 ist. Wir müssen dann herausfinden, wann das Projektil wieder auf dem Planeten landet: mit anderen Worten, wann seine Entfernung vom Zentrum wieder r beträgt.

Mathematica-Code folgt.

(* TODO: I am not returning functions properly here *)

(* 

This module returns (in this order):

s[t]: the xyz position of the projectile at time t, 0 < t < root

site[t]: the position of the launch site at time t, just as a reminder
that the planet is rotating.

root: The time at which the projectile lands

dlat: The projectile's change in latitude (radians)

dlon: The projectile's change in longitude (radians)

nsdist: north/south distance traveled by projectile

ewdist: east/west distance traveled by projectile

tdist: total distance traveled by projectile (on surface of sphere)

Some helper functions used below are found in:

https://github.com/barrycarter/bcapps/blob/master/bclib.m

*)

launch[r_, p_, g_, phi_, v0_] := launch[r,p,g,phi,v0] = Module[
 {s, site, root, dlat, dlon, garb, nsdist, ewdist, tdist, maxtime, maxheight},

s[t_] = {x[t], y[t], z[t]} /. NDSolve[{
 x[0] == r*Cos[phi], y[0] == 0, z[0] == r*Sin[phi],
 x'[0] == v0*Cos[phi], y'[0] == 2*Pi*r*Cos[phi]/p, z'[0] == v0*Sin[phi],
 x''[t] == -g*((r^2*x[t])/(x[t]^2 + y[t]^2 + z[t]^2)^(3/2)),
 y''[t] == -g*((r^2*y[t])/(x[t]^2 + y[t]^2 + z[t]^2)^(3/2)),
 z''[t] == -g*((r^2*z[t])/(x[t]^2 + y[t]^2 + z[t]^2)^(3/2))
}, {x[t],y[t],z[t]}, {t,0,4*v0/g}][[1]];

maxtime = FindMaximum[Norm[s[t]]-r,{t,v0/g}];
maxheight = maxtime[[2,1,2]];
maxtime = maxtime[[1]];

site[t_] = r*{Cos[2*Pi*t/p]*Cos[phi], Sin[2*Pi*t/p]*Cos[phi], Sin[phi]};
root = t /. FindRoot[Norm[s[t]]-Norm[s[0]], {t, 2*v0/g}];
{dlon,dlat,garb} = xyz2sph[s[root]]-xyz2sph[site[root]];
{nsdist, ewdist} = {dlat*r, Cos[phi+dlat]*dlon*r};
tdist = 2*r*ArcSin[Norm[s[root]-site[root]]/2/r];
Return[{s[t], site[t], root, dlat, dlon, nsdist, ewdist, tdist, maxtime,
 maxheight}];
];

Lassen Sie uns nun diesen Code verwenden, um einige bestehende Fragen zu beantworten:

Um für 1 Sekunde zu springen, brauche ich eine Anfangsgeschwindigkeit von 4,9 m/s, also rechnen wir

launch[6371000, 86400, 9.8, 0*Degree, 4.9]

Der Sprung dauert 1,003 Sekunden (3 Millisekunden länger als erwartet), und ich lande 116 Mikrometer westlich meiner ursprünglichen Position (keine Änderung meiner Nord-/Südposition, da ich am Äquator gestartet bin).

Um die Antwort von @NowIGetToLearnWhatAHe zu überprüfen: Das Springen von 1 m auf der Erde erfordert eine Anfangsgeschwindigkeit von 4,43 m / s, also rennen wir

launch[6371000, 86400, 9.8, 45*Degree, 4.43]

Der Sprung dauert 0,9053 Sekunden, und ich lande 6,9 mm südlich und 62,5 Mikrometer westlich meines Ausgangspunkts und überprüfe die Antworten von @NowIGetToLearnWhatAHe bis hin zu Rundungsfehlern.

Dies beantwortet effektiv auch https://physics.stackexchange.com/questions/80090/ , wenn wir davon ausgehen, dass das Springen von 1 m nach oben und das Schweben von 1 Sekunde den obigen Fällen nahe genug kommt.

Es beantwortet leider nicht https://physics.stackexchange.com/questions/89276 Auch wenn die Decke des Zuges wahrscheinlich nicht mehr als 1 m höher ist als die Hand des Werfers, könnte die Geschwindigkeit des Zuges von 600 Meilen pro Stunde ausreichen, um die Gleichung zu beeinflussen.

Lösen wir das Problem bei 45 Grad nördlicher Breite, wo die Bewegung der Kugel am größten ist:

launch[6371000, 86400, 9.8, 45*Degree, 1200]

Die Kugel landet 249,148 Sekunden später, 507 m westlich und 1260 m südlich ihrer ursprünglichen Position, und erreicht auf halbem Weg (124,574 s) eine maximale Höhe von 74455 m.

launch[3389500, 88643, 3.711, 0*Degree, v0]

mit verschiedenen v0, um zu sehen, wie schnell die Münze geworfen werden muss, um die Hand des Flippers zu verfehlen (unter der Annahme eines Handradius von 12 cm).

Am Marsäquator müssten Sie eine Münze mit 25,9 m/s werfen, damit sie Ihre Hand auf dem Weg nach unten verfehlt. Dies entspricht dem Werfen einer Münze mit 9,8 m / s (etwa 22 Meilen pro Stunde) auf der Erde. Ja, Sie könnten also eine Münze schnell genug werfen, dass sie Ihre Hand auf dem Weg nach unten verfehlen würde.

Bei 45 Grad Breite auf dem Mars haben wir:

launch[3389500, 88643, 3.711, 45*Degree, v0]

und es stellt sich heraus, dass eine Anfangsgeschwindigkeit von 10 m/s (entspricht 3,76 m/s oder 8,5 mph auf der Erde) ausreichen würde, damit die Münze Ihre Hand verfehlt.

Wir können diesen Code auch verwenden, um eine Vorstellung davon zu bekommen, wie stark die Berücksichtigung von Schwerkraft und Rotation die Flugbahn bei unterschiedlichen Anfangsgeschwindigkeiten beeinflusst.

Für das Folgende verwende ich:

launch[6371000, 86400, 10, 45*Degree, v0]

Schätzen Sie die Oberflächengravitation der Erde der Einfachheit halber auf 10 m / s ^ 2 ab.

  • Landezeit (in Sekunden):

Geben Sie hier die Bildbeschreibung ein

Die rote Linie stellt t/5 dar, die Landezeit, die wir erwarten würden, wenn sich die Erde nicht drehen würde und die Schwerkraft nicht mit der Entfernung abnehmen würde.

Die blaue Linie stellt die tatsächliche Landezeit dar.

  • Landeplatz wie weit westlich vom Startplatz (in Metern):

Geben Sie hier die Bildbeschreibung ein

  • Landeplatz wie weit südlich vom Startplatz (in Metern):

Geben Sie hier die Bildbeschreibung ein

  • Die Gesamtentfernung zwischen Landeplatz und Startplatz spiegelt die obige Grafik wider, da die meiste Bewegung von Nord nach Süd erfolgt.

  • Die scheinbare Oberflächengeschwindigkeit des Projektils: dh die auf der Oberfläche zurückgelegte Entfernung dividiert durch die Landezeit (in Metern/Sekunde):

Geben Sie hier die Bildbeschreibung ein

Anmerkungen:

  • Mathematica kann die Differentialgleichung nicht lösen, wenn die Anfangsgeschwindigkeit 7000 m/s übersteigt, möglicherweise, weil dies ziemlich nahe an der Geschwindigkeit liegt, die zum Erreichen einer Erdumlaufbahn erforderlich ist (obwohl nicht genug, um der Anziehungskraft der Erde vollständig zu entkommen, was eine Geschwindigkeit von 11186 m erfordern würde /S)

  • Längerfristig möchte ich Annäherungen erster Ordnung an die oben genannten Mengen ausarbeiten.