Punkt rotieren lassen



  • Hallo!

    Ich stehe vor folgender Aufgabe:

    Ich habe 2 Punkte A und B , die mir eine Rotationsachse vorgeben sowie einen Punkt P, den ich um einen Winkel alpha um die Achse rotieren lassen will.

    Bei Wikipedia habe ich die Drehmatrix R_d gefunden

    Bevor ich mich darauf stürze das Ganze in meinen Code zu schmieden,möchte ich mich gern versichern, ob ich alles korrekt verstanden habe:

    Der neue Punkt P' berechnet sich danach so:

    P' = R_d * P

    Der Einheitsvektor n, der für die Drehmatrix benötigt wird, ist die normierte Drehachse, also

    n = (B-A) / |B-A|

    und alpha ist einfach der Drehwinkel.

    Ist das schon alles?

    Ciao

    OkkaPapa



  • Du hast die genaue Matrix ja nicht verlinkt, insofern kann ich nicht sagen, ob Du alles richtig zugeordnet hast. Aber selbst wenn: Da wird etwas fehlen. Nach dem, was Du aufgeschrieben hast, wuerdest Du vermutlich davon ausgehen, dass Deine Rotationsachse durch den Nullpunkt geht. Da Du aber die beiden Punkte A und B gegeben hast, ist das vermutlich nicht der Fall. Das heisst, dass Du erstmal ueberall einen bestimmten Offset abziehen musst, den Du nachher wieder hinzuaddierst.

    Gib jenseits davon am Besten mal einen Link auf die Rotationsmatrix, die Du letztendlich meinst.



  • Gregor schrieb:

    Du hast die genaue Matrix ja nicht verlinkt, insofern kann ich nicht sagen, ob Du alles richtig zugeordnet hast. Aber selbst wenn: Da wird etwas fehlen. Nach dem, was Du aufgeschrieben hast, wuerdest Du vermutlich davon ausgehen, dass Deine Rotationsachse durch den Nullpunkt geht. Da Du aber die beiden Punkte A und B gegeben hast, ist das vermutlich nicht der Fall. Das heisst, dass Du erstmal ueberall einen bestimmten Offset abziehen musst, den Du nachher wieder hinzuaddierst.

    Gib jenseits davon am Besten mal einen Link auf die Rotationsmatrix, die Du letztendlich meinst.

    Hallo!

    Die Drehmatrix habe ich hier gefunden:
    http://de.wikipedia.org/wiki/Drehmatrix#Drehmatrizen_des_Raumes_R.C2.B3
    Die letzte in dem Unterkapitel.
    ==> Drehung um eine Ursprungsgerade, deren Richtung und Orientierung durch den beliebigen Einheitsvektor... usw.

    Wenn ich das mit dem Offset richtig verstanden habe, dann müßte ich zuerst den Punkt P um den Vektor a = 0-A (also dem negativen Ortsvektor auf den Punkt A) verschieben, dann rotieren und danach den Punkt wieder zurückschieben?


  • Mod

    OkkaPapa schrieb:

    Wenn ich das mit dem Offset richtig verstanden habe, dann müßte ich zuerst den Punkt P um den Vektor a = 0-A (also dem negativen Ortsvektor auf den Punkt A) verschieben, dann rotieren und danach den Punkt wieder zurückschieben?

    Ja.



  • Ist das schon alles?

    Ich weiß nicht, was Du eigentlich machen willst. Dazu war Deine Problembeschreibung zu ungenau.


Anmelden zum Antworten