| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Вращение объекта |
| Автор: Salatovec 11.2.2009, 03:03 |
| Здравствуйте, проблема в следующем: имеется объект, а для него в свою очередь имеются 9 углов Lx Ly Lz Mx My Mz Nx Ny Nz это 9 направляющих косинусов между соответствующими осями. Система координат L M N неподвижна, а система координат X Y Z связанна с аппаратом. Я не понимаю как эти 9 углов, преобразовать в 3 угла, понятные функцие glRotate. Подскажите пожалуйста Забыл сказать - направляющие косинусы уже заданны своими значениями, я просто не понимаю переход от них к 3 углам =\ |
| Автор: Rickert 11.2.2009, 07:47 |
| А вы уверены, что это у вас 9 УГЛОВ, а не три вектора, которые указывают направление осей координат системы LMN ? |
| Автор: Salatovec 11.2.2009, 08:15 |
| Да, Lx - угол между осью L и осью X Ly - угол между осью L и осью Y и так далее... |
| Автор: Rickert 11.2.2009, 10:03 |
| Так это угол относительно чего? От чего он отмеряется? От какой-то другой оси? От какой плоскости? Потому что угол для X можно отмерять как от Z, так и от Y: причём в разные стороны. Есть Углы Эйлера, но там их три - http://ru.wikipedia.org/wiki/Углы_Эйлера Приведите мне пример этих углов. Всех 9. |
| Автор: Salatovec 11.2.2009, 15:33 |
| Углы Эйлера реализованны в glRotate и к ним мне надо прийдти, а углы данные мне это углы между осями. Система осей L M N неподвижная - L - вверх, M - вправо, а N - дополняет систему до правой. А система X Y Z связанна с объектом. Даны соответсвующие углы, а по ним надо восстановить вращение объекта. Просто мой вопрос больше математический =\ |
| Автор: Rpahut 12.2.2009, 00:21 | ||
Подключите меня к матрице...
так что это именно три вектора указывающие направление осей. |
| Автор: Gongex 14.2.2009, 16:13 |
| не понял ни фига.Зачем ты делаешь эти синусы и углы выдумываешь?!.....разработчики Опенгл уже все придумали ...-функция gluLookAt..... И ещё мне интересно,че за прогу пишешь с такими расчетами? Че там будет двигаться и как? и от каких кнопок? |
| Автор: Rickert 14.2.2009, 19:46 |
| Gongex, Это элементарная матрица поворота. Скелетную анимацию никогда не расстмаривали? А современные разработки физических движков? |
| Автор: Gongex 14.2.2009, 23:53 |
| он придумал три оси дополнительных,создает вторую плоскость среди обычной поскости опенгл.Зачем изобретать заново велоипед?! Есть же стандартные x,y,z и glRotatef |
| Автор: Rpahut 15.2.2009, 01:23 |
| Про плоскость это было сильно |
| Автор: Rickert 15.2.2009, 07:32 |
| Gongex, напишите модуль скелетной анимации на основе glRotatef - вместе посмотрим. |
| Автор: Rickert 15.2.2009, 14:52 | ||||
А вы не думали, что иногда люди просят помочь с конкретными заданиями, где стоят конкретные условия, типа: с помощью анал. геометрии совершить поворот объекта и отобразить его, с помощью OpenGL?
Нет, не идиотка. Вы не имели дела с произвольной прямоугольной системой координат? |
| Автор: Salatovec 17.2.2009, 23:40 |
| Rickert, ясно, бывает и такое) и кстати я нашел решение - там для каждой побочной оси надо было писать 3 уравнения поворота, и получаются 3 системы. А из этих 3 систем находятся углы. Помог учебник по векторной алгебре) |