Main Content

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

rotm2eul

Convertir la matrice de rotation en angles d'Euler

Description

exemple

eul = rotm2eul(rotm) convertit une matrice de rotation, rotm, en angles d'Euler correspondants, eul. La matrice de rotation d'entrée doit être sous la forme de prémultiplication pour les rotations. L'ordre par défaut des rotations d'angle d'Euler est "ZYX".

exemple

eul = rotm2eul(rotm,sequence) convertit une matrice de rotation en angles d'Euler. Les angles d'Euler sont spécifiés dans la séquence de rotation des axes, sequence. L'ordre par défaut des rotations d'angle d'Euler est "ZYX".

[eul,eulAlt] = rotm2eul(___) renvoie également un ensemble alternatif d'angles d'Euler qui représente la même rotation eulAlt.

Exemples

réduire tout

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

Arguments d'entrée

réduire tout

Matrice de rotation, spécifiée comme une matrice 3 par 3 par n contenant des matrices de rotation n . Chaque matrice de rotation a une taille de 3 x 3 et est orthonormée. La matrice de rotation d'entrée doit être sous la forme de prémultiplication pour les rotations.

Remarque

Les matrices de rotation légèrement non orthonormales peuvent donner des résultats complexes. Pensez à valider votre matrice avant de saisir la fonction.

Exemple : [0 0 1; 0 1 0; -1 0 0]

Séquence de rotation des axes pour les angles d'Euler, spécifiée comme l'un de ces scalaires de chaîne :

  • "ZYX" (par défaut)

  • "ZYZ"

  • "ZXY"

  • "ZXZ"

  • "YXY"

  • "YZX"

  • "YXZ"

  • "YZY"

  • "XYX"

  • "XYZ"

  • "XZX"

  • "XZY"

Chaque caractère indique l'axe correspondant. Par exemple, si la séquence est "ZYX", alors les trois angles d'Euler spécifiés sont interprétés dans l'ordre comme une rotation autour de l'axe z, une rotation autour de l'axe y-axis, et une rotation autour de l' x-axis. Lors de l'application de cette rotation à un point, il appliquera les rotations des axes dans l'ordre x, puis y, puis z.

Types de données : string | char

Arguments de sortie

réduire tout

Angles de rotation d'Euler en radians, renvoyés sous la forme d'un n-par-3 d'angles de rotation d'Euler. Chaque ligne représente un ensemble d'angles d'Euler.

Exemple : [0 0 1.5708]

Solution alternative d'angle de rotation d'Euler en radians, renvoyée sous la forme d'un n-par-3 d'angles de rotation d'Euler. Chaque ligne représente un ensemble d'angles d'Euler.

Exemple : [0 0 1.5708]

Capacités étendues

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2015a

développer tout

Voir aussi

| |