Название: Построение геометрических тел с помощью библиотеки OpenGL
Вид работы: контрольная работа
Рубрика: Информатика и программирование
Размер файла: 61.97 Kb
Скачать файл: referat.me-137260.docx
Краткое описание работы: Создание программы, с помощью библиотеки OpenGL рисующей проволочный чайник с поворотом рисунка вокруг осей X, Y, Z. Построение отрографической проекции. Установка области отображения. Функция обработки сообщений с клавиатуры. Главный цикл приложения.
Построение геометрических тел с помощью библиотеки OpenGL
Приднестровский Государственный Университет
им. Т.Г.Шевченко
Контрольная работа №3
Тема: «Построение геометрических тел с помощью библиотеки OpenGL».
Тирасполь, 2010 г.
1. Цель: Изучить команды поворота, переноса, масштабирования и построения основных примитивов графической библиотеки OpenGL.
2. Задача: Написать программу, рисующую проволочный чайник. При нажатии на кнопки w, s, a, d, [, [ он должен поворачиваться вокруг осей X, Y, Z.
3. Методика решения: Строим проволочный чайник. Определяем кнопки. При нажатии на них изменяем соответствующие углы и перерисовываем чайник.
Решение
#include <GL/glut.h>
#include <stdlib.h>
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 27
if (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 и Delphi на практике
Предлагаю не откладывая в долгий ящик написать первую программу на OpenGL - а потом, окрылившись успехом, вернуться к теории и как следует проштудировать все книги и сайты по сабжу, чтобы уж стать настоящими монстрами трехмерного моделирования.
-
Работа с цветом в библиотеке OpenGL
Работа с цветом с помощью графической библиотеки OpenGL. Программа, отображающая квадрат, с меняющимся цветом, в зависимости от изменения градиентов (R,G,B), треугольник, вершины которого имеют различные цвета, прямоугольную полосу в виде спектра.
-
Графічна бібліотека OpenGl
Програма створення графіки OpenGl. Алгоритми зафарбовування від внутрішньої точки до границь довільного контуру. Алгоритм обчислення координати точки кривої Без'є за заданними параметрами. Створення програм OpenGL мовою С, C++ у середовищі Windows.
-
Что такое DirectX?
DirectX представляет собой набор технологий и инструментов, которые позволяют создавать разработчику игры и мультимедиа приложения с неслыханным во времена MS-DOS качеством графики и звука.
-
Объектно-ориентированное программирование на C++ с использованием библиотеки OpenGL
Краткое описание библиотеки OpenGl Библиотека OpenGl предназначена для моделирования компьютерной графики на высоком уровне, и является программным интерфейсом к аппаратному обеспечению. Главное назначение библиотеки -–преобразовывать 2-х и 3-хмерные объекты в специальный формат в специальном буфере.
-
Использование OpenGL
Программный код OpenGL. Синтаксис команд OpenGL. OpenGL как конечный автомат. Конвейер визуализации OpenGL. Библиотеки, относящиеся к OpenGL. Библиотека OpenGL. Подключаемые файлы. GLUT, инструментарий утилит библиотеки OpenGL.
-
Модель трехмерной сцены и библиотека OpenGL
Построение динамической трехмерной сцены, включающей заданные тело и поверхность определенного вида средствами графической библиотеки. Наложение текстур на тела, поверхности с помощью функции SetupTextures. Графическое представление тела с текстурой.
-
Компьютерная графика OpenGL
Руководство пользователя и программиста. Тесты.
-
Перетворення координат, операції масштабування в бібліотеці Opengl
Перетворення координат: афінне перетворення на площині, тривідерне афінне перетворення. Властивості афінного перетворення, його характерні особливості. Операції масштабування, переносу, повороту в бібліотеці Opengl на прикладі програми побудови фігури.
-
Управление элементами поверхности
Изучение основных возможностей создания трехмерных объектов в программе OpenGL, методика наложения текстур. Механизм подключения библиотек. Создание поверхности ландшафта. Реализация ориентирования на поверхности. Изменение поверхности ландшафта.