Главная страница
Навигация по странице:

  • Лабораторная работа № 1 «Фрактальная графика»

  • Введение

  • Интегрированная среда разработки (IDE)

  • Приложение

  • Результат программы

  • Отечет. Компьютерная графика Отчет. Лабораторная работа 1 Фрактальная графика Отчет о выполнении лабораторной работы по дисциплине Компьютерная графика


    Скачать 210.48 Kb.
    НазваниеЛабораторная работа 1 Фрактальная графика Отчет о выполнении лабораторной работы по дисциплине Компьютерная графика
    АнкорОтечет
    Дата10.10.2022
    Размер210.48 Kb.
    Формат файлаdocx
    Имя файлаКомпьютерная графика Отчет.docx
    ТипЛабораторная работа
    #725299

    Министерство науки и высшего образования Российской Федерации

    Федеральное государственное бюджетное образовательное учреждение высшего образования

    ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)

    Кафедра автоматизации обработки информации (АОИ)

    Лабораторная работа № 1 «Фрактальная графика»

    Отчет о выполнении лабораторной работы по дисциплине «Компьютерная графика»

    Вариант № 7


    Выполнил:

    студент ФДО ТУСУР

    специальность 231000.62

    Семенов Никита Андреевич
    Проверил:

    Доцент каф. АОИ ТУСУР,

    канд. тех. наук

    Т.О. Перемитина





    Томск 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, которые в основном выполняют ввод-вывод системного уровня с операционной системой хоста. 

    Описание метода решения задачи


    Для решения поставленной задачи необходимо выполнить следующие действия:

    1. Реализовать функции OpenGL

    2. Задать границы расчета для фрактала.

    3. Рассчитать комплексное число.

    4. Вычислить формулу фрактала Джулия.

    5. Вывести на экран полученное изображение.

    Для успешной реализации этих действий программа должна состоять из следующих функциональных моделей:

    1. Функция myDisaply – задает цвет окна.

    2. Функция 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 c1(0.36, 0.36); // комплексная константа

    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 z(a, b); //комплексное число

    int iterator = 0; //счетчик

    while (iterator < iterations)

    {

    z = pow(z, 2) + c1; //формула итераций для фрактала джулия

    iterator++;

    if (abs(z) > 2)//Условие завершения итерации

    break;

    }

    if (iterator == 100)

    glVertex2d(a, b);//Указывает вершину

    }

    }

    glEnd();// завершение рисования

    }


    Результат программы







    написать администратору сайта