Abfangkurs



  • Hallo,
    Folgendes MAthematisches Problem habe ich derzeit:

    Ich habe meinen Panzer P mit den Koordinaten P(10/5) und Geschwindigkeit vP=0 und 0° (Wobei 0°=Lage der X-Achse entspricht --> +90°=Lage der Y-Achse)
    Mein Ziel ist bei Z(2/2) und bewegt sich mit vZ=2 Einheiten/Frame und 45°

    Der Panzer seine Kugeln fliegen mit vKugel=5 Einheiten/Frame

    Meine Frage ist nun, wie weit muss sich der Panzer drehen damit er sein ziel schnellstmöglichst trifft ?



  • Stell doch mal die (Halb-)Gerade auf, auf der sich das Ziel bewegt. Zum Zeitpunkt t ist es an der Stelle (2,2)+t*(sqrt(2), sqrt(2)).

    Wenn dein Panzer unter dem Winkel alpha schießt, dann ist die Kugel zum Zeitpunkt t an der Stelle (10,5)+5*t*(cos(alpha),sin(alpha)).

    Die beiden sollen sich nun treffen, also gleichsetzen. Das liefert Dir Gleichungen für Alpha und t. Die kannst Du so umstellen, dass Du t als Funktion vom Abschußwinkel alpha erhältst. Jetzt mußt Du nur noch diese funktion minimieren, dabei aber beachten, dass Du ein minimum mit t>=0 suchst.



  • Mach doch zwei Gleichungen draus, eine für's Ziel und eine für die Kugel; der Funktionswert ist die Position und die ist abhängig von der Zeit. Also etwa so:
    Ziel: Pos(t) = Ausgangsposition + t * Richtungsvektor
    Geschoss : Pos(t) = Ausgangsposition + ... <- Hier muss irgendwie auch der Winkel drin sein, der noch unbekannt ist

    Da die Position zum selben Zeitpunkt gleich sein sollen, setzt du die Gleichungen gleich und löst nach dem Geschoss-Winkel aus. Dann brauchst du nur noch die Differenz zum aktuellen Panzer-Winkel und du hast die Drehung 🙂

    möp...



  • hmm..
    guter Tipp danke !
    Die einzige Frage bleibt nun,...

    Logisch gedacht werde ich nach dem Winkel auflösen meinen Panzer nach dem Winkel ausrichten und sobald dieser den Winkel erreicht hat schießen.
    Doch ist die Zeit bis er den Winkel hat unbestimmt ?
    Da er nun bis er den Winkel hat auch wieder Zeit vergeht ändert sich der Winkel auch wieder !
    Ist doch auch nicht des Rätselslösung oder ?



  • Allgemein:
    Punkt 1 (A,B)
    Punkt 2 (X,Y)

    Ausgang:
    (A,B)+vA*t*(sqrt(A),sqrt(B)) = (x,y)+v*t*(cos(alpha),sin(alpha));
    Multiplikation mit Vektor (-sqrt(A),sqrt(B))

    -A*sqrt(B)+B*sqrt(A)+sqrt(B)*x-sqrt(A)*y=v*t*(sqrt(A)*sin(alpha)-sqrt(B)*cos(alpha))

    Ende,Gelände ?
    Wie drück ich den sin durch cos am besten aus?



  • Latin schrieb:

    Ist doch auch nicht des Rätselslösung oder ?

    von einer drehgeschwindigkeit war bis jetzt nicht die rede. aber die kannste ja leicht mit dazunehmen, indem du die schußfunktion geeignet modifizierst. die ist dann halt stückweise definiert.

    und wieso kommst du nicht weiter? Kannst du nicht einfach nach t auflösen?


Anmelden zum Antworten