Ich versuche den Winkel zu berechnen, der erforderlich ist, um ein Projektil zu schießen, um eine bestimmte Koordinate zu treffen.Berechne den erforderlichen Winkel, um die Koordinate (x, y) von einer anderen Position als (0,0) mit unterschiedlicher Höhe zu treffen
Mein Projektil befindet sich eine zufällige Koordinate und meine Zielkoordinate an einer statischen Koordinate.
I beendet über die folgende Gleichung auf Wikipedia läuft Für die Berechnung der erforderlichen Winkel bei einer Koordinate (x, y) von (0,0) zu treffen:
Ich habe einige Versuche gemacht um diese und andere Formel zu verstehen und versuchte die folgende Implementierung (ich verwende C# und XNA).
double y = source.Y - target.Y;
double x = Vector2.Distance(source, target);
double v = 1440; //velocity
double g = 25; //gravity
double sqrt = (v*v*v*v) - (g*(g*(x*x) + 2*y*(v*v)));
sqrt = Math.Sqrt(sqrt);
double angleInRadians = Math.Atan(((v*v) + sqrt)/(g*x));
Ich habe auch folgendes versucht, was zu einem identischen Winkel führte, wo die Werte von v und g gleich bleiben.
double targetX = target.X - source.X;
double targetY = -(target.Y - source.Y);
double r1 = Math.Sqrt((v*v*v*v) - g*(g*(target.X*target.X) + ((2*target.Y)*(v*v))));
double a1 = ((v*v) + r1)/(g*target.X);
angleInRadians = -Math.Atan(a1);
if (targetX < 0)
{
angleInRadians -= 180/180*Math.PI;
}
Meine Vermutung ist, dass auch in meinem (angenommen) Versuch die Quelle Null aus koordinieren, dass ich noch nicht die Berechnung korrekt für Koordinaten mit einer nicht (0,0) Quelle und verschiedenen Höhen durchführt.
Unten ist ein Bild, das mein Koordinatensystem darstellt. Dies ist die Standardeinstellung für XNA.
Ich denke, Sie sollten Ihre tatsächlichen Positionen (0,0) -basierten System zu übersetzen, führen die Funktion dort und führen Sie eine endgültige Übersetzung von (0,0) zum tatsächlichen System ... unter der Annahme, dass keine anderen Faktoren als die Schwerkraft vorhanden sind, sollte der berechnete Winkel von jeder Quelle gleich sein ... –
Welche anderen Parameter (Eingabe) beeinflussen den Projektilpfad, wie die Geschwindigkeits- und Schwerkraftkonstanten oder welche anderen Variablen gibt es? –
Sollte die Schwerkraft nicht negativ sein? Es ist -9.8m/s wenn ich mich richtig erinnere. –