exponenta event banner

quat2angle

Преобразование кватерниона в углы поворота

Описание

пример

[rotationAng1 rotationAng2 rotationAng3] = quat2angle(q) вычисляет набор углов поворота, rotationAng1, rotationAng2, rotationAng3, для данного кватерниона, q. Поворот, используемый в этой функции, является пассивным преобразованием между двумя системами координат.

[rotationAng1 rotationAng2 rotationAng3] = quat2angle(q,s) вычисляет набор углов поворота rotationAng1, rotationAng2, rotationAng3 для данного кватерниона, qи заданную последовательность вращения, s.

В Aerospace Toolbox используются кватернионы, определенные с помощью соглашения scalar-first.

Примеры

свернуть все

Определите углы поворота от q = [1 0 1 0].

[yaw, pitch, roll] = quat2angle([1 0 1 0])
yaw =
     0

pitch =
    1.5708

roll =
     0

Определите углы поворота из нескольких кватернионов.

q = [1 0 1 0; 1 0.5 0.3 0.1];
 [pitch, roll, yaw] = quat2angle(q, 'YXZ')
pitch =
    1.5708
    0.8073
roll =
         0
    0.7702
yaw =
         0
    0.5422

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

свернуть все

кватернион, указанный как матрица m-на-4, содержащая m кватернионов. q имеет скалярное число в качестве первого столбца.

Типы данных: double

Порядок поворота для трех углов поворота, где Z находится по оси z, Y находится по оси y, и X находится по оси X.

Типы данных: double

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

свернуть все

Первые углы поворота, возвращаемые как m-массив, в радианах.

Вторые углы поворота, возвращаемые в виде m-матрицы, в радианах.

Третьи углы поворота, возвращаемые в виде m-матрицы, в радианах.

Ограничения

  • 'ZYX', 'ZXY', 'YXZ', 'YZX', 'XYZ', и 'XZY' реализации генерируют rotationAng2 угол, лежащий между ± 90 градусами, иrotationAng1 и rotationAng3 углы лежат между ± 180 градусами.

  • 'ZYZ', 'ZXZ', 'YXY', 'YZY', 'XYX', и 'XZX' реализации генерируют rotationAng2 угол, лежащий между 0 и 180 градусами, и rotationAng1 и rotationAng3 углы лежат между ± 180 градусами .

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