Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

rotm2eul

Konvertieren Sie die Rotationsmatrix in Euler-Winkel

Beschreibung

eul = rotm2eul(rotm) wandelt eine Rotationsmatrix, rotm, in die entsprechenden Euler-Winkel, eul, um. Für Rotationen muss die Eingaberotationsmatrix in der vormultiplizierten Form vorliegen. Die Standardreihenfolge für Euler-Winkelrotationen ist "ZYX".

Beispiel

eul = rotm2eul(rotm,sequence) wandelt eine Rotationsmatrix in Euler-Winkel um. Die Euler-Winkel werden in der Achsenrotationssequenz sequence angegeben. Die Standardreihenfolge für Euler-Winkelrotationen ist "ZYX".

Beispiel

[eul,eulAlt] = rotm2eul(___) gibt auch einen alternativen Satz Euler-Winkel zurück, der dieselbe Rotation eulAlt darstellt.

Beispiele

alle reduzieren

rotm = [0 0 1; 0 1 0; -1 0 0];
eulZYX = rotm2eul(rotm)
eulZYX = 1×3

         0    1.5708         0

rotm = [0 0 1; 0 1 0; -1 0 0];
eulZYZ = rotm2eul(rotm,'ZYZ')
eulZYZ = 1×3

   -3.1416   -1.5708   -3.1416

Eingabeargumente

alle reduzieren

Rotationsmatrix, angegeben als 3-mal-3mal-n-Matrix, die n-Rotationsmatrizen enthält. Jede Rotationsmatrix hat eine Größe von 3 x 3 und ist orthonormal. Für Rotationen muss die Eingaberotationsmatrix in der vormultiplizierten Form vorliegen.

Hinweis

Rotationsmatrizen, die leicht nicht-orthonormal sind, können komplexe Ausgaben liefern. Erwägen Sie die Validierung Ihrer Matrix vor der Eingabe in die Funktion.

Beispiel: [0 0 1; 0 1 0; -1 0 0]

Achsenrotationssequenz für die Euler-Winkel, angegeben als einer dieser String-Skalare:

  • "ZYX" (Standard)

  • "ZYZ"

  • "ZXY"

  • "ZXZ"

  • "YXY"

  • "YZX"

  • "YXZ"

  • "YZY"

  • "XYX"

  • "XYZ"

  • "XZX"

  • "XZY"

Jedes Zeichen gibt die entsprechende Achse an. Wenn die Sequenz beispielsweise "ZYX" lautet, werden die drei angegebenen Euler-Winkel der Reihe nach als eine Rotation um die z-Achse, eine Rotation um die y-Achse und eine Rotation um die x-Achse interpretiert. Wenn diese Rotation auf einen Punkt angewendet wird, werden die Achsenrotationen in der Reihenfolge x, dann y, dann z angewendet.

Datentypen: string | char

Ausgabeargumente

alle reduzieren

Euler-Rotationswinkel im Bogenmaß, zurückgegeben als n-mal-3-Array von Euler-Rotationswinkeln. Jede Zeile stellt einen Euler-Winkelsatz dar.

Beispiel: [0 0 1.5708]

Alternative Euler-Rotationswinkellösung im Bogenmaß, zurückgegeben als n-mal-3-Array von Euler-Rotationswinkeln. Jede Zeile stellt einen Euler-Winkelsatz dar.

Beispiel: [0 0 1.5708]

Erweiterte Fähigkeiten

alle erweitern

C/C++ Codegenerierung
Generieren Sie C und C++ Code mit MATLAB® Coder™.

Versionsverlauf

Eingeführt in R2015a

alle erweitern

Siehe auch

| |