Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »Информатика

Построение геометрических тел с помощью библиотеки OpenGL

Тип: контрольная работа
Категория: Информатика
Скачать
Купить
Приднестровский Государственный Университетим. Т.Г.ШевченкоКонтрольная работа 3Тема: «Построение геометрических тел с помощью библиотеки OpenGL».Тирасполь, .1. Цель: Изучить команды поворота, переноса, масштабирования и построения основных примитивов графической библиотеки OpenGL.2. Задача: Написать программу, рисующую проволочный чайник. При нажатии на кнопки w, s, a, d, [, [ он должен поворачиваться вокруг осей X, Y, Z.3. Методика решения: Строим проволочный чайник. Определяем кнопки. При нажатии на них изменяем соответствующие углы и перерисовываем чайник.Решение#include #include GLint Width = 512, Height = 512;GLdouble alpha = 0, betta = 0, gamma = 0; // углы поворота//Функция вырисовки на экранеvoid Display(){glClearColor(1, 1, 1, 1);glClear(GL_COLOR_BUFFER_BIT);glColor3d(0, 0, 0);glPushMatrix();glTranslated(5, 5, 0);glRotated(5*alpha, 1, 0, 0);glRotated(5*betta, 0, 1, 0);glRotated(5*gamma, 0, 0, 1);glutWireTeapot(2);glPopMatrix();glFinish();}//Функция вызывается при изменении размеров окнаvoid Reshape(GLint w, GLint h){Width = w;Height = h;// устанавливаем размеры области отображенияglViewport(0, 0, w, h);// отрографическая проекцияglMatrixMode(GL_PROJECTION);glLoadIdentity();glOrtho(0, 10, 0, 10, -10, 10);glMatrixMode(GL_MODELVIEW);glLoadIdentity();}// Функция обработки сообщений с клавиатурыvoid Keyboard(unsigned char key, int x, int y){#define ESCAPE 27if (key == ESCAPE)exit(0);if (key == ‘w’)alpha += 0.1;if (key == ‘s’)alpha -= 0.1;if (key == ‘a’)betta += 0.1;if (key == ‘d’)betta -= 0.1;if (key == ‘[‘)gamma += 0.1;if (key == ‘]’)gamma -= 0.1;glutPostRedisplay();}// Главный цикл приложенияvoid main(int argc, char* argv[]){glutInit(&argc, argv);glutInitDisplayMode(GLUT_RGB);glutInitWindowSize(Width, Height);glutCreateWindow("True Teapot");glutDisplayFunc(Display);glutReshapeFunc(Reshape);glutKeyboardFunc(Keyboard);glutMainLoop();}Результаты
Другие файлы:

Основные конструкции библиотеки OpenGL
Определение области значений функции y=sin(x) и построение графика по точкам с помощью основных конструкций библиотеки OpenGL. Функции вырисовки на эк...

Построение 3D модели "Компьютер" (OpenGL)
Суть программирования с использованием библиотеки OpenGL, его назначение, архитектура, преимущества и базовые возможности. Разработка приложения для п...

Разработка приложения с использованием OpenGL для динамического изображения трехмерной модели объекта "Часовой механизм"
Программирование приложения с использованием библиотеки OpenGL и функции для рисования геометрических объектов. Разработка процедуры визуализации трех...

Расширения OpenGL
Серия: Профессиональное программированиеОписываются основные и наиболее популярные расширения библиотеки OpenGL, их использование на платформах Window...

Использование OpenGL
Библиотека OpenGL представляет собой программный интерфейс для аппаратного обеспечения машинной графики. Этот интерфейс состоит приблизительно из 250...