Vektorrechnung/Grafik

  • Bräuchte kurz Hilfe bei einem Problem mit Vektorrechnung.
    Ich habe ein Objekt (nennt es Turtle oder was auch immer) mit einem Positionsvektor p und einem Richtungsvektor v (so à la Geschwinigkeitsvektor), zusätzlich habe ich noch einen Mauspositionsvektor m.
    Was ich erreichen will, dass v in (m-p) gedreht wird, also sich das Objekt der Maus zuwendet sozusagen.

    Das Problem dabei ist nicht die Drehung des Vektors ansich, sondern der Zwischenwinkel, weil ich eine Fallunterscheidung machen muss, ob der Winkel positiv oder negativ ist.

    Im Anhang ne Skizze vom Problem.

    Kann mir jemand helfen?

    Grüsse, Shi

    Edit:

    Ich bin soweit, dass es ansich klappt, aber nicht so ganz stimmt:

    Code
    float a = atan2(v.y, v.x);
    float b = atan2((m-p).y, (m-p).x);
    
    
    float phi = b-a;


    Leider macht der ne Riesenschlaufe in der Situation wie im Bild2.

  • Hat sich erledigt. Die hier stehende Lösung ist korrekt. Hatte die Fallunterscheidung wenn phi > 30, setze phi = 30 falsch definiert.

    > Höre nie auf anzufangen. Fange nie an aufzuhören.
    > Zeit hat, wer sich Zeit nimmt.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!