Отечет. Компьютерная графика Отчет. Лабораторная работа 1 Фрактальная графика Отчет о выполнении лабораторной работы по дисциплине Компьютерная графика
Скачать 210.48 Kb.
|
Министерство науки и высшего образования Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего образования ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР) Кафедра автоматизации обработки информации (АОИ) Лабораторная работа № 1 «Фрактальная графика» Отчет о выполнении лабораторной работы по дисциплине «Компьютерная графика» Вариант № 7
Томск 2022 ОглавлениеВведение 3 Интегрированная среда разработки (IDE) 4 Описание метода решения задачи 5 Вывод 6 Приложение 7 Код 7 Результат программы 9 ВведениеЦель работы: изучение теоретических основ фрактальной графики, приобретение практических навыков построения алгебраических фракталов. Реализовать программу, строящую фрактал с заданными границами расчета x0 ≤ x ≤ xn, y0≤y≤yn. Интегрированная среда разработки (IDE)В качестве IDE был выбран Microsoft Visual Studio. Visual Studio использует платформы разработки программного обеспечения Microsoft, такие как Windows API, Windows Forms, Windows Presentation Foundation, Windows Store и Microsoft Silverlight. Он может создавать как собственный код, так и управляемый код. Microsoft Visual Studio. Visual Studio поддерживает 36 различных языков программирования и позволяет редактору кода и отладчику поддерживать (в разной степени) практически любой язык программирования при условии, что существует служба для конкретного языка. Microsoft Visual Studio. OpenGL Utility Toolkit (GLUT) - это библиотека утилит для программ OpenGL, которые в основном выполняют ввод-вывод системного уровня с операционной системой хоста. Описание метода решения задачиДля решения поставленной задачи необходимо выполнить следующие действия: Реализовать функции OpenGL Задать границы расчета для фрактала. Рассчитать комплексное число. Вычислить формулу фрактала Джулия. Вывести на экран полученное изображение. Для успешной реализации этих действий программа должна состоять из следующих функциональных моделей: Функция myDisaply – задает цвет окна. Функция DrawJulia – выполняет расчет для построения и дальнейшего рисования фрактала Джулия по заданным параметрам. Основная программа задает границы окна и вызывает остальные функции. ВыводИзучены теоретические основы фрактальной графики, приобретены практические навыки построения алгебраических фракталов. Разработана программа для построения фрактала Джулия. заключение, которое содержит краткие выводы о проделанной работе; ПриложениеКод#include #include #include using namespace std; void myInit(void); void myDisplay(void); void DrawJulia(int iterations); int main(int argc, char** argv) { glutInit(&argc, argv); //инициализация GLUT and создание окна glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutInitWindowSize(800, 800); // размер окна glutInitWindowPosition(350, 20);// расположение окна на экране glutCreateWindow("Фрактал Джулия");// название окна glutDisplayFunc(myDisplay);//Установка функций, отвечающих за рисование в окне и изменении формы окна. glutMainLoop(); } void myDisplay() { glClearColor(1.0, 1.0, 1.0, 0.0); // цвет фона окна glClear(GL_COLOR_BUFFER_BIT); DrawJulia(100);//вызов функции с параметром glFlush(); } void DrawJulia(int iterations) { glPointSize(1.0); //Размер кисти glColor3f(0.0, 0.0, 1.0); //Цвет кисти glBegin(GL_POINTS); //определяет границы, внутри которых заданы вершины примитива или группы примитивов.работает с буфером накопления. complex for (double a = -1.0; a < 0.7; a += 0.001) //Координаты x0 до xn { for (double b = -0.9; b < 1.1; b += 0.001)//Координаты y0 до yn { complex int iterator = 0; //счетчик while (iterator < iterations) { z = pow(z, 2) + c1; //формула итераций для фрактала джулия iterator++; if (abs(z) > 2)//Условие завершения итерации break; } if (iterator == 100) glVertex2d(a, b);//Указывает вершину } } glEnd();// завершение рисования } Результат программы |