Main Content

Esta página se ha traducido mediante traducción automática. 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, a 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 los ángulos de Euler es "ZYX".

ejemplo

eul = rotm2eul(rotm,sequence) convierte una matriz de rotación a á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 los ángulos de Euler es "ZYX".

[eul,eulAlt] = rotm2eul(___) también devuelve un conjunto alternativo 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

Matriz de rotación, especificada como una matriz de 3 por 3 por n que contiene matrices de rotación 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", entonces los tres ángulos de Euler especificados se interpretan en orden como una rotación alrededor del eje z, una rotación alrededor del y-eje, y una rotación alrededor del x-eje. Al aplicar esta rotación a un punto, aplicará las rotaciones del eje en el orden x, luego y, luego z.

Tipos de datos: string | char

Argumentos de salida

contraer todo

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

Ejemplo: [0 0 1.5708]

Solución alternativa del ángulo de rotación de Euler en radianes, devuelta como una n-por-3 de arreglo 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

Consulte también

| |