Wenn ich einen Punkt habe, den ich am Ende oder während eines Parabelbogens treffen möchte, wie würde ich die benötigte x- und y-Geschwindigkeit berechnen?
20
Wenn ich einen Punkt habe, den ich am Ende oder während eines Parabelbogens treffen möchte, wie würde ich die benötigte x- und y-Geschwindigkeit berechnen?
Antworten:
Die parabolische Trayectory-Funktion ist definiert als:
Bekannte Werte:
Unbekannte Werte:
Um 'Vo' zu berechnen, können wir der F-Funktion Werte zuweisen:
Sie können nun alle Werte abrufen, um das Ziel vom Ursprung aus zu erreichen, und Werte für t in die F-Gleichung eingeben:
quelle
Vor kurzem musste ich ein ähnliches Problem lösen. Ich fand zwei Lösungen, die auf der Formel basieren, die ich auf der Wikipedia-Seite 'Dan the Man' gefunden habe, die bereits erwähnt wurde: Flugbahn eines Projektils
Bei dieser Lösung müssen Sie entweder den Startwinkel fest oder die x-Geschwindigkeit eingeben. Eine Y-Geschwindigkeit ist nicht erforderlich, da das Projektil in einem bestimmten Winkel abgefeuert wird.
Lösung 1, Startwinkel ist festgelegt, Geschwindigkeit berechnen:
Lösung 2, Geschwindigkeit ist fest, Startwinkel berechnen:
In meinem Fall hat diese Lösung ganz gut funktioniert.
quelle
Wenn es Sie nicht interessiert, ob es mathematisch korrekt ist, nur dass es korrekt genug aussieht, berechnen Sie den geraden Pfad und lassen Sie Ihr Projektil diesem Pfad folgen, aber "schieben Sie es nach oben" entlang der Normalen dieser Linie als Funktion der Entfernung nach unten Das Liniensegment steigt an, wenn es sich der Mitte des Segments nähert, und fällt ab, wenn es sich von der Mitte des Liniensegments entfernt.
Sie können hierfür eine Sinuswelle verwenden und den Gradbereich von -90 bis +90 verwenden (wobei -90 der linke Punkt auf dem Liniensegment ist, 90 der rechte Punkt und Sie in der Mitte lerpen) und das Ergebnis multiplizieren durch eine Konstante, um es zu vergrößern.
Wenn Sie die rein korrekte mathematisch / physikalische Antwort benötigen, hilft dies nicht. Wenn Sie dies nicht tun, kann dies wahrscheinlich ziemlich gut für Sie funktionieren!
Vergessen Sie nicht, bei der Programmierung von Spielen geht es darum, Illusionen zu verwenden, die korrekt aussehen (und billiger zu berechnen sind), anstatt um Realismus.
quelle
Wenn Sie nur etwas brauchen, das in etwa richtig ist und eine feste Geschwindigkeit hat, können Sie diese sehr vereinfachte Methode verwenden.
Die Entfernung kann negativ sein, funktioniert aber trotzdem, da der Winkel auch von der Entfernung abhängt. Wenn der Abstand negativ ist, ist der Winkel, der hinzugefügt werden muss, ebenfalls negativ.
Sie müssen mit distanceFactor herumspielen, um den richtigen Wert zu finden. Es hängt von der Schwerkraft und der Kraft des Projektils ab. Sie sollte in der Nähe von 1 liegen, geteilt durch die maximale Entfernung, die das Projektil zurücklegen kann.
quelle