Contenuto principale

Questa pagina è stata tradotta con la traduzione automatica. Fai clic qui per vedere l'ultima versione in inglese.

eul2rotm

Convertire gli angoli di Eulero in matrice di rotazione

Descrizione

rotm = eul2rotm(eul) converte un insieme di angoli di Eulero, eul, nella matrice di rotazione corrispondente, rotm. Quando si utilizza la matrice di rotazione, è opportuno premoltiplicarla per le coordinate da ruotare (invece di postmoltiplicarla). L'ordine predefinito per le rotazioni degli angoli di Eulero è "ZYX" .

esempio

rotm = eul2rotm(eul,sequence) converte gli angoli di Eulero in una matrice di rotazione, rotm. Gli angoli di Eulero sono specificati nella sequenza di rotazione dell'asse, sequence . L'ordine predefinito per le rotazioni degli angoli di Eulero è "ZYX" .

esempio

Esempi

comprimi tutto

eul = [0 pi/2 0];
rotmZYX = eul2rotm(eul)
rotmZYX = 3×3

    0.0000         0    1.0000
         0    1.0000         0
   -1.0000         0    0.0000

eul = [0 pi/2 pi/2];
rotmZYZ = eul2rotm(eul,'ZYZ')
rotmZYZ = 3×3

    0.0000   -0.0000    1.0000
    1.0000    0.0000         0
   -0.0000    1.0000    0.0000

Argomenti di input

comprimi tutto

Angoli di rotazione di Eulero in radianti, specificati come un array n per 3 di angoli di rotazione intrinseci di Eulero. Ogni riga rappresenta un insieme di angoli di Eulero nella sequenza definita dall'argomento sequence. Ad esempio, con la sequenza predefinita "ZYX", ogni riga di eul ha la forma [zAngle yAngle xAngle] .

Esempio [0 0 1.5708]

Sequenza di rotazione dell'asse per gli angoli di Eulero, specificata come uno di questi scalari di stringa:

  • "ZYX" (predefinito)

  • "ZYZ"

  • "ZXY"

  • "ZXZ"

  • "YXY"

  • "YZX"

  • "YXZ"

  • "YZY"

  • "XYX"

  • "XYZ"

  • "XZX"

  • "XZY"

Ogni carattere indica l'asse corrispondente. Ad esempio, se la sequenza è "ZYX", i tre angoli di Eulero specificati vengono interpretati nell'ordine come una rotazione attorno all'asse z, una rotazione attorno all'asse y e una rotazione attorno all'asse x. Quando si applica questa rotazione a un punto, le rotazioni degli assi verranno applicate nell'ordine x, poi y, poi z.

Tipi di dati: string | char

Argomenti di output

comprimi tutto

Matrice di rotazione, restituita come matrice 3x3xn contenente matrici di rotazione n. Ogni matrice di rotazione ha una dimensione di 3 per 3 ed è ortonormale. Quando si utilizza la matrice di rotazione, è opportuno premoltiplicarla per le coordinate da ruotare (invece di postmoltiplicarla).

Esempio [0 0 1; 0 1 0; -1 0 0]

Funzionalità estese

espandi tutto

Generazione di codice C/C++
Genera codice C e C++ con MATLAB® Coder™.

Cronologia versioni

Introdotto in R2015a

espandi tutto

Vedi anche

| |