exponenta event banner

Углы поворота к кватернионам

Расчет кватерниона по углам поворота

  • Библиотека:
  • Аэрокосмический блок/Преобразования инженерных сетей/осей

  • Rotation Angles to Quaternions block

Описание

Блок Углы поворота к кватернионам преобразует поворот, описанный тремя углами поворота (R1, R2, R3), в четырехэлементный вектор кватернионов (q0, q1, q2, q3), где кватернион определяется с помощью скалярно-первого соглашения. В аэрокосмической Blockset™ используются кватернионы, определенные с помощью соглашения scalar-first. Дополнительные сведения о кватернионах см. в разделе Алгоритмы.

Ограничения

  • Ограничения для ZYX, ZXY, YXZ, YZX, XYZ, и XZY реализации генерируют угол R2 между ± 90 градусами и R1 и R3 углами между ± 180 градусами.

  • Ограничения для ZYZ, ZXZ, YXY, YZY, XYX, и XZX реализации создают угол R2 между 0 и 180 градусами, а углы R1 и R3 между ± 180 градусами .

Порты

Вход

развернуть все

Углы поворота, заданные как вектор 3 на 1, в радианах.

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

Продукция

развернуть все

Кватернион, заданный как вектор 4 на 1.

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

Параметры

развернуть все

Задает порядок поворота на выходе для трех углов поворота ветра.

Программное использование

Параметр блока: rotationOrder
Текст: символьный вектор
Значения: 'ZYX' | 'ZYZ' |'ZXY' | 'ZXZ' | 'YXZ' | 'YXY' | 'YZX' | 'YZY' | 'XYZ' | 'XYX' | 'XZY' | 'XZX'
По умолчанию: 'ZYX'

Алгоритмы

Вектор кватерниона представляет собой поворот вокруг единичного вектора (мкх, мку, мкз) через угол Сам единичный кватернион имеет единичную величину и может быть записан в следующем векторном формате:

q = [q0q1q2q3] = [cos (

Альтернативным представлением кватерниона является комплексное число,

q = q0 + iq1 + jq2 + kq3

где, для целей умножения:

i2 = j2 = k2 = 1ij = ji = kjk = − kj = iki = − ik = j

Преимуществом представления кватерниона таким образом является легкость, с которой продукт кватерниона может представлять результирующее преобразование после двух или более вращений.

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

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

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