Quaternion Interpolation

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

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

  • Quaternion Interpolation block

Описание

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

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

Порты

Входной параметр

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

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

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

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

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

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

Зависимости

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

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

Вывод

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

Натуральный логарифм кватерниона, возвращенного как вектор.

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

Параметры

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

Метод интерполяции кватерниона вычислить интерполяцию кватерниона в виде:

  • SLERP

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

  • LERP

    Кватернион 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] Дамба, Эрик Б., Мартин Кох, Мартин Лиллхолм. "Кватернионы, интерполяция и анимация". Копенгагенский университет, København, Дания, 1998.

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

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

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

Введенный в R2016a