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

  • ЧЕЛЯБИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙКафедра ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ OpenGL

  • Задание № 2 >

  • Челябинск 2010 г.

  • Текст программы

  • Отчет завершен.

  • тест. Челябинский государственный университет


    Скачать 0.56 Mb.
    НазваниеЧелябинский государственный университет
    Дата11.05.2022
    Размер0.56 Mb.
    Формат файлаdoc
    Имя файлаTest_2_Report_Hodeev_IM.doc
    ТипДокументы
    #523413

    ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
    Государственное образовательное учреждение высшего профессионального образования
    ЧЕЛЯБИНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
    ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
    Кафедра ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
    <Программные средства компьютерной графики – OpenGL,

    Задание № 2>

    По дисциплине:

    <Компьютерная графика>







    Студент группы <ИТВ-101>

    Ходеев Ильсур Мансурович





    Челябинск 2010 г.
    Шаг 1: Запуск CodeBlocks и создание нового проекта


    Шаг 2: Создание проекта SDL

    Шаг 3: Выбор названия и директории для проекта


    Шаг 4: Открываем пустой проект Pr01 и пишем программу:

    Шаг 5: Тестовая программа скомпилирована и запущена

    Шаг 6: Окно программы после закрытия окна с графическим изображением


    Текст программы:
    #include //подключаем библиотеку stdlib

    #include //подключаем библиотеку SDL

    #include //подключаем библиотеку conio.h

    #include //подключаем библиотеки OpenGL

    #include //подключаем библиотеки OpenGL
    int main ( int argc, char** argv ) //объявляем главную функцию main

    {

    SDL_Init(SDL_INIT_VIDEO); //инициализация работы с видеоподсистемой в SDL

    SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 0); // инициализация OpenGL и

    //не используем двойную буфферизацию

    SDL_Surface* screen = SDL_SetVideoMode(640, 480, 16,SDL_OPENGL);

    //устанавливаем параметры вывода изображения графического окна (размеры и глубину цвета)

    SDL_WM_SetCaption("The window with HIM",NULL); //Определяем заголовок окна

    glClear(GL_COLOR_BUFFER_BIT); // очищаем экран
    { glLineWidth(10); //устанавливаем ширину выводимой линии в 10

    glPushMatrix(); //помещает в стек копию текущей матрицы

    glRotatef(40.0f,0.0f,0.0f,1.0f); //буква Х; поворот всей матрицы на 40 градусов
    glBegin(GL_LINES); //открываем операторные скобки и определяем тип примитива - линии

    //для буквы Х

    glColor3d(1,0,0); //цвет вершины красный

    glVertex2f(-0.9,0.2); // вершина1 1 линии : координаты

    glColor3d(0,0,1); //цвет вершины синий

    glVertex2f(-0.8,0.4); // вершина2 1 линии : координаты, создана линия с координатами x1,y1,x2,y2

    //создаем линию 2 буквы Х

    glColor3d(0,1,0); //цвет зеленый вершины 1 линии 2

    glVertex2f(-0.8,0.2); // вершина 1 линии 2

    glColor3d(0,0,1); //определяем цвет вершины 2 линии 2

    glVertex2f(-0.9,0.4); // определяем координаты вершины 2 линии 2

    glEnd(); //закрываем операторные скобки //закрываем операторные скобки - буква Х создана
    glBegin(GL_LINE_STRIP); //открываем операторные скобки и определяем тип примитива -

    //ломаная линия для буквы И

    glColor3d(1,0,0); //определяем цвет вершины 1 отрезка 1

    glVertex2f(-0.7,0.4); // буква И: Определяем координаты вершины 1 отрезка 1

    glColor3d(0,0,1); //определяем цвет вершины 2 отрезка 1

    glVertex2f(-0.7,0.2); // Определяем координаты вершины 2 отрезка 1

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(-0.7,0.2); // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(-0.6,0.4); // Определяем координаты вершины

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(-0.6,0.4); // Определяем координаты вершины

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(-0.6,0.2); // Определяем координаты вершины

    glEnd(); //закрываем операторные скобки

    //////////////////////////////////// буква М

    glBegin(GL_LINE_STRIP); //открываем операторные скобки и определяем тип примитива

    glColor3d(0,1,0); //определяем цвет вершины отрезка

    glVertex2f(-0.5,0.2); // буква M Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(-0.5,0.4); // Определяем координаты вершины

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(-0.5,0.4); // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(-0.45,0.3); // Определяем координаты вершины

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(-0.45,0.3); // Определяем координаты вершины

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(-0.40,0.4); // Определяем координаты вершины

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(-0.40,0.4); // буква M - Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(-0.40,0.2); // Определяем координаты вершины

    glEnd(); //закрываем операторные скобки

    }

    glPopMatrix(); //выталкивает из стека матрицу, помещенную туда ранее

    /////////////////2

    glPushMatrix(); //помещает в стек копию текущей матрицы

    glRotatef(60.0f,1.0f,1.0f,0.0f); //поворот всей матрицы на 60 градусов

    { glLineWidth(5);//определить ширину линии 5

    glBegin(GL_LINES); //открываем операторные скобки и определяем тип примитива

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.15,0.2); // Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.2,0.3); // Определяем координаты вершины

    glColor3d(0,1,0); //определяем цвет вершины отрезка

    glVertex2f(0.15,0.3); // Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.2,0.2); // Определяем координаты вершины

    glEnd(); //закрываем операторные скобки
    glBegin(GL_LINE_STRIP); //открываем операторные скобки и определяем тип примитива

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.3); // буква И // Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.2); // Определяем координаты вершины

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.2); // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.30,0.3); // Определяем координаты вершины

    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.3,0.3); // Определяем координаты вершины

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.3,0.2); // Определяем координаты вершины

    glEnd(); //закрываем операторные скобки

    glBegin(GL_LINE_STRIP); //открываем операторные скобки и определяем тип примитива

    glColor3d(0,1,0); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.2); // буква M // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.3); // Определяем координаты вершины
    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.30); // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.375,0.25); // Определяем координаты вершины
    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.375,0.25); // Определяем координаты вершины

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.30); // Определяем координаты вершины
    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.30); // буква M // Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.20); // Определяем координаты вершины
    glEnd(); //закрываем операторные скобки

    }

    glPopMatrix(); //выталкивает из стека матрицу, помещенную туда ранее
    /////////////////3

    glPushMatrix(); //помещает в стек копию текущей матрицы

    glTranslatef(0.11,-0.7, -0.50); //смещение матрицы на указанные координаты
    { glLineWidth(5); //определяем ширину линии

    glBegin(GL_LINES); //открываем операторные скобки и определяем тип примитива

    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.15,0.2); // Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.2,0.3); // Определяем координаты вершины
    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.15,0.3); // Определяем координаты вершины

    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.2,0.2); // Определяем координаты вершины
    glEnd(); //закрываем операторные скобки
    glBegin(GL_LINE_STRIP); //открываем операторные скобки и определяем тип примитива

    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.3); // буква И // Определяем координаты вершины

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.2); // Определяем координаты вершины
    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.2); // Определяем координаты вершины

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.30,0.3); // Определяем координаты вершины
    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.3,0.3); // Определяем координаты вершины

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.3,0.2); // Определяем координаты вершины
    glEnd(); //закрываем операторные скобки
    glBegin(GL_LINE_STRIP); //открываем операторные скобки и определяем тип примитива

    glColor3d(0,1,0); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.2); // буква M // Определяем координаты вершины

    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.3); // Определяем координаты вершины
    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.30); // Определяем координаты вершины

    glColor3d(0,1,0); //определяем цвет вершины отрезка

    glVertex2f(0.375,0.25); // Определяем координаты вершины
    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.375,0.25); // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.30); // Определяем координаты вершины
    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.30); // буква M // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.20); // Определяем координаты вершины
    glEnd(); //закрываем операторные скобки

    }

    glPopMatrix(); //выталкивает из стека матрицу, помещенную туда ранее
    /////////////////фигура № 4

    glPushMatrix(); //помещает в стек копию текущей матрицы

    glTranslatef(-0.40,0.5, 0.80); //смещаем матрицу

    glRotatef(120.0f,0.0f,0.0f,1.0f); //поворот всей матрицы на 120 градусов по оси Z

    { glLineWidth(7);// определяем толщину линий

    glBegin(GL_LINES); //открываем операторные скобки и определяем тип примитива

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.15,0.2); // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.2,0.3); // Определяем координаты вершины
    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.15,0.3); // Определяем координаты вершины

    glColor3d(1,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.2,0.2); // Определяем координаты вершины
    glEnd(); //закрываем операторные скобки - буква Х
    glBegin(GL_LINE_STRIP); //открываем операторные скобки и определяем тип примитива

    glColor3d(1,1,0); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.3); // буква И // Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.2); // Определяем координаты вершины
    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.25,0.2); // Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.30,0.3); // Определяем координаты вершины
    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.3,0.3); // Определяем координаты вершины

    glColor3d(0,1,0); //определяем цвет вершины отрезка

    glVertex2f(0.3,0.2); // Определяем координаты вершины
    glEnd(); //закрываем операторные скобки
    glBegin(GL_LINE_STRIP); //открываем операторные скобки и определяем тип примитива

    glColor3d(0,1,0); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.2); // буква M // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.3); // Определяем координаты вершины
    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.35,0.30); // Определяем координаты вершины

    glColor3d(0,1,1); //определяем цвет вершины отрезка

    glVertex2f(0.375,0.25); // Определяем координаты вершины
    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.375,0.25); // Определяем координаты вершины

    glColor3d(1,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.30); // Определяем координаты вершины
    glColor3d(1,0,0); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.30); // буква M // Определяем координаты вершины

    glColor3d(0,0,1); //определяем цвет вершины отрезка

    glVertex2f(0.40,0.20); // Определяем координаты вершины
    glEnd(); // закрываем операторную скобку

    }

    glPopMatrix(); //выталкивает из стека матрицу, помещенную туда ранее
    glFlush(); // ускоряет исполнение команд OpenGL
    getch(); //Приостанавливаем работу программы до нажатия любой клавиши
    SDL_Quit();// Освобождение ресурсов и выход из SDL
    return 0; //возврат в главную функцию main

    } // закрываем операторную скобку

    Отчет завершен.


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