Естественные науки
Линейная алгебра кватернион.
Изучая кватернион, я понял что между кватернионом и векторным умножением есть большая связь. Результатом векторного умножения двух векторов будет вектор, перпендикулярный плоскости этих двух векторов, если по простому если вектор а поменял свое положение в пространстве, то векторное произведение начального и конечного положения вектора - даст ось вращения. В кватернион кроме вектора (оси вращения) заложена величина поворота в радианах и направление, за это отвечает длина вектора и 4 параметр. Мне не понятно - глядя на кватернион как понять на сколько радиан он повернется и в какую сторону по часовой или против часовой - если смотреть на вектор кватерниона как на штопор, где ручка штопора это начало координат. Спасибо за ваши ответы
сам заметил? тогда молодец.
исторически сначала Гамильтон придумал кватернионы, потом уже играясь с ними придумал и скалярное и векторное умножение обычных 3-мерных векторов.
поворот делается не просто умножением, а парой умножений. Тогда первая компонента будет косинусом половинного угла поворота, а 3 следующие - осью.
я когда-то писал это для коллег, сейчас скопирую сюда:
---------------------
Любой поворот 3-мерного пространства всегда можно представить как поворот вокруг какой-то оси (Эйлер).
Мы описываем поворот кватернионом длины 1. Любой поворот (включая и нулевой) - длина 1.
Как получить кватернион для поворота:
поворот вокруг оси (x, y, z) на угол a описывается кватернионом q = cos(a/2) + (i*x + j*y + k*z) * (sin(a/2) / корень (x^2 + y^2 + z^2)).
То есть, первая (действительная) компонента - косинус половинного угла, остальные (мнимые) компоненты - тот самый вектор, вокруг которого поворачиваем. Сомножитель с синусом и корнем - просто подгонка длины кватерниона под единицу.
Как повернуть:
чтобы повернуть какой-то 3-мерный вектор v (a, b, c) на кватернион q, надо посчитать q^(-1)*v*q. Представляем поворачиваемый вектор как кватернион a*i + b*j + c*k (действительная часть - ноль) и перемножаем.
Найти q^(-1) - просто, для единичных кватернионов надо просто взять ту же действительную часть, а у всей мнимой поменять знак.
И еще: нетрудно заметить, что q и -q описывают один и тот же поворот. Все естественно: поворот глобуса вокруг вектора, идущего из центра к сев. полюсу на +90 - то же самое, что поворот вокруг вектора, идущего из центра к южному, но на -90. Обычно нам это никак не мешает.
исторически сначала Гамильтон придумал кватернионы, потом уже играясь с ними придумал и скалярное и векторное умножение обычных 3-мерных векторов.
поворот делается не просто умножением, а парой умножений. Тогда первая компонента будет косинусом половинного угла поворота, а 3 следующие - осью.
я когда-то писал это для коллег, сейчас скопирую сюда:
---------------------
Любой поворот 3-мерного пространства всегда можно представить как поворот вокруг какой-то оси (Эйлер).
Мы описываем поворот кватернионом длины 1. Любой поворот (включая и нулевой) - длина 1.
Как получить кватернион для поворота:
поворот вокруг оси (x, y, z) на угол a описывается кватернионом q = cos(a/2) + (i*x + j*y + k*z) * (sin(a/2) / корень (x^2 + y^2 + z^2)).
То есть, первая (действительная) компонента - косинус половинного угла, остальные (мнимые) компоненты - тот самый вектор, вокруг которого поворачиваем. Сомножитель с синусом и корнем - просто подгонка длины кватерниона под единицу.
Как повернуть:
чтобы повернуть какой-то 3-мерный вектор v (a, b, c) на кватернион q, надо посчитать q^(-1)*v*q. Представляем поворачиваемый вектор как кватернион a*i + b*j + c*k (действительная часть - ноль) и перемножаем.
Найти q^(-1) - просто, для единичных кватернионов надо просто взять ту же действительную часть, а у всей мнимой поменять знак.
И еще: нетрудно заметить, что q и -q описывают один и тот же поворот. Все естественно: поворот глобуса вокруг вектора, идущего из центра к сев. полюсу на +90 - то же самое, что поворот вокруг вектора, идущего из центра к южному, но на -90. Обычно нам это никак не мешает.
Похожие вопросы
- Помогите найти исчерпывающий учебник или фильм по линейной алгебре
- Нужно освоить математику начиная с нуля и до линейной алгебры, дискретной математики, с чего начать?
- Для чего вводят сопряжённое пространство (взаимный базис) + дельта Кронекера. Линейная алгебра. Помогите понять.
- Каково прикладное значение линейной алгебры?
- как сдать экзамен по линейной алгебре? ничего не зная
- Геометрический смысл работы с матрицами и применение аксиом линейной алгебры на практике
- Помогите с решением номера по линейной алгебре. Очень надо для понимая темы, желательно с комментариями к решению
- Что такое матрицы и кватернионы?
- О кватернионах и вращении в трёхмерном пространстве.
- Вопрос по таблице истинности и линейной функции
->(x,y,z) - у нас будет кватернион (0,(1,0,0)) сделать полный оборот - (0,(2,0,0)), чтобы вращение было в обратную сторону, необходимо поменять направление вектора оси на противоположное (умножение 4D вектора на -1) Получим (0,(-1,0,0)) - это на 180 в обратном направлении и (0,(-2,0,0)) - соответственно на полный оборот в обратном направлении. Итак как же по кватерниону определить куда вращается объект в контексте штопора, где ручка штопора это начало координат?