Шаг 5 - Плоскости в пространстве

Только изменение кода. Меняем функцию display:

void CALLBACK display (void)
{
	glMatrixMode (GL_PROJECTION);
	glLoadIdentity ();
	gluPerspective (130, 1, 50, 0);
	glMatrixMode (GL_MODELVIEW);
	glLoadIdentity ();
//_____________NEW _________
	gluLookAt (350, 350, 300, 150, 150, 0, 0, 1, 0);
	glColor3f(0.0, 0.0, 1);
	glBegin(GL_POLYGON);
		glVertex3f(100,100,100);
		glVertex3f(200,100,100);
		glVertex3f(200,100,200);
		glVertex3f(100,100,200);
	glEnd();    
	glColor3f(0.0, 1, 0);
	glBegin(GL_POLYGON);
		glVertex3f(100,100,100);
		glVertex3f(100,100,200);
		glVertex3f(100,200,200);
		glVertex3f(100,200,100);
	glEnd(); 
	glColor3f(1, 0, 0);
	glBegin(GL_POLYGON);
		glVertex3f(100,100,200);
		glVertex3f(100,200,200);
		glVertex3f(200,200,200);
		glVertex3f(200,100,200);
	glEnd(); 
	glColor3f(1, 0, 1);
	glBegin(GL_POLYGON);
		glVertex3f(100,100,100);
		glVertex3f(200,100,100);
		glVertex3f(200,200,100);
		glVertex3f(100,200,100);
	glEnd(); 
// ________END NEW________
	glFlush();
}

Описание

Рисование в пространстве требует некоторого обьемного мышления. Если его нет, увы , правда у меня тоже нет. Но когда я учился в школе, мой преподаватель по физике при решении задач говорил - "Главное чертеж". В институте так уже не говорили. А жаль.

А Теперь взгляните на код. Поменялась точка зрения в gluLookAt. Это правильно, данные то другие.

GL_POLYGON говорит о том, что из вершин соберутся полигоны. Для полигона(плоскости) необходимо минимум 3 точки. Помните - через любые 3 точки можно провести плоскость. Если вершин будет больше, то необходимо быть осторожным, для получения плоскости необходимо расчитывать координаты. Я отрисовал 4 грани (glBegin.....glEnd) 4 раза вызывается.

Функцией glColor3f я сделал разную заливку граням.

Собирайте, запускайте, очень красивая картинка. Попробуйте поменять точки зрения, работает !!!


Шпаргалка

Задайте рисование проскостей:

glBegin(GL_POLYGON);

Плоскость создается минимум из 3 точек. При большем количестве будьте осторожны. Помните геометрию !! Только через 3 точки гарантирована плоскость, остальное от лукавого.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 15.09.99