![]() |
|
Модераторы: Rickert |
![]()
|
|
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
Тоесть умные люди придумали умные формулы...
Ты же не будешь спрашивать почему в дискриминанте корень квадратный, а не кубический? |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Корень квадратный потому, что квадратный нужен, а с матрицами непонятно зачен нужна матрица четвертого порядка...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
Потому что это формула такая.
Умные люди вывели. |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Ты так и не понял о чем я. Посмотри тут:
http://www.someoneltd.boom.ru/MATH/Trnsfrms.htm Видишь некую схожесть с теми матрицами, что ты написал? Иногда полезно понимать, что ты делаешь, а не делать приговаривая "так умные дюди делют"... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| DragonFire |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 725 Регистрация: 14.8.2005 Где: Москва Репутация: 5 Всего: 9 |
Хм... Да, спасибо, щас на досуге покопаюсь в матрицах этих... Может пойму че-нибудь
Спасибо |
|||
|
||||
| Maniac |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 27.2.2006 Репутация: 1 Всего: 1 |
Вершину можно задать 4 числами X,Y,Z,W в виде матрицы, где W не равно 0. W - это коэффициент перспективы, необходимый для работы в 3Д пространстве. В таком случае координаты вершин будут равны X/W, Y/W, Z/W и представляются в виде обыкновенной матрицы 4х4
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Да, спасибо - это видимо проще, чем я думал...
-------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Bibigon |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 11.2.2006 Репутация: нет Всего: нет |
Спасибо за совет, но мне совсем не понятно как осуществить поворот с помощью матриц относительно произвольной оси. И что делать если поворотов много? Как сделать эту ось абсолютной или относительной? Примеров таких я не встречал. Например в книге "Physics modeling for game programmers" David Conger лишь упоминает о кватернионах, пишет если вы чувствуете себя смелым я приглашаю вас самих окунуться в мир кватернионов. И привет. Базовые действия с матрицами и кватернионами я понимаю, а что делать потом?
|
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: нет Всего: 99 |
Вот тут как я уже говорил есть пример, но он не доработан (что касается произвольной оси), посмотри, поразбирайся... http://forum.vingrad.ru/index.php?showtopic=22163 -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| Maniac |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 42 Регистрация: 27.2.2006 Репутация: 1 Всего: 1 |
Когда ты размещаешь объекты в сцене то ты работаешь с абс. координатами также ты можешь эти координаты 'повернуть' или 'транспонировать'. Когда тебе нужно повернуть только твой объект ты работаешь с относительными координатами (относительно твоего объекта). Для изменения абс. координат ты пользуешься rotate и translating Для изменения относит. - сохраняешь матрицу (в OpenGL - PushMatrix()) делаешь translating в нужную точку и крутишь его относительно своих координат rotate'ом, потом возвращаешь глобальную матрицу PopMatrix(). На экране видишь, что объект находится относительно координаты 0,0,0 на расстоянии которое ты указал при транспонировании. Функции в DirectX: D3DXMatrixTranslation, D3DXMatrixRotationX {Y,Z}, вместо сохранения/загрузки матрицы я делаю D3DXMatrixTranslation (x,y,z); работаю, потом обратно DXMatrixTranslation (0,0,0); хотя можно и сохранять матрицу (зависит от того как написать прогу)) Нет ограничений на сохранения глоб. матрицы (в OpenGL ограничения только на вложенность сохранений) сохраняй, делай повороты, возвращай, сохраняй, делай повороты, возвращай и т.д. Существуют еще повороты вокруг собственной оси X,Y,Z - это означает, что когда ты делаешь поворот (rotate) ты вертишь вокруг одной оси (представь себе оси, ты вертишь вокруг выбраной на угол который задал, причем центр объекта находиться в точке 0,0,0 всегда) |
|||
|
||||
![]()
|
| Правила форума "Программирование игр, графики и искуственного интеллекта" | |
|
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rickert. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Программирование игр, графики и искусственного интеллекта | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |