![]() |
|
Модераторы: Rickert |
![]()
|
|
| ZC1989 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
Подскажите, как пользоваться кватерионами!? есть функции работы с кватерионами... перевод из мартицы в них и обратно, но как их использовать?! приведите если можно парачку примеров, а то я принцип-то понял работы, но как использовать их вместо матрицы напонятно
-------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
| NikotiN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
ну в инете посмотри про кватернионы, углы эйлера и т.д. имхо, с матрицами привычнее ))
|
|||
|
||||
| ZC1989 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
NikotiN, я смотрел про это всё статьи... с примерами функций обработки и вего того... углы эйлера мне не подходят... камеру надо вращать по сфере, а родные матрицы почему-то у меня этого не дают...
я въехал в принцип работы... но вот нормального примера как эти каватерионы использовать для вращения камеры нигда не смог найти... -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
Кватернион задаёт относительное трёхмерное вращение вокруг любой оси на любой угол. Следовательно, если есть точка с заданным положением относительно центра вращения, её текущее положение также может быть выражено кватернионом. Итого, чтобы повернуть точку из текущего положения в другое положение, имея кватернион вращения Qrot нужно:
1) по нормализованному вектору положения точки определить кватернион тек. положения точки Q 2) умножить Q на кватернион вращения Qrot - получим кватернион итогового углового положения точки Qres 3) зная расстояние от центра вращения до точки (оно не менялось), умножить его на Qres - получим итоговое положение точки после поворота Вроде так. З.Ы. хорошие туториалы по кватернионам лежат на http://www.ogre3d.org в разделе Wiki -------------------- ![]() |
|||
|
||||
| ZC1989 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
mr.DUDA, Пасиба! я начинаю понимать смысл работы... но последний вопрос: мне надо будет полученный кватерион перевести в матрицу и просто подставить значения? (просто вот я чего понять-то не могу, когда я вращаю матрицу, она не вращается на все 360)
-------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
| NikotiN |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 30.7.2006 Репутация: нет Всего: нет |
2 ZC1989
//родные матрицы почему-то у меня этого не дают имхо, это уже твоя реализация. кватернионы, матрицы, да хоть 3 переменные X,Y,Z - это всего лишь представление данных, на сам алгоритм вращения не влияют, хотя реализация везде разная |
|||
|
||||
| ZC1989 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
NikotiN,
-------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 7 Всего: 232 |
Значит неправильно выполняется поворот, вместо поворота - идёт translate. -------------------- ![]() |
|||
|
||||
| ZC1989 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
вот как это описывалось, вращаю камеру...
...вот код, которым я делаю то ли вращение, то ли трансфер... и ни одно из изменяемых не даёт вращения, точка цели каемры двигается, но с глазом наблюдателя проблема... -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
| ZC1989 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
разобрался сам во всём.. спасибо за внимание
-------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
|||
|
||||
| Able |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 13.6.2006 Где: Тюмень Репутация: 1 Всего: 2 |
Чего было, как разобрался делись!
|
|||
|
||||
| ZC1989 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 468 Регистрация: 17.7.2006 Где: Нижний Новгород; Россия Репутация: нет Всего: 1 |
виной всему моё незнание Дирекста и неправельные объяснения в некоторых статьях... вобщем я не вращал...
тут я вращение питался обеспечить через MouseX и MouseY, а надо через
пока под кватерионы я не переводил, но скоро буду этим заниматься... а щас пляшу Джигу... наконец-то можно посмотреть объект со всех сторон -------------------- озарение настанет позже, когда поймём больше... (Сo. Stigmata) |
||||
|
|||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |