Преобразуйте кватернион в углы поворота
[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 градусами.
angle2dcm | angle2quat | dcm2angle | dcm2quat | quat2dcm