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

Создание программы, с помощью библиотеки OpenGL рисующей проволочный чайник с поворотом рисунка вокруг осей X, Y, Z. Построение отрографической проекции. Установка области отображения. Функция обработки сообщений с клавиатуры. Главный цикл приложения.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 21.01.2011
Размер файла 151,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Приднестровский Государственный Университет

им. Т.Г.Шевченко

Контрольная работа №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();

}

Результаты


Подобные документы

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

    контрольная работа [87,2 K], добавлен 21.01.2011

  • Программный код OpenGL. Синтаксис команд OpenGL. OpenGL как конечный автомат. Конвейер визуализации OpenGL. Библиотеки, относящиеся к OpenGL. Библиотека OpenGL. Подключаемые файлы. GLUT, инструментарий утилит библиотеки OpenGL.

    курсовая работа [304,9 K], добавлен 01.06.2004

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

    курсовая работа [866,8 K], добавлен 22.06.2011

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

    курсовая работа [1,1 M], добавлен 23.06.2011

  • Ознакомление с интерфейсом, основными возможностями и преимуществами использования программы OpenGL - популярной библиотекой для работы с 2D и 3D графикой. Рассмотрение назначения, базовых компонент и правил инициализации программного движка DirectX.

    презентация [19,4 K], добавлен 14.08.2013

  • Разработка трехмерной модели приложения "Гоночный автомобиль" на языке С++ с использованием библиотеки OpenGL и MFC, создание программы в среде Visual Studio 6.0. Информационное обеспечение, логическая структура и функциональная декомпозиция проекта.

    курсовая работа [3,9 M], добавлен 29.06.2011

  • Работа с цветом с помощью графической библиотеки OpenGL. Программа, отображающая квадрат, с меняющимся цветом, в зависимости от изменения градиентов (R,G,B), треугольник, вершины которого имеют различные цвета, прямоугольную полосу в виде спектра.

    контрольная работа [228,6 K], добавлен 21.01.2011

  • Теоретические основы разработки Windows-приложений с использованием библиотеки MFC. Создание приложения с помощью Visual C++. Описание логической структуры приложения. Установка и запуск программы. Входные и выходные данные. Преимущество MFC библиотек.

    курсовая работа [563,2 K], добавлен 21.06.2011

  • Построение динамической трехмерной сцены, включающей заданные тело и поверхность определенного вида средствами графической библиотеки. Наложение текстур на тела, поверхности с помощью функции SetupTextures. Графическое представление тела с текстурой.

    курсовая работа [582,9 K], добавлен 24.12.2010

  • Назначение и стандарты реализации OpenGL для Windows, порядок подключения графической библиотеки. Основные функции и синтаксис команд. Рисование примитивов, видовые и аффинные преобразования. Моделирование двумерных графических объектов и анимации.

    лабораторная работа [35,0 K], добавлен 04.07.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.