![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразовать кооринаты.
@!!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 домножать они походу повязаны друг на друга.