Xreferat.com » Рефераты по информатике и программированию » Основные конструкции библиотеки OpenGL

Основные конструкции библиотеки OpenGL

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту

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

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


Контрольная работа №1

Тема: «Основные конструкции библиотеки OpenGL».


Тирасполь, 2010 г.

1. Цель: Изучить основные конструкции библиотеки OpenGL.

2. Задача: Построить график функций y=sin(x)

3. Методика решения: Определяем область значений функции и строим график по точкам, соединяя их отрезками.


Решение:


#include <GL/glut.h>

#include <stdlib.h>

#include <math.h>

GLint Width = 512, Height = 512; //начальные размеры окна


//Функция вырисовки на экране

void Display()

{


glClearColor(1, 1, 1, 1);

glClear(GL_COLOR_BUFFER_BIT);


glColor3d(0, 0, 0);


glBegin(GL_LINES);

glVertex2d(0, 0);

glVertex2d(10, 0);

glVertex2d(0, -1.5);

glVertex2d(0, 1.5);

glEnd();


glColor3d(0, 0, 1);

glBegin(GL_LINE_STRIP);

for (double i = 0; i < 10; i += 0.1)

glVertex2d(i, sin(i));

glEnd();


glFinish();

}


//Функция вызывается при изменении размеров окна

void Reshape(GLint w, GLint h)

{

Width = w;

Height = h;


// устанавливаем размеры области отображения

glViewport(0, 0, w, h);


// отрографическая проекция

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

glOrtho(-2, 12, -2, 2, -1, 1);


glMatrixMode(GL_MODELVIEW);

glLoadIdentity();

}


// Функция обработки сообщений с клавиатуры

void Keyboard(unsigned char key, int x, int y)

{

#define ESCAPE '33'

if (key == ESCAPE)

exit(0);

}


// Главный цикл приложения

void main(int argc, char* argv[])

{

glutInit(&argc, argv);

glutInitDisplayMode(GLUT_RGB);

glutInitWindowSize(Width, Height);

glutCreateWindow("Sin(x)");


glutDisplayFunc(Display);

glutReshapeFunc(Reshape);

glutKeyboardFunc(Keyboard);


glutMainLoop();

}


Результаты:


Основные конструкции библиотеки OpenGL

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Похожие рефераты: