реклама на сайте
подробности

 
 
> Поворот радиус-вектора на кватернион, что-то не сходится...
alexPec
сообщение Feb 15 2014, 21:14
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Всем добрый день.

Пытаюсь повернуть радиус-вектор единичной длины, совпадающий с одной из осей базовой СК на кватернион (и получить радиус-вектор единичной длины, совпадающий с осью повернутой СК):

1. Беру кватернион, соответствующий углам эйлера 45,0,30 (цифры везде округлю до сотых):

P1 = {0.89,0.37,0.24,0.1}

2. Беру радиус-вектор

{0,1,0}, представляю его кватернионом V = {0,0,1,0}

3. Нахожу обратный кватерниону Р1:

P2={0.89,-0.37,-0.24,-0.1}

4. Поворачиваю исходный радиус-вектор так:

P1*V*P2.

P1*V = {-0.24,-0.1,0.89,0.37}

(P1*V)*P2 = {0,0,0.7,0.7}

Что-то не так, т.к. P1 не имеет осей, лежащих в плоскости исходной СК, а результат (т.е. радиус-вектор) лежит в одной из плоскостей базовой СК (одна из координат =0).

Что делаю не так?
Ни или так: как проверить достоверно результаты?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Timmy
сообщение Feb 15 2014, 21:48
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Всё не такsm.gif. Постройте по кватерниону матрицу поворота и поворачивайте на ней любой вектор.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Feb 16 2014, 07:40
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Timmy @ Feb 16 2014, 01:48) *
Всё не такsm.gif. Постройте по кватерниону матрицу поворота и поворачивайте на ней любой вектор.


Думал раз уж есть кватернион, повернуть на него вектор проще чем строить матрицу поворота, а потом поворачивать.

Вообще надо подвижную систему координат, заданную кватернионом, повернуть вокруг одной из осей. Для этого нахожу этот радиус-вектор, совпадающий с осью подвижной СК, строю по нему кватернион поворота, и умножаю на него кватернион подвижной СК. Может я все делаю через сложно ?
Go to the top of the page
 
+Quote Post
Timmy
сообщение Feb 16 2014, 10:16
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(alexPec @ Feb 16 2014, 11:40) *
Думал раз уж есть кватернион, повернуть на него вектор проще чем строить матрицу поворота, а потом поворачивать.

Вообще надо подвижную систему координат, заданную кватернионом, повернуть вокруг одной из осей. Для этого нахожу этот радиус-вектор, совпадающий с осью подвижной СК, строю по нему кватернион поворота, и умножаю на него кватернион подвижной СК. Может я все делаю через сложно ?

Да, можно и прямо по кватерниону поворачивать с двумя умножениями. Судя по тому, что вы приводите цифры вместо кода(которого тут должно быть всего три строчки), вы так и не сделали библиотеку стандартных операций с кватернионами и матрицами, поэтому запросто можете допустить какую-нибудь ошибку в кодировании.
Go to the top of the page
 
+Quote Post
alexPec
сообщение Feb 16 2014, 10:59
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 284
Регистрация: 9-04-06
Пользователь №: 15 968



Цитата(Timmy @ Feb 16 2014, 14:16) *
Да, можно и прямо по кватерниону поворачивать с двумя умножениями. Судя по тому, что вы приводите цифры вместо кода(которого тут должно быть всего три строчки), вы так и не сделали библиотеку стандартных операций с кватернионами и матрицами, поэтому запросто можете допустить какую-нибудь ошибку в кодировании.

Ну выводы преждевременные, кода нет потому что написано (а точнее нарисовано) все в LabView. Привожу "код":

операция создания кватерниона из радиус-вектора и угла, нормирование, умножение получение кватерниона в степени -1. Остальное все как описано: создаем исходный кватернион с углами P=45,0,30; создаем вектор v={0,1,0}, ну и вычисляем P*v*P^-1

Умножение в символьном виде:

{a1,a2,a3,a4}*{b1,b2,b3,b4} = {a1b1-a2b2-a3b3-a4b4, a1b2+a2b1+a3b4-a4b3, a1b3+a3b1+a4b2-a2b4, a1b4+a4b1+a2b3-a3b2}. Остальное вроде на рисунках понятно.
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение

 
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016