Rotation zu Richtungsvektor



  • Hallo.
    Ich versuche aus einer Rotation(yaw, pitch) einen Richtungsvektor(3D) zu machen. Hab da natürlich gleich an Rotationsmatrizen gedacht, aber komm da irgendwie nicht weiter bzw. verstehe es nicht.
    Danke



  • Werd' mal etwas konkreter. Rotationen als lineare Transformationen "machen" keine Vektoren, sondern wandeln dir einen Vektor in einem Vektorraum in einen anderen um (im euklidischen R3\mathbb{R}^3 sehr anschaulich die Rotation um eine bestimmte Achse).

    Lineare Algebra kennst/kannst du?



  • Mehr als einen Vektor zu normalisieren, Skalarprodukt und Kreuzprodukt nicht.



  • Ich nehme mal an, dass sich die von dir genannten Begriffe nur auf das beziehen, was man in der Schule "analytische Geometrie" oder so nennt, also alles im dreidimensionalen reellen Zahlenkörper mit euklidischer Norm (also dem Pythagoras-Betrag).
    Dann solltest du dir mal angucken, was allgemein Matrizen sind und was die untereinander und mit Vektoren anstellen (reelle 3x3-Matrizen reichen bei diesen beschränkten LA-Vorkenntnissen aus, um später auch Rotationsmatrizen halbwegs zu verstehen, um sie anwenden zu können).



  • Danke.
    Und lineare Algebra haben wir in der Schule eigentlich noch gar nicht gemacht.
    Hab mir das bisschen selber beigebracht(bin erst 9. Klasse).
    Und Matrizen versteh ich zum Teil. Aber werd mich nun mal daran machen Matrizen komplett zu verstehn, bzw. sie auch anwenden zu können.


  • Mod

    Du möchtest wahrscheinlich wissen, wenn du vorher in Richtung (1,0,0) (oder in Richtung eines beliebigen anderen Vektors) geguckt hast, wo du nach der Rotation hin guckst, oder? Die Antwort da drauf wäre Rotationsmatrix * Anfangsvektor. Und bei mehreren Rotationen eben Rotationsmatrix1 * Roatationsmatrix2 * Anfangsvektor. Und so weiter. Dabei steht '*' für die Matrizen- bzw. Matrix-mal-Vektor-Multiplikation.

    Achtung: Matrizenmultiplikationen vertauschen nicht, die Reihenfolge der Rotationen ist wichtig. Kannst du dir auch ganz einfach am Beispiel der Rotationsmatrizen vorstellen: Wenn du dich zuerst um 180 Grad in x-Richtung drehst und danach um 180 Grad um y, dann guckst du hinterher woanders hin, als wenn du dich zuerst um y und dann um x gedreht hättest.



  • Ich glaube er möchte nicht rotieren (oder er möchte das schon, aber seine Frage zielt erstmal auf was anderes ab), sonder einfach nur die Darstellung wechseln.
    Roll-picth-Yaw, Euler-Winkel oder eben Euklidische Koordinaten (Richtunsgvektor) sind ja nur verschiedene Dastellungen des selben Sachveralts, die Lage eines Körpers um Raum.

    Auch diese (Koordinaten-)Transformation geht über eine Matrix, denn Matrizen sind stellen genau solche linearen Abbildungen dar. Wie du die Matrixeinträge berechnest findest du hier


  • Mod

    ScottZhang schrieb:

    Ich glaube er möchte nicht rotieren (oder er möchte das schon, aber seine Frage zielt erstmal auf was anderes ab), sonder einfach nur die Darstellung wechseln.
    Roll-picth-Yaw, Euler-Winkel oder eben Euklidische Koordinaten (Richtunsgvektor) sind ja nur verschiedene Dastellungen des selben Sachveralts, die Lage eines Körpers um Raum.

    Ein Richtungsvektor alleine reicht aber nicht aus, um die Ausrichtung eines Objekts im Raum zu beschreiben. Die ist dann nämlich unbestimmt auf Drehungen um eben diesen Vektor.



  • Das stimmt natürlich. Es entspricht aber einem Pitch-Yaw, wie es der Fragesteller haben wollte. Mit fixierten Roll entspricht es der Richtung irgendeiner angenommen Achse.
    Ach ich hoffe ihr wisst was ich meine 🙂

    Edit: Oder man nimmt eben zwei linear unabhägige Achsen.


  • Mod

    ScottZhang schrieb:

    Das stimmt natürlich. Es entspricht aber einem Pitch-Yaw, wie es der Fragesteller haben wollte. Mit fixierten Roll entspricht es der Richtung irgendeiner angenommen Achse.
    Ach ich hoffe ihr wisst was ich meine 🙂

    Schon klar. Und mir wird gerade auch eine Kleinigkeit klar, nämlich dass der TE vielleicht absichtlich nur Yaw-Pitch geschreiben hat. Ich war bisher davon ausgegangen, dass er nur schreibfaul war und Yaw-Pitch-Roll vorliegen hat. Wenn das nicht so ist, passt deine Interpretation.

    Jedenfalls ist wohl etwas mehr Information vom TE nötig, um ihm konkret zu helfen. Ich denke nicht, dass er sich mit dem Hintergrundwissen der 9. Klasse selber allgemeine Drehmatrizen herleiten kann. (Falls doch: Respekt 👍 )



  • y = sin(pitch)
    x = sin(yaw) * cos(pitch)
    z = cos(yaw) * cospitch)

    Das ist es, was ich meinte.
    Aber trotzdem danke für alles.
    Hab es wahrscheinlich etwas komisch beschrieben was ich wollte.


Anmelden zum Antworten