-4 / 15 / 0
Регистрация: 07.07.2012
Сообщений: 91
|
|||||||||||
1 | |||||||||||
Поворот объекта вокруг оси04.01.2015, 20:29. Показов 8205. Ответов 8
Метки нет (Все метки)
Здравствуйте. Знаю что подобная тема уже поднималась на форуме, но интересующий меня ответ я не нашёл. Пробовал искать (Гуглить), но нужного не нашёл.
Рисую сцену и (к примеру: один объект - полигон):
А вот как развернуть объект после перемещения вокруг точки "B"?. P.s. Пробовал сначала переносить объект в начальные координаты->поворачивать-> переносить обратно: Кликните здесь для просмотра всего текста
Но эффекта 0. Кто знает, или сталкивался с подобным, подскажите как развернуть объект после перемещения вокруг собственной оси (Точки "B")?
0
|
04.01.2015, 20:29 | |
Ответы с готовыми решениями:
8
Загадочный поворот вокруг оси x в OpenGL Поворот вокруг произвольной оси в пространстве Поворот вокруг своей оси (blender) Не удается реализовать поворот елки вокруг своей оси по x и по у |
8 / 8 / 2
Регистрация: 07.10.2014
Сообщений: 30
|
|
05.01.2015, 00:21 | 2 |
Razor64, доброго времени суток. Дабы решить данный вопрос, сначала применяйте к объекту вращение затем перемещение. Преобразования объекта можно хранить в виде матриц (например, либо в любой другой удобной форме).
0
|
-4 / 15 / 0
Регистрация: 07.07.2012
Сообщений: 91
|
||||||
05.01.2015, 02:45 [ТС] | 3 | |||||
rogl, доброго времени,
а разве здесь -
- А вы могли бы, привести конкретный (рабочий) пример?
0
|
-4 / 15 / 0
Регистрация: 07.07.2012
Сообщений: 91
|
|
18.01.2015, 08:32 [ТС] | 5 |
Вот вы дали 8 ссылок, я конечно и рад бы НАСЛАЖДАТЬСЯ, да только НЕЧЕМ! Ибо ничего кроме теории, лекций, и общих сведений там нет. Нет ни одного ПРИМЕРА работы с матрицами, векторами, квартерионами.
0
|
8 / 8 / 2
Регистрация: 07.10.2014
Сообщений: 30
|
|
18.01.2015, 08:46 | 6 |
Razor64, в конце статей под номерами: 2 и 3, есть ссылки на скачивание исходного кода. Остальные статьи, кроме: 1, 6 и 7, состоят из кода с пояснениями.
0
|
Программист велосипедист
161 / 48 / 7
Регистрация: 23.11.2014
Сообщений: 313
|
|
18.01.2015, 16:00 | 7 |
glLoadIdentity(); В помощь сброс матрицы проекции.
0
|
-4 / 15 / 0
Регистрация: 07.07.2012
Сообщений: 91
|
|
31.01.2015, 07:00 [ТС] | 8 |
Ещё раз здрасьте, решил вопрос, ответ нашёл в книге "RedBook_OpenGL", вот фрагмент из неё, в котором описывается решение сего вопроса - Теперь поговорим о порядке, в котором вы задаете серии преобразований. Все видовые
и модельные преобразования представлены в виде матриц размерностью 4x4. Каждый успешный вызов команды glMultMatrix*() или другой команды преобразования умножает текущую видовую матрицу Cна новую (заданную вами явно или неявно) матрицу M, в результате чего текущей матрицей становится CM. В итоге текущая видовая матрица умножается на передаваемые по конвейеру вершины v. Этот процесс означает, что последняя команда преобразования, вызванная в вашей программе, на самом деле будет первой применена к вершинам: CMv. Таким образом, можно смотреть на это как на необходимость задавать матрицы преобразований в обратном порядке. Дело было в обратном порядке
0
|
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 700
|
||||||
31.01.2015, 20:24 | 9 | |||||
вообще простое и полуярное решение это возврат на текущее положение после поворта
0
|
31.01.2015, 20:24 | |
31.01.2015, 20:24 | |
Помогаю со студенческими работами здесь
9
Вращение объекта вокруг своей оси Вращение планеты вокруг солнца, и вокруг своей оси Вращать сферу вокруг центра координат, и одновременно вращать ее вокруг своей оси Поворот колеса вокруг центра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |