quat2angle

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

Описание

пример

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

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

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

Примеры

свернуть все

Определите углы поворота из 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 -массив, в радианах.

Ограничения

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

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

Введенный в R2007b