exponenta event banner

quatrotate

Поворот вектора по кватерниону

Синтаксис

Описание

пример

n = quatrotate(q,r) вычисляет повернутый вектор, n, для кватерниона, qи вектор, r. Если кватернионы ещё не нормализованы, функция нормализует их.

В Aerospace Toolbox используются кватернионы, определенные с помощью соглашения scalar-first.

Примеры

свернуть все

В этом примере показано, как повернуть вектор 1 на 3 на кватернион 1 на 4.

q = [1 0 1 0];
r = [1 1 1];
n = quatrotate(q, r)
n = 1×3

   -1.0000    1.0000    1.0000

В этом примере показано, как повернуть два вектора 1 на 3 кватернионом 1 на 4.

q = [1 0 1 0];
r = [1 1 1; 2 3 4];
n = quatrotate(q, r)
n = 2×3

   -1.0000    1.0000    1.0000
   -4.0000    3.0000    2.0000

В этом примере показано, как повернуть вектор 1 на 3 на два кватерниона 1 на 4.

q = [1 0 1 0; 1 0.5 0.3 0.1];
r = [1 1 1];
n = quatrotate(q, r)
n = 2×3

   -1.0000    1.0000    1.0000
    0.8519    1.4741    0.3185

В этом примере показано, как поворачивать несколько векторов на несколько кватернионов.

q = [1 0 1 0; 1 0.5 0.3 0.1];
r = [1 1 1; 2 3 4];
n = quatrotate(q, r)
n = 2×3

   -1.0000    1.0000    1.0000
    1.3333    5.1333    0.9333

Входные аргументы

свернуть все

кватернион или набор кватернионов, указанный как матрица m-на-4, содержащая m кватернионов, или один кватернион 1 на 4. Каждый элемент должен быть реальным.

q должен иметь скалярное число в качестве первого столбца.

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

Вектор или набор векторов для поворота, заданный как матрица m-на-3, содержащая m векторов, или один массив 1 на 3. Каждый элемент должен быть реальным.

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

Выходные аргументы

свернуть все

Повернутый вектор, возвращаемый в виде матрицы m-на-3.

Подробнее

свернуть все

q

Кватернион q имеет вид:

q = q0 + iq1 + jq2 + kq3

r

Вектор r имеет вид:

v = iv1 + jv2 + kv3

n

Повернутый вектор n имеет вид:

v′=[v1′v2′v3 ] = [(1 2q22 2q32) 2 (q1q2 + q0q3) 2 (q1q3 q0q2) 2 (q1q2 q0q3) (1 2q12 2q32) 2 (q2q3 + q0q1) 2 (q1q3 + q0q2) 2 (q2q3 − q0q1)

Матрица направления косинуса для этого уравнения ожидает нормализованного кватерниона.

Ссылки

[1] Стивенс, Брайан Л., Франк Л. Льюис. Управление и моделирование летательных аппаратов, 2-е издание. Хобокен, Нью-Джерси: John Wiley & Sons, 2003.

[2] Дибель, Джеймс. «Представление отношения: углы Эйлера, кватернионы единиц и векторы поворота». Стэнфордский университет, Стэнфорд, Калифорния, 2006 год.

Представлен в R2006b