Quaternion Interpolation

Кватернионовая интерполяция между двумя кватернионами

  • Библиотека:
  • Аэрокосмический Blockset/Утилиты/Математические операции

  • Quaternion Interpolation block

Описание

Блок Quaternion Interpolation вычисляет кватернионную интерполяцию между двумя нормализованными кватернионами на интервал долю. Аэрокосмическая Blockset™ использует кватернионы, которые заданы с помощью скалярно-первого соглашения. Выберите метод интерполяции из SLERP, LERP или NLERP. Для уравнений, используемых для методов интерполяции, см. Алгоритмы.

Два нормированных кватерниона являются двумя крайностями, между которыми блок вычисляет кватернион.

Порты

Вход

расширить все

Первый нормированный кватернион, для которого можно вычислить интерполяцию. Этот кватернион должен быть нормированным кватернионом

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

Второй нормированный кватернион, для которого можно вычислить интерполяцию, заданную как вектор 4 на 1 или вектор 1 на 4. Этот кватернион должен быть нормализованным кватернионом.

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

Интервальная дробь, на которую можно вычислить кватернионную интерполяцию. Это значение варьируется от 0 до 1. Это представляет промежуточное вращение кватерниона, который будет вычислен. Эта фракция влияет на скорости вращения метода интерполяции.

Зависимости

Интервальная дробь влияет на скорости вращения методов интерполяции для параметра Methods. Для получения дополнительной информации о интервальных дробях см. [1].

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

Выход

расширить все

Естественный логарифм кватерниона, возвращенный как вектор.

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

Параметры

расширить все

Метод кватернионовой интерполяции для вычисления кватернионной интерполяции, заданный как:

  • SLERP

    Кватернион slerp. Сферический метод линейной кватернионной интерполяции.

  • LERP

    Кватернион лерп. Метод линейной кватернионной интерполяции.

  • NLERP

    Нормированный метод кватернионной линейной интерполяции.

Зависимости

Эти методы имеют различные скорости вращения, в зависимости от интервальной дроби от входного порта f. Для получения дополнительной информации о интервальных дробях см. [1].

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

Параметры блоков: method
Тип: Вектор символов
Значения: 'SLERP' | 'LERP' | 'NLERP'
По умолчанию: 'SLERP'

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

ДействиеОписание

None

Никаких действий.

Warning

Предупреждение в MATLAB® Командное окно, симуляция модели продолжается.

Error (по умолчанию)

MATLAB возвращает исключение, симуляция модели останавливается.

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

Параметры блоков: action
Тип: Вектор символов
Значения: 'None' | 'Warning' | 'Error'
По умолчанию: 'Error'

Алгоритмы

Slerp(p,q,h)=p(p*q)h с h[0,1].

LERP(p,q,h)=p(1h)+qh с h[0,1].

С r=LERP(p,q,h),NLERP(p,q,h)=r|r|.

Ссылки

[1] Плотина, Эрик Б., Мартин Кох, Мартин Лиллхольм. Кватернионы, интерполяция и анимация. Копенгагенский университет, Кёбенхавн, Дания, 1998 год.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

См. также

Введенный в R2016a