Приднестровский
Государственный Университет
им.
Т.Г.Шевченко
Контрольная
работа №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
'\033'
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();
}
Результаты:
Контрольная работа | Концепция информатизации Российской Федерации |
Контрольная работа | Причины агрессивного поведения. Методы работы с агрессивными детьми |
Контрольная работа | Алгоритм выбора и реализации предпринимательской идеи |
Контрольная работа | Современные методы арт-терапии |
Контрольная работа | Системы управления взаимоотношения с клиентами |
Контрольная работа | Учет материальных затрат в бухгалтерском учете |
Контрольная работа | Геополитическое положение России |
Контрольная работа | Особенности вознаграждения работников в организации |
Контрольная работа | Виды запасов |
Контрольная работа | Психоанализ |
Контрольная работа | Полномочия органов местного самоуправления в области земельных отношений |
Контрольная работа | Моделирование траектории движения космического аппарата в среде MathCAD и Matlab |
Контрольная работа | Геофизические методы поисковых работ |
Контрольная работа | Контекстные диаграммы отпуска товара со склада |
Контрольная работа | Тепловозы |