Winkel Differenz Frage

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Winkel Differenz Frage

    Hallihallo :D

    Ich denke mich gerade doof und dämlich über ein sehr simples Problem :/
    Hier eine kleine Veranschaulichung:



    Winkel A hat in jedem Step n beliebigen Winkel, und B ist immer 180° entfernt von A.
    Nun soll herausgefunden werden zu welchem Punkt W die kürzere Distanz hat. Hierbei wäre es B.

    Nun könnte ich einfach "if A-90 > W" rechnen, allerdings hilft mir das natürlich nicht wenn A auch mal 2° oder sonstigen Winkel hat wo mir die (Beispiel-)Rechnung nicht helfen würde.
    ?(
    Kurz und Knapp würd ich gerne einfach von 2 Winkel Differenzen die kleinere herausfinden wobei A & W beliebig sind und B immer 180° von A entfernt.

    Danke sehr
    :D
  • Ich bin mir nicht 100%ig sicher wie du das jetzt mit A,B und W meinst, aber bei der Winkel differenz kann dir leicht geholfen werden.
    Verwende einfach die Funktion:

    GML-Quellcode

    1. var differenz = angle_difference(winkelA,winkelB);

    Das wird dir die Differenz des Winkels im Wertebereich von -180 bis +180 berechnen.
    Näheres kannst du in der GM-Hilfe nachlesen:
    angle_difference

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

  • Nach so einer Funktion habe ich gesucht :D
    Also müsste ich nix weiter machen als zwei Winkel -180 zu nehmen damit beide in dem Wertebereich sind und mir das dann ausgeben lassen?

    EDIT: Mhh, in GM 8 Gibt es diese Funktion nicht.. X/

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von 3D2Y Bandicoot ()

  • Ja du müsstest dann sowas schreiben

    GML-Quellcode

    1. if (angle_difference(A,W) < angle_difference(B,W)) {
    2. //do ...
    3. }else{
    4. //do ...
    5. }

    Besorg dir einfach die kostenlose Standardversion von Studio.
    132 little bugs in the code. 132 little bugs. Fix a few, set the compiler to stew, 172 little bugs in the code... :vogel: