2017-05-13 5 views
0

Ich versuche Projektiltrajektorien in Java neu zu erstellen, aber ich bleibe bei einigen Dingen stecken. Ich habe viele Videos gesehen, die Formeln und Sachen erklären, aber sie haben ein Ziel in ihrer Gleichung und ich nicht. Was ich damit meine ist, dass sie eine Reichweite haben, um ihren Kugelfall zu berechnen, aber ich versuche herauszufinden, wie viel die Kugel letztendlich fallen wird.'Basic' Projektile Trajektorien

Was Zur Zeit arbeite ich mit ist:

dropDistance = (9,807/2) * t² 

Ich bin nicht überhaupt Mathematiker und ich bin buchstäblich auf diesem steckt, und ich habe keine Ahnung, wie dies zu realisieren, wenn die Entfernung des Ziels ist nicht bekannt. Es sollte im 3D-Raum (x, y, z) arbeiten, aber ich denke, dass nur das Y in der Formel benötigt wird.

+0

Nicht geeignet für SO, verwenden Sie stattdessen den Mathestapelaustausch! – user3791372

+0

Kannst du nicht für die Entfernung die Höhe der Kugel aus dem Boden einfach mit dem "Gewicht" der Kugel lösen? –

+0

Wir können die Formel 's = (u * t) - (0.5 * a * t * t)' verwenden, um die vertikale Verschiebung vom Ursprung zu berechnen, der 'u' gegeben wird - die anfängliche vertikale Geschwindigkeit, 't', die verstrichene Zeit, und "a", in diesem Fall -9,8 (m/s/s) - vorausgesetzt, Sie versuchen, Trajektorien auf der Erde nachzubilden. Sie können dies in 2 oder 3 Dimensionen wiederholen, um einen Punkt in 2 oder 3d zu erhalten. –

Antwort

1

Dies ist ein einfaches Physikproblem.

Sie müssen mit Newtons zweitem Bewegungsgesetz beginnen. Sie haben davon gehört, aber das wichtige Bit ist das wirklich drei Gleichungen, weil Kraft und Beschleunigungsvektoren sind:

force = mass*acceleration 

Ihr Problem vereinfachen, indem sie mit zwei Dimensionen zu starten. In diesem Fall ist diese beiden Gleichungen:

Fx = m*ax = 0 (no force in x-direction; ignore drag) 
Fy = m*ay = -m*g 

für ay Solving:

ay = -g = constant (9.8 m/sec^2) 

Sie wissen aus Kalkül, dass ay = dvy/dt und vy = duy/dt. Integrieren Sie zweimal die Position uy als Funktion der Zeit zu erhalten:

uy = -(g*t^2)/2 + c0*t + c1 

Sie auch ux brauchen:

ax = dvx/dt = 0 

Integration zweimal:

ux = c2*t + c3 

Ersatzanfangsbedingungen Konstanten auswerten.

Stoppen Sie Videos und lesen Sie einen Text der Intro-Physik.

+0

Beachten Sie, dass Sie eine ungewöhnliche Konvention haben, die y-Achse nach unten zeigen. – user1803551

+0

Sie sind ziemlich richtig. Ich hätte das Zeichen bei Beschleunigung negativ machen sollen. Ich werde es reparieren. – duffymo