forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   C++ (http://forum.boolean.name/forumdisplay.php?f=22)
-   -   Ориентация, Вращения, Кватернион (http://forum.boolean.name/showthread.php?t=9562)

falcon 22.10.2009 01:22

Ориентация, Вращения, Кватернион
 
Всем привет... назрел такой вопрос :)
Хочу сделать аналог TurnEntity (x,y,z)
т.е. задавать вращения относительно базисных векторов сущности(ентити)
с большим трудом вьезжал в кватернионы...читал кучу статей, видел кучу исходников.. но хочется самому понять а не с копи3.14здеть.
так вот.. единственное, что вроде бы осветило суть кватернионов, было понимание того что кватернион - это, нечто содержащие и вектор относительно которого производится поворот, и угол.
(вот один из вопросов - преобразуя в будущем кватернион в матрицу (например мы повернули up и dir вокруг right вектора) мы получаем матрицу из трех ортогональных векторов?)

вот что вызывает затруднение:

на вход ф-ции подается 3 параметра.
внутри ф-ции создаётся три временных кватерниона, перемножаются между собой (получаем "новое вращение") и домножаем на "старый" кватернион... так? )))
а как сформировывать вектора для "нового вращения" ??
хранить отдельно три вектора (right up dir) формировать из них кватернион, домнажать на старый, формировать из всего этого матрицу, и вытягивать из матрицы эти вектора??? о0
или я в корне не правильно понимаю вращения кватернионами и есть более магический способ? о0


Часовой пояс GMT +4, время: 01:20.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot