Кватерніон
можна представити у вигляді пари скаляра та 3-вимірного вектора:
,
множення кватерніонів буде виражатись через скалярний та векторний добутки 3-вимірних векторів:
![{\displaystyle \ \mathbf {q_{1}q_{2}} =(s_{1},{\vec {v_{1}}})(s_{2},{\vec {v_{2}}})=(s_{1}s_{2}-{\vec {v_{1}}}\cdot {\vec {v_{2}}},\;\;s_{1}{\vec {v_{2}}}+s_{2}{\vec {v_{1}}}+{\vec {v_{1}}}\times {\vec {v_{2}}}).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/87d2776f8b8e3f72d00d7a3df42df290b32c979f)
Виразимо векторний добуток через добуток кватерніонів:
![{\displaystyle \ {\vec {v_{1}}}\times {\vec {v_{2}}}={\mathbf {q_{1}q_{2}-q_{2}q_{1}} \over 2}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e29cfd561170b1ad8c6009a6494fc667a53726a7)
Поворот точки навколо осі в 3-вимірному просторі
ред.
Покажемо що результатом повороту вектора на кут відносно осі (одиничний вектор) буде: , де
- — чисто векторний кватерніон,
- — чисто векторний кватерніон,
-
Перепишемо останній кватерніон в іншій формі:
-
-
Спершу обчислимо необхідний нам вираз (використали властивість подвійного векторного добутку):
-
Обчислимо добуток:
-
-
де та компоненти вектора паралельні і перпендикулярні до відповідно:
-
-
-
Кожен з трьох доданків є ортогональним до двох інших.
Обчислення результату двох поворотів
|
Зберігання |
Множення |
Додавання
|
Матриця повороту |
9 |
27 |
18
|
Кватерніон |
4 |
16 |
12
|
Обчислення повороту точки
|
Зберігання |
Множення |
Додавання
|
Матриця повороту |
9 |
9 |
6
|
Кватерніон |
4 |
15 |
12
|