exponenta event banner

Интерполяция кватерниона

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

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

  • Quaternion Interpolation block

Описание

Блок интерполяции кватернионов вычисляет интерполяцию кватернионов между двумя нормализованными кватернионами на интервальную дробь. В аэрокосмической Blockset™ используются кватернионы, определенные с помощью соглашения scalar-first. Выберите метод интерполяции из 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 (1 − h) + qh с h∈[0,1].

При r = LERP (p, q, h) NLERP (p, q, h) = r 'r |.

Ссылки

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

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

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

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