Частина тексту файла (без зображень, графіків і формул):
МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
/
ЗВІТ
До лабораторної роботи №4
З курсу :”Комп’ютерна графіка”
На тему:
“ ПОБУДОВА РУХОМИХ ЗОБРАЖЕНЬ”
Львів 2014
Мета роботи - набути практичних навиків в складанні програм для побудови рухомих зображень на екрані комп’ютера за допомогою матричних перетворень.
ЗАВДАННЯ
/
Блок-схема:
/
СПИСОК ФУНКЦІЙ ВИКОРИСТАНИХ В ПРОГРАМІ
glClearColor- встановлює колір, яким буде заповнений буфер кадра.
glColor3f(0.0,0.0,0.0)- встановлює колір, яким буде малюватися лінії.
glBegin(GL_QUADS), glEnd()- початок і кінець фігури.
glVertex2f(Х,У)- координати точок.
glutSwapBuffers()- подвійний буфер глибини.
void Initialize()- функція яка ініціалізує зображення.
void Timer(int)- функція часу яка виконує переміщення об’єкту.
void Draw()- функція малювання.
glutDisplayFunc(Draw)- функція виводу зображення на екран.
glutCreateWindow("I_Pro")- функція що показує заголовок програми.
glutInitWindowPosition(100,200)- функція що вказує початкову координату.
ТЕКСТ ПРОГРАМИ:
#include "stdafx.h"
#include <gl\glut.h>
#include <math.h>
float WinWid=550.0;
float WinHei=600.0;
float dx=0.0;
float dy=0.0;
float i=0;
void Draw()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0.0,0.0,0.0);
glBegin(GL_QUADS);
glVertex2f(300+dx,300+dy);
glVertex2f(300+dx,318+dy);
glVertex2f(318+dx,318+dy);
glVertex2f(318+dx,300+dy);
glEnd();
glutSwapBuffers();
}
void Initialize()
{
glClearColor(1.0,1.0,1.0,1.0);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0,WinWid,0,WinHei,-200.0,200.0);
glMatrixMode(GL_MODELVIEW);
}
void Timer(int)
{ i--;
dy+=10 * cosf(2.0 * 3.1415926 * float(i) / 30);
dx+=10 * sinf(2.0 * 3.1415926 * float(i) / 30);
Draw();
glutTimerFunc(50,Timer,0);
}
int main(int argc,char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_DOUBLE|GLUT_RGB);
glutInitWindowSize(WinWid,WinHei);
glutInitWindowPosition(100,200);
glutCreateWindow("I_Pro");
//reg
glutDisplayFunc(Draw);
glutTimerFunc(50,Timer,0);
Initialize();
glutMainLoop();
return 0;
}
Результат програми
/
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!