Простая арифметическая задача для учителей (о вращении координатной плоскости методом непривычных извращений) Буквами i, j будем обозначать единичные орты, направленные вдоль Ox и Oy соответственно, ориентация координатных осей стандартная,
и, совпадение, буквами i, j, k будем обозначать кватернионные мнимые единицы.

Общая задача такова:
Мы хотим вектор a*i + b*j повернуть на угол ф, а делать это будем так:
кватернион v = i*a + j*b;
кватернион q = cos(ф/2) + k*sin(ф/2)
кватернион r = q*v*q^(-1).
Искомый вектор - это кватернион r, у которого отрезаны первая и последняя координаты (т.е. отрезаны действительная часть и слагаемое с k).
Замечание.
Единичный по модулю кватернион обращается, подобно комплексному числу, сопряжением - т.е. умножением мнимой части на -1, мнимая часть у нас в трехмерном ijk-пространстве живет.

Вопрос:
В какую сторону повернется-то наш вектор на угол ф, по часовой стрелке, или же против часовой?

21 Мар в 19:41
47 +1
0
Ответы
1

Чтобы ответить на ваш вопрос, нужно понимать, как работает вращение векторного пространства с помощью кватернионов. В данной задаче у нас есть векторы, которые мы поворачиваем в плоскости XY.

Кватернионный подход заключается в использовании кватерниона:

[
q = \cos(\phi/2) + k\sin(\phi/2)
]

где (\phi) - это угол поворота. Обратите внимание, что вектор (v) представляется в виде:

[
v = i \cdot a + j \cdot b
]

Здесь (a) и (b) — это компоненты вектора, который мы хотим повернуть.

Важно помнить, что кватернионы используют правило умножения, которое отличается от обычного векторного произведения. При умножении ( r = qvq^{-1} ) происходит комбинация поворота и отражения в соответствующих осях.

Так как кватернион (q) задает вращение вокруг оси z (в данном случае направленной вдоль (k)) на угол (\phi), этот способ поворота соответствует тому, как вращается вектор в двумерном пространстве.

Для стандартной (правосторонней) системы координат в плоскости XY соблюдаются следующие правила:

Если угол (\phi) положительный, то направление поворота будет против часовой стрелки.Если угол (\phi) отрицательный, то направление поворота будет по часовой стрелке.

Таким образом, в вашей задаче, если угол (\phi) положителен, то вектор (ai + bj) повернется против часовой стрелки. Если же (\phi) отрицателен, то поворот будет по часовой стрелке.

21 Мар в 19:48
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир