Main Content

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

rotm2eul

Convertir una matriz de rotación en ángulos de Euler

Descripción

ejemplo

eul = rotm2eul(rotm) convierte una matriz de rotación, rotm, en los ángulos de Euler correspondientes, eul. La matriz de rotación de entrada debe estar en la forma de premultiplicación para rotaciones. El orden predeterminado para las rotaciones de ángulos de Euler es "ZYX".

Para más información sobre las rotaciones de ángulos de Euler, consulte Ángulos de Euler.

ejemplo

eul = rotm2eul(rotm,sequence) convierte una matriz de rotación en ángulos de Euler. Los ángulos de Euler se especifican en la secuencia de rotación del eje, sequence. El orden predeterminado para las rotaciones de ángulos de Euler es "ZYX".

[eul,eulAlt] = rotm2eul(___) también devuelve un conjunto alterno de ángulos de Euler que representa la misma rotación eulAlt.

Ejemplos

contraer todo

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

Argumentos de entrada

contraer todo

La matriz de rotación, especificada como una matriz de 3 por 3 por n que contiene n matrices de rotación. Cada matriz de rotación tiene un tamaño de 3 por 3 y es ortonormal. La matriz de rotación de entrada debe estar en la forma de premultiplicación para rotaciones.

Nota

Las matrices de rotación que sean ligeramente no ortonormales pueden dar resultados complejos. Considere la posibilidad de validar la matriz antes de introducirla en la función.

Ejemplo: [0 0 1; 0 1 0; -1 0 0]

Secuencia de rotación del eje de los ángulos de Euler, especificada como uno de los siguientes escalares de cadena:

  • "ZYX" (predeterminado)

  • "ZYZ"

  • "ZXY"

  • "ZXZ"

  • "YXY"

  • "YZX"

  • "YXZ"

  • "YZY"

  • "XYX"

  • "XYZ"

  • "XZX"

  • "XZY"

Cada carácter indica el eje correspondiente. Por ejemplo, si la secuencia es "ZYX", los tres ángulos de Euler especificados se interpretan en orden como una rotación alrededor del eje z, una rotación alrededor del eje y y una rotación alrededor del eje x. Cuando se aplica esta rotación a un punto, las rotaciones de los ejes se aplicarán en el orden x, y y z.

Tipos de datos: string | char

Argumentos de salida

contraer todo

Los ángulos de rotación de Euler en radianes, devueltos como un arreglo de ángulos de rotación de Euler de n por 3. Cada fila representa un conjunto de ángulos de Euler.

Ejemplo: [0 0 1.5708]

Solución de ángulos de rotación de Euler alternos en radiantes, devueltos como un arreglo de n por 3 de ángulos de rotación de Euler. Cada fila representa un conjunto de ángulos de Euler.

Ejemplo: [0 0 1.5708]

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2015a

expandir todo