Форум программистов, компьютерный форум, киберфорум
OpenGL
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/35: Рейтинг темы: голосов - 35, средняя оценка - 4.86
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
1

Матрица поворота

24.06.2012, 19:43. Показов 7162. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Я тут пытаюсь повернуть систему например по оси y
Создал матрицу поворота по оси y,вроде точно она
C++
1
2
3
4
5
6
GLfloat angle=-0.01f;
GLfloat m[]={ cos(angle),   0.0f,    -sin(angle),      0.0f,
              0.0f,         0.1f,     0.0f,            0.0f ,  
              sin(angle),   0.0f,    cos(angle),       0.0f,
              0.0f,         0.0f,     0.0f,            1.0f     
              };
Значит перемножаю я текущую модельную матрицу на эту
C++
1
2
3
    glMatrixMode(GL_MODELVIEW);
    //glLoadIdentity();
    glMultMatrixf(m);
Оно конечно поворачивает как надо...
Но какого чёрта(извините)он мне всю ось y в ноль сжимает.Вот у меня были 3 лини с помощью которых я видел оси.Ну и линия показывающая ось y,просто исчезла(хотя перед поворотм там ещё видно она она занимает 1пиксилек).тобишь "её сжало в 0".Почему так?Матрица не так задана?

Добавлено через 42 минуты
Так как поворот по нажатию клавиши происходит,вот последовательные фотки соответствующие последовательному нажатию клавишы
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.06.2012, 19:43
Ответы с готовыми решениями:

Матрица поворота
Делаю географическую игрушку, рисую глобус. Дошел до рисования городов. Возникла проблема с выводом...

GLUT и Матрица поворота
Рисуем каркас куба glutWireCube(50); Имеем функцию поворота, возможно ли взаимодействие этого...

Зеркало, матрица поворота(отражения)
пишу на С++ необходимо сделать параболическое зеркало, делал через стренсил буфер , изображение...

Матрица поворота вокруг произвольной оси
Хочу сделать функцию для поворота вектора вокруг произвольной оси( да,я знаю про glRotatef), в...

4
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
24.06.2012, 19:43  [ТС] 2
4 клика
Миниатюры
Матрица поворота   Матрица поворота   Матрица поворота  

Матрица поворота   Матрица поворота  
0
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
24.06.2012, 22:45  [ТС] 3
И причём без разницы,могу нажать влево,потом вправо(будет в разные стороны вращаться),потом опять влево.Всё равно через пару кликов исчезнет

Добавлено через 2 часа 41 минуту
Вроде разобрался что масштабирование это значения по диагонали матрицы...Но почему тогда при glrotate норм поворачивается,вроде умножается на одинаковую матрицу.Может я умножаю не то?

Добавлено через 12 минут
Странно,убрал вычесление косинуса угла,поставил всю диагональ в единицы,ничего не изменилось,втф....
Ну не у кого нет размышлений?

Добавлено через 5 минут
Да чо за бред,поставил не матрицу модели на изменение а матрицу проекции изменяется точно так же,разве не должно быть по разному?
0
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
24.06.2012, 23:32 4
Лучший ответ Сообщение было отмечено SatanaXIII как решение

Решение

Автор... Я часа два в сумме потратил, пытаясь понять, как может получаться такая фигня... Внимательно посмотри на второй столбец второй строки.
Цитата Сообщение от Justix Посмотреть сообщение
Да чо за бред,поставил не матрицу модели на изменение а матрицу проекции изменяется точно так же,разве не должно быть по разному?
Они всё равно перемножаются в итоге.
0
73 / 19 / 0
Регистрация: 26.04.2012
Сообщений: 233
25.06.2012, 07:32  [ТС] 5
F***********************************************CK
Так и знал,ну в упор не видел!

Добавлено через 3 минуты
Всё работает!!!Ураааа)Я научился владеть матрицами,теперь можно и думать над камерой)
ПРосто хочу сам допереть как сделать а не смотреть на примеры)Поетому из справочника тока высшая математика)
0
25.06.2012, 07:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.06.2012, 07:32
Помогаю со студенческими работами здесь

Поворот умножением на матрицу поворота
Здравствуйте! У меня есть куб, который нормально работает и корректно поворачивается при...

Матрицы поворота вокруг оси(ребра) куба
Здравствуйте, не могу понять как использовать матрицы поворота. Хотел сделать поворот вокруг одного...

При определённом угле поворота поверх рисуются невидимые (закрытые другими) части объекта
из известных недостатков своей программы точно знаю один - координаты z не в диапазоне (0;1), но...

Непонятки с DirectX (матрица поворота, камера, матрица проекции)
Возник вопрос по DirectX, точнее по матрицам Вопрос 1: D3DXMATRIXA16 matWorld; UINT ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru