Wurfparabel

  • Hallo zusammen.
    Ich hab grade mal ein Problem mit der Umsetzung der Wurfparabel.
    Also ich möchte, dass der Gegner in meinem Spiel den Abschusswinkelberechnet.

    In meiner Formelsammlung habe ich diese Formel gefunden:

    Quellcode

    1. sw=(v0^2*sin(2a))/g //sw=Reichweite, v0=Abwurfgeschwindigkeit, a=Abwurfswinkel, g=Schwerkraft


    Diese Formel habe ich auf a umgeformt. Das heißt ich bekomme meines Wissens dies heraus:

    Quellcode

    1. (sin^-1((sw*g)/v0^2))/2=a


    In gml sollte sie dann denk ich mal so aussehn:

    GML-Quellcode

    1. a=arcsin(((sw*g)/(v0*v0))/2)


    In meinem Fall hab ich diese Variablen gegeben:

    Quellcode

    1. sw=mouse_x-x
    2. v0=5
    3. g=0.5
    4. a=gesucht.


    So nun mein Problem:
    Erstens kommt ab und zu ein Fehler und ab und zu nicht xD Ich denke das liegt dann an dem Wert sw.
    Zweitens wird da ja garnicht der y-Wert des Zieles bedacht.

    Ich hoffe es gibt jemanden der sich in Physik auskennt und mir helfen kann.
    Übrigens bin ich bei der Suche auf ein ähnliches Problem gestoßen, aber hilft mir für die Berechnung des Winkels wenig weiter.
    Danke schonmal im Voraus.
  • Also das Example von Bl@ckSp@rk hab ich mir auch angeguckt, jedoch wird da ja die h- und vspeed ermittelt und nicht nur der Winkel. Zudem Blick ich da nicht ganz so durch, weil ich keinen physikalischen Bezug finde.

    @boxxar: Weit über 1. Iwas bei 1000015 oder so?! Sieht mehr wie die Id des Objektes aus xD
  • Dir ist schon klar dass es nicht reicht nur den Winkel zu berechnen. Du musst auch die Abschussgeschwindigkeit berechnen, bzw. beides im Verhältnis zueinander. Oder du berechnest eben so wie ich im example den Abschussvektor. Und zur physikalischen Seite: Du glaubst doch nicht im ernst, dass es reicht eine Formel aus dem Tafelwerk in ein event zu schreiben damit das funktioniert.

    Die Schwierigkeit an dem Problem ist die Freiheit von 2 Variablen. Dadurch gibt es unendlich viele mögliche Flugbahnen. Ob hoch und langsam oder flach und schnell musst du entscheiden und die Berechnung mit einfließen lassen.
  • Original von Bl@ckSp@rk
    OK, Danke. Deine Möglichkeit die Geschwindigkeit vorher festzulegen würde zwar auch gehen, aber da könntest du probleme bekommen wenn das ziel außer Reichweite liegt bzw. nahe dran.


    Das ist aber eigentlich auch gut so. Schließlich hat man ja nur begrenzte Wurfkraft. Aber ich weiß, worauf du hinaus willst. Dennoch wollte ich das erwähnen, weil es sicherlich von Vorteil wäre, eine Entfernungsbegrenzung einzubinden. Wobei man das bereits vorher in einer Abfrage lösen könnte.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Original von Bl@ckSp@rk
    OK, Danke. Deine Möglichkeit die Geschwindigkeit vorher festzulegen würde zwar auch gehen, aber da könntest du probleme bekommen wenn das ziel außer Reichweite liegt bzw. nahe dran.


    Nur wie geht das?:D Ich frag mich ja am meisten, wieso meine Formel nicht geht.

    EDIT: Ach natürlich. Der fehler kommt wenn das Ziel zuweit weg ist. Irgendwie logisch^^.

    Aber trotzdem gehts nicht. Hier mal das, was ich zum Testen gemacht hab.
    Dateien
    • werfen.rar

      (12,5 kB, 146 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Superdaniel ()

  • Benutzer online 1

    1 Besucher