exponenta event banner

rotm2eul

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

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

свернуть все

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

Примечание

Несколько неортонормированные матрицы вращения могут давать сложные выходы. Перед вводом в функцию рекомендуется проверить матрицу.

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

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

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

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

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

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

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

свернуть все

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

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

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

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

.

См. также

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