exponenta event banner

eul2rotm

Преобразование углов Эйлера в матрицу вращения

Описание

пример

rotm = eul2rotm(eul) преобразует набор углов Эйлера, eul, к соответствующей матрице вращения, rotm. При использовании матрицы поворота предварительно умножьте ее с координатами, которые необходимо повернуть (в отличие от постмультипуляции). Порядок по умолчанию для поворотов под углом Эйлера: "ZYX".

пример

rotm = eul2rotm(eul,sequence) преобразует углы Эйлера в матрицу вращения, rotm. Углы Эйлера задаются в последовательности вращения оси, sequence. Порядок по умолчанию для поворотов под углом Эйлера: "ZYX".

Примеры

свернуть все

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

Входные аргументы

свернуть все

Углы поворота Эйлера в радианах, определяемые как массив n-на-3 углов поворота Эйлера. Каждая строка представляет один набор углов Эйлера.

Пример: [0 0 1.5708]

Последовательность поворота оси для углов Эйлера, заданная как один из следующих строковых скаляров:

  • "ZYX" (по умолчанию) - порядок углов поворота равен оси Z, оси Y, оси X.

  • "ZYZ" - порядок углов поворота - z-ось, y-ось, z-ось.

  • "XYZ" - порядок углов поворота - x-ось, y-ось, z-ось.

Типы данных: string | char

Выходные аргументы

свернуть все

Матрица вращения, возвращенная как матрица 3 на 3 на n, содержащая n матрицы вращения. Каждая матрица вращения имеет размер 3 на 3 и ортонормирована. При использовании матрицы поворота предварительно умножьте ее с координатами, которые необходимо повернуть (в отличие от постмультипуляции).

Пример: [0 0 1; 0 1 0; -1 0 0]

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.

См. также

Представлен в R2015a