quatrotate

Вращайте вектор кватернионом

Синтаксис

Описание

пример

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

Примеры

свернуть все

В этом примере показано, как вращаться 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-by-4 матрица, содержащая кватернионы m или один кватернион 1 на 4. Каждый элемент должен быть действительным.

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

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

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

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

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

свернуть все

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

Больше о

свернуть все

q

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

q=q0+iq1+jq2+kq3

r

Векторный r имеет форму:

v=iv1+jv2+kv3

n

Вращаемый векторный n имеет форму:

v=[v1v2v3]=[(12q222q32)2(q1q2+q0q3)2(q1q3q0q2)2(q1q2q0q3)(12q122q32)2(q2q3+q0q1)2(q1q3+q0q2)2(q2q3q0q1)(12q122q22)][v1v2v3]

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

Ссылки

[1] Стивенс, Брайан Л., Франк Л. Льюис. Управление самолетом и симуляция, 2-й выпуск. Хобокен, NJ: John Wiley & Sons, 2003.

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

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

| | | | |

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