glVertex3f (x1, y2, z2 );
glVertex3f ( x2, y2, z2 );
glVertex3f ( x2, y2, z1 );
glVertex3f (x1,y2, z1 ); glEnd ();
gIBegin ( GL_POLYGON ); // bottom face glNormal3f ( 0.0, -1.0,0.0);
Компьютерная графика. Полигональные модели дг7егтехЗт ( х2, у1,г2 ); дгУегтехЗт (х1,у1,г2 ); дгУегтехЗт ( х1, у1, г1 ); д^егтехЗт ( х2, у1, г1 ); д!Епс1 ();
}
12.3. Преобразования объектов в пространстве.
Камера В процессе построения изображения координаты вершин подвергаются определенным преобразованиям.
Подобным преобразованиям подвергаются заданные векторы нормали.
Изначально камера находится в начале координат и направлена вдоль отрицательного направления оси Oz.
В OpenGL существуют две матрицы, последовательно применяющиеся в преобразовании координат. Одна из них - матрица моделирования (modelview matrix), а другая -матрица проектирования (projection matrix). Первая служит для задания положения объекта и его ориентации, вторая отвечает за выбранный способ проектирования. OpenGL поддерживает два типа проектирования - параллельное и перспективное.
Существует набор различных процедур, умножающих текущую матрицу (моделирования или проектирования) на матрицу выбранного геометрического преобразования. Текущая матрица задается при помощи процедуры
void gIMatrixMode ( GLenum mode );
Параметр mode может принимать значения GL_MODELVIEW, GL_TEXTURE или GL_PROJECTION, позволяя выбирать в качестве текущей матрицы матрицу моделирования (видовую матрицу), матрицу проектирования или матрицу преобразования текстуры.
Процедура
void gILoadldenity ();
устанавливает единичную текущую матрицу.
Обычно задание соответствующей матрицы начинается с установки единичной и последовательного применения матриц геометрических преобразований.
12. Работа с библиотекой OpenGL
Преобразование сдвига задается процедурой void gITranslate {fd}(TYPE х, TYPE у, TYPE z); обеспечивающей сдвиг объекта на величину (х, у, z).
преобразование поворота - процедурой
void gIRotate {fd}(TYPE angle, TYPE x, TYPE y, TYPE z);
обеспечивающей поворот на угол angle в направлении против часовой стрелки вокруг прямой с направляющим вектором (х, у, z).