quat2angle

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

Синтаксис

[r1 r2 r3] = quat2angle(q)
[r1 r2 r3] = quat2angle(q, s)

Описание

[r1 r2 r3] = quat2angle(q) вычисляет набор углов поворота, r1, r2, r3, для данного кватерниона, q. q является m-by-4 матрица, содержащая кватернионы m. Каждый элемент q должен быть вещественным числом. q имеет свой скалярный номер как первый столбец.

Углы поворота выводятся в радианах.

r1

Возвращает массив m первых углов поворота.

r2

Возвращает массив m вторых углов поворота.

r3

Возвращает массив m третьих углов поворота.

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

Последовательностью вращения по умолчанию является 'ZYX', где r1 является z - вращение оси, r2 является y - вращение оси, и r3 является x - вращение оси.

Поддерживаемыми последовательностями вращения является 'ZYX', 'ZYZ', 'ZXY', 'ZXZ', 'YXZ', 'YXY', 'YZX', 'YZY', 'XYZ', 'XYX', 'XZY' и 'XZX'.

Примеры

Определите углы поворота от 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

Предположения и ограничения

Ограничения для 'ZYX', 'ZXY', 'YXZ', 'YZX', 'XYZ' и реализаций 'XZY' генерируют угол r2, который находится между ±90 градусами, и r1 и углами r3, которые находятся между ±180 градусами.

Ограничения для 'ZYZ', 'ZXZ', 'YXY', 'YZY', 'XYX' и реализаций 'XZX' генерируют угол r2, который находится между 0 и 180 градусами, и r1 и углами r3, которые находятся между ±180 градусами.

Смотрите также

| | | |

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