Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Преобразовать кооринаты.


@!!ex ©   (2007-07-04 12:37:00) 

Делаю разнообразные координатные преобразования в OGL.
Есть некоторая точка, которая рисуется уже преобразовання.
Мне нужно получить ее координаты, в исходной системе координат.
Тоесть скажем делаю так:
glRotate();
glTranslate();
glRotate();
glBegin(GL_POINTS);
glvertex3f(0,0,0);
glEnd();

Какие у точки координаты в исходной системе?
Пробовал получать матрицу вида и на нее умножать, не получается:
NewPoint:=MultiplyMatrixVector(Transpose(Model_View_matrix),Point);


@!!ex   (2007-07-04 16:14:00) [1]

Да я наверно объясняю криво.
Придумал как можно попробовать решить задачу другим способом.


Dib@zol   (2007-07-04 16:11:00) [2]

Наверняка я чёнить не понимаю, но просто в порядке бреда:

glPushMatrix
 Установить систему координат.
 Получить матрицу 2
glPopMatrix;
Установить камеру.
Получить матрицу 1.


@!!ex   (2007-07-04 16:03:00) [3]

Кстати да...
Возникла другая проблема....
Мне надо не в исходной системе координат:
Потому что после умножения на текущую матрицу я получаю результат в оконных координатах, а нао в координатах камеры.
Тоесть должно быть так:
Установить камеру.
Получить матрицу 1.
Установить систему координат.
Получить матрицу 2.

Как из матрицы 2 убрать все преобразования матрицы 1???


Dib@zol   (2007-07-04 12:49:00) [4]

Попробуй ещё потом на GL_PROJECTION домножать они походу повязаны друг на друга.


Наверх

Титульная страница Поиск, карта сайта Написать письмо