Главная > Методические указания


ФЕДЕРАЛЬНОЕ АГЕНСТВО ПО ОБРАЗОВАНИЮ

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

профессионального образования

«МАТИ»- РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ

УНИВЕРСИТЕТ им. К.Э.ЦИОЛКОВСКОГО

Кафедра «Информационные технологии»

Методические указания по выполнению лабораторных работ

по дисциплине «Компьютерная графика»

Направление 230100 «Информатика и вычислительная техника»

Специальность 230102 «Автоматизированные системы обработки

информации и управления»

Составитель: Воинов С.Б.

Москва 2006

Оглавление

Оглавление 3

Введение 4

Цель преподавания дисциплины 4

Задачи изучения дисциплины 4

Перечень дисциплин, усвоение которых студентами
необходимо для изучения данной дисциплины 4

1. Лабораторная работа №1 5

1.1. Цель работы 5

1.2. Основные теоретические положения 5

1.3. Задание и методические указания к выполнению работы 5

1.3.1. Задание на лабораторную работу 5

1.3.2. Форма отчетности 6

1.3.3. Методические указания к выполнению работы 6

1.4. Контрольные вопросы 6

1.5. Варианты заданий на лабораторную работу 6

2. Лабораторная работа №2 8

2.1. Цель работы 8

2.2. Основные теоретические положения 8

2.3. Задание и методические указания к выполнению работы 8

2.3.1. Задание на лабораторную работу 8

2.3.2. Форма отчетности 9

2.3.3. Методические указания к выполнению работы 9

2.4. Контрольные вопросы 9

2.5. Варианты заданий на лабораторную работу 9

3. Лабораторная работа №3 10

3.1. Цель работы 10

3.2. Основные теоретические положения 10

3.3. Задание и методические указания к выполнению работы 10

3.3.1. Задание на лабораторную работу 10

3.3.2. Форма отчетности 11

3.3.3. Методические указания к выполнению работы 11

3.4. Контрольные вопросы 11

3.5. Варианты заданий на лабораторную работу 12

4. Список литературы 13

Введение

Цель преподавания дисциплины

Целью преподавания дисциплины является ознакомление студентов с теоретическими и практическими основами компьютерной графики. При этом в программу курса входит изучение как классических, так и современных алгоритмов компьютерной графики. Особый акцент делается на практическое применение изучаемых алгоритмов. Также особое внимание уделяется современным алгоритмам обработки объектов трехмерной графики. В рамках программы курса студенты знакомятся с современным графическим интерфейсом прикладного программирования OpenGL.

Задачи изучения дисциплины

В результате изучения дисциплины студенты должны усвоить:

  • Базовые термины компьютерной графики и структуру типичных информационных систем.

  • Классификации алгоритмов компьютерной графики.

  • Базовый математический аппарат компьютерной графики (векторы, кватернионы, матрицы и т.д.).

  • Математические представления таких геометрических примитивов, как точка, линия, плоскость, поверхность и т.д.

  • Простейшие преобразования на плоскости и в пространстве.

  • Некоторые алгоритмы вычислительной геометрии.

  • Общие сведения об алгоритмах обработки граней (заливка граней, удаление невидимых граней и т.д.).

  • Некоторые алгоритмы оптимизации (BSP-деревья, ограничивающие тела и т.д.)

  • Методы текстурирования поверхностей.

  • Некоторые современные алгоритмы процедурной генерации текстур и поверхностей.

  • Простейшие методы обработки растровых изображений.

  • Основные приемы и навыки в работе с графическим интерфейсом прикладного программирования OpenGL.

Перечень дисциплин, усвоение которых студентами
необходимо для изучения данной дисциплины

  1. Линейная алгебра.

  2. Математический анализ.

  3. Программирование на языке C++.

1. Лабораторная работа №1

1.1. Цель работы

Изучить основные преобразования на плоскости: параллельный перенос, поворот, растяжение/сжатие, зеркальное отражение. Получить практические навыки реализации описанных преобразований по отношению к плоской фигуре, заданной набором вершин и соединяющих их отрезков. Получить практические навыки разработки приложений в среде Microsoft Visual Studio.

1.2. Основные теоретические положения

Основные теоретические положения изложены в разделе 1.1 «Учебного пособия».

1.3. Задание и методические указания к выполнению работы

1.3.1. Задание на лабораторную работу

Написать графическое приложение Win32 на языке C++, выполняющее действия, описанные в конкретном задании. Реализовать в программе корректную обработку ошибок при вызове любых API функций: в случае возникновения ошибки выдать код ошибки, имя вызвавшей ошибку функции и текстовое описание ошибки, после чего завершить работу программы.

Программа должна быть реализована в виде проекта в среде разработки Microsoft Visual Studio 6.0 или Microsoft Visual Studio .Net. Программы, выполненные на языках программирования, отличных от C++ или в иной среде разработки не принимаются.

Исходный код программы должен быть читабельным и включать в себя комментарии.

При защите лабораторной работы студент должен отчитаться по выполненной работе.

Выполненные задания оцениваются по следующим критериям:

    • корректность реализации основного задания;

    • читабельность исходного кода программы и наличие в нем комментариев;

    • умение автора программы объяснить алгоритм ее работы и исходный код.

    • дополнительная функциональность, реализованная помимо необходимого задания.

По каждому критерию выставляется оценка по пятибальной шкале. Общая оценка за выполненное задание является суммой оценок по каждому критерию. Оценка за выполненное задание влияет на сдачу экзамена по дисциплине. Работа считается не сданной, если оценка за один из первых трёх критериев составляет ниже трех баллов.

1.3.2. Форма отчетности

  1. Отчет по лабораторной работе, который включает в себя следующие разделы: постановка задачи, метод решения, текст программы, результаты работы программы в виде снимков экрана (не менее трех). Отчет сдается преподавателю в печатном и электронном виде.

  2. Рабочая копия исходного кода программы, включая файлы проекта среды разработки. Сдается в электронном виде.

  3. Устная беседа по выполненной работе, в ходе которой задаются практические вопросы по исходному коду программы и теоретические вопросы по теме лабораторной работы.

1.3.3. Методические указания к выполнению работы

Для выполнения работы необходимо:

  1. Открыть среду разработки Microsoft Visual Studio.

  2. Создать новый проект консольного приложения Win32.

  3. Набрать исходный код программы в текстовом редакторе среды разработки.

  4. Откомпилировать программу. В случае возникновения ошибок компиляции исправить их.

  5. Отладить программу с использованием встроенного отладчика среды разработки.

  6. Проверить корректность работы программы при различных ситуациях.

  7. Составить отчет о проделанной работе в текстовом редакторе Microsoft Word.

1.4. Контрольные вопросы

  1. Опишите координатную систему на плоскости.

  2. Напишите и поясните общее уравнение прямой. Какие частные уравнения прямой вы знаете?

  3. Запишите в матричном виде преобразования параллельного переноса, вращения, зеркального отражения, растяжения (сжатия).

1.5. Варианты заданий на лабораторную работу

Общее задание – применение описанных в разделе цели работы преобразований на плоскости к плоской фигуре, заданной набором вершин и соединяющих их отрезков. Программа должна содержать главное окно, подобное представленному на рис. 1. В рабочей области окна должна отображаться плоская фигура с примененными к ней преобразованиями. Сами преобразования задаются пользователем при помощи графических элементов интерфейса, например, меню или панели инструментов. При каждом выборе пункта меню или нажатии кнопки на панели инструментов, к фигуре должно быть применено соответствующее преобразование, после чего фигура должна быть перерисована в рабочей области окна. Например, можно создать кнопки «Поворот на 100 по часовой стрелке», «Поворот на 100 против часовой стрелки», «Сжатие на 10%», «Растяжение на 10%» и т.д. Т.е. каждому преобразованию соответствует некоторый набор кнопок, каждая из которых определяет фиксированные параметры этого преобразования. В программе в обязательном порядке должны использоваться классы матриц и векторов, а не их скалярные представления в виде переменных x, y и т.п.

Индивидуальные задания соответствуют реализации общего задания, но с различными фигурами для каждого студента. Задания нескольких студентов с одной и той же фигурой не принимаются.

Рис. 1. Пример главного окна программы.

2. Лабораторная работа №2

2.1. Цель работы

Изучить основные преобразования в пространстве: параллельный перенос, поворот, растяжение/сжатие, зеркальное отражение. Получить практические навыки реализации описанных преобразований по отношению к объемной фигуре, заданной набором вершин и граней. Получить практические навыки разработки приложений в среде Microsoft Visual Studio.

2.2. Основные теоретические положения

Основные теоретические положения изложены в разделе 2.1 «Учебного пособия».

2.3. Задание и методические указания к выполнению работы

2.3.1. Задание на лабораторную работу

Написать графическое приложение Win32 на языке C++, выполняющее действия, описанные в конкретном задании. Реализовать в программе корректную обработку ошибок при вызове любых API функций: в случае возникновения ошибки выдать код ошибки, имя вызвавшей ошибку функции и текстовое описание ошибки, после чего завершить работу программы.

Программа должна быть реализована в виде проекта в среде разработки Microsoft Visual Studio 6.0 или Microsoft Visual Studio .Net. Программы, выполненные на языках программирования, отличных от C++ или в иной среде разработки не принимаются.

Исходный код программы должен быть читабельным и включать в себя комментарии.

При защите лабораторной работы студент должен отчитаться по выполненной работе.

Выполненные задания оцениваются по следующим критериям:

    • корректность реализации основного задания;

    • читабельность исходного кода программы и наличие в нем комментариев;

    • умение автора программы объяснить алгоритм ее работы и исходный код.

    • дополнительная функциональность, реализованная помимо необходимого задания.

По каждому критерию выставляется оценка по пятибальной шкале. Общая оценка за выполненное задание является суммой оценок по каждому критерию. Оценка за выполненное задание влияет на сдачу экзамена по дисциплине. Работа считается не сданной, если оценка за один из первых трёх критериев составляет ниже трех баллов.

2.3.2. Форма отчетности

  1. Отчет по лабораторной работе, который включает в себя следующие разделы: постановка задачи, метод решения, текст программы, результаты работы программы в виде снимков экрана (не менее трех). Отчет сдается преподавателю в печатном и электронном виде.

  2. Рабочая копия исходного кода программы, включая файлы проекта среды разработки. Сдается в электронном виде.

  3. Устная беседа по выполненной работе, в ходе которой задаются практические вопросы по исходному коду программы и теоретические вопросы по теме лабораторной работы.

2.3.3. Методические указания к выполнению работы

Для выполнения работы необходимо:

  1. Открыть среду разработки Microsoft Visual Studio.

  2. Создать новый проект консольного приложения Win32.

  3. Набрать исходный код программы в текстовом редакторе среды разработки.

  4. Откомпилировать программу. В случае возникновения ошибок компиляции исправить их.

  5. Отладить программу с использованием встроенного отладчика среды разработки.

  6. Проверить корректность работы программы при различных ситуациях.

  7. Составить отчет о проделанной работе в текстовом редакторе Microsoft Word.

2.4. Контрольные вопросы

  1. Опишите координатную систему в пространстве.

  2. Напишите и поясните общее уравнение плоскости. Как можно вычислить нормаль к плоскости.

  3. Запишите в матричном виде преобразования параллельного переноса, вращения, зеркального отражения, растяжения (сжатия).

2.5. Варианты заданий на лабораторную работу

Общее задание соответствует лабораторной работе №1 с той разницей, что вместо плоской фигуры используется объемная. Соответственно, расширяется набор вариантов одного и того же преобразования: параллельный перенос вдоль одной из трех координатных осей; поворот вокруг одной из трех координатных осей по часовой и против часовой стрелки; растяжение/сжатие вдоль одной из трех координатных осей; зеркальное отражение относительно одной из трех координатных плоскостей.

3. Лабораторная работа №3

3.1. Цель работы

Изучить основные возможности интерфейса программирования, предоставляемого стандартом OpenGL. Получить представление о методах рисования геометрических примитивов, наложения текстур, применения различных источников освещенности, использования техники смешивания цветов. Получить практические навыки использования стандарта OpenGL для программирования трехмерных анимационных сцен в среде Windows. Получить практические навыки разработки приложений в среде Microsoft Visual Studio.

3.2. Основные теоретические положения

Основные теоретические положения изложены в разделе 3.1 «Учебного пособия».

3.3. Задание и методические указания к выполнению работы

3.3.1. Задание на лабораторную работу

Написать графическое приложение Win32 на языке C++, выполняющее действия, описанные в конкретном задании. Реализовать в программе корректную обработку ошибок при вызове любых API функций: в случае возникновения ошибки выдать код ошибки, имя вызвавшей ошибку функции и текстовое описание ошибки, после чего завершить работу программы.

Программа должна быть реализована в виде проекта в среде разработки Microsoft Visual Studio 6.0 или Microsoft Visual Studio .Net. Программы, выполненные на языках программирования, отличных от C++ или в иной среде разработки не принимаются.

Исходный код программы должен быть читабельным и включать в себя комментарии.

При защите лабораторной работы студент должен отчитаться по выполненной работе.

Выполненные задания оцениваются по следующим критериям:

    • корректность реализации основного задания;

    • читабельность исходного кода программы и наличие в нем комментариев;

    • умение автора программы объяснить алгоритм ее работы и исходный код.

    • дополнительная функциональность, реализованная помимо необходимого задания.

По каждому критерию выставляется оценка по пятибальной шкале. Общая оценка за выполненное задание является суммой оценок по каждому критерию. Оценка за выполненное задание влияет на сдачу экзамена по дисциплине. Работа считается не сданной, если оценка за один из первых трёх критериев составляет ниже трех баллов.

3.3.2. Форма отчетности

  1. Отчет по лабораторной работе, который включает в себя следующие разделы: постановка задачи, метод решения, текст программы, результаты работы программы в виде снимков экрана (не менее трех). Отчет сдается преподавателю в печатном и электронном виде.

  2. Рабочая копия исходного кода программы, включая файлы проекта среды разработки. Сдается в электронном виде.

  3. Устная беседа по выполненной работе, в ходе которой задаются практические вопросы по исходному коду программы и теоретические вопросы по теме лабораторной работы.

3.3.3. Методические указания к выполнению работы

Для выполнения работы необходимо:

  1. Открыть среду разработки Microsoft Visual Studio.

  2. Создать новый проект консольного приложения Win32.

  3. Набрать исходный код программы в текстовом редакторе среды разработки.

  4. Откомпилировать программу. В случае возникновения ошибок компиляции исправить их.

  5. Отладить программу с использованием встроенного отладчика среды разработки.

  6. Проверить корректность работы программы при различных ситуациях.

  7. Составить отчет о проделанной работе в текстовом редакторе Microsoft Word.

3.4. Контрольные вопросы

  1. Какие основные типы данных OpenGL вы знаете?.

  2. Какие типы геометрических объектов позволяет визуализировать OpenGL?

  3. Приведите примеры использования функций OpenGL для реализации основных преобразований в пространстве, использованных в лабораторной работе №2.

  4. Что такое дисплейные списки OpenGL? Какие преимущества они дают?

  5. Каким образом, используя OpenGL, задать модель закрашивания?

  6. Какие типы источников освещенности поддерживаются OpenGL?

  7. Что такое смешивание цветов? Как при помощи смешивания цветов в OpenGL достичь эффекта полупрозрачности?

  8. Какие функции OpenGL используются для наложения текстуры на объекты? Что такое текстурные координаты?

  9. Каким образом осуществляется привязка контекста воспроизведения OpenGL к окну графического интерфейса Windows?

3.5. Варианты заданий на лабораторную работу

Общее задание – использование OpenGL для визуализации трехмерной анимационной сцены. Сцена должна использовать следующие возможности OpenGL:

  • Рисование не менее трех геометрических объектов, к которым в процессе анимации применяются различные преобразования в пространстве. Объекты должны частично перекрывать друг друга.

  • Использование не менее двух источников освещенности различных типов.

  • Использование не менее двух текстур, накладываемых на объекты сцены.

  • Использование техники смешивания цветов применительно к одному или нескольким объектам сцены. Например, можно реализовать эффект полупрозрачности.

  • Анимация сцены должна выполняться в режиме реального времени, т.е., должна присутствовать относительно высокая частота смены кадров (не менее 10 на среднем по мощности ПК), а также визуально одинаковая скорость анимации на машинах с различной производительностью.

Индивидуальные задания соответствуют реализации общего задания, но с различными параметрами трехмерной анимационной сцены для каждого студента. Задания нескольких студентов с одной и той анимационной сценой не принимаются.

Пример реализации задания лабораторной работы приведен на рис. 2.

Рис. 2. Пример реализации задания лабораторной работы №3.

4. Список литературы

  1. Е.А. Никулин «Компьютерная геометрия и алгоритмы машинной графики», Санкт-Петербург, «БХВ-Петербург», 2003, ISBN 5-94157-264-6.

  2. А.В. Боресков, Е.В.Шикин «Компьютерная графика. Полигональные модели»,

М., «Диалог-МИФИ», 2000, ISBN 5-86404-139-4.

  1. Алексей Поляков, Виталий Брусенцев «Методы и алгоритмы компьютерной графики в примерах на Visual C++», 2-е издание, Санкт-Петербург, «БХВ-Питер», 2003, ISBN 5-94157-377-4.

  2. Эйнджел Э. «Интерактивная компьютерная графика. Вводный курс на базе OpenGL», «Вильямс», 2001, ISBN 5-8459-0209-6.

  3. Петров М., Молочков В. «Компьютерная графика», Санкт-Петербург, «Питер», 2002, ISBN 5-318-00430-X.

  4. Бубнов В. «Линейная алгебра. Компьютерный практикум», «Лаборатория Базовых Знаний», 2002, ISBN 5-93208-122-8.



Скачать документ

Похожие документы:

  1. Учебно-методический комплекс для студентов специальностей 26

    Учебно-методический комплекс
    ... Н. А. Майер Компьютерная верстка Ю. ... методических указаний ... выполнения контрольных работ состоит в закреплении теоретических знаний по разделам дисциплины ... лабораторно-производственного контроля; 2) кратность проведения лабораторно ... с графиком, ...
  2. МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению лабораторных работ по дисциплине " Технология разработки программного обеспечения" для студентов 4 курса 7 семестра ИЖЕВСК 2009

    Методические указания
    ... университет” МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению лабораторных работ по дисциплине "Технология ... компьютерной игры. 1.2. Методические указания по выполнению лабораторной ра­боты "Компьютерная игра" ... вопросы 1. Варианты обработки графики и звука. 2. ...
  3. « « 2010 г Методические указания для выполнения лабораторных работ по дисциплине «Защита аудиовизуальной и компьютерной информации» для студентов специальностей

    Методические указания
    ... , профессор И.Н.Пустынский « « 2010 г. Методические указания для выполнения лабораторных работ по дисциплине «Защита аудиовизуальной и компьютерной информации» для студентов специальностей ...
  4. Методические указания по выполнению лабораторных работ по дисциплине «метрология стандартизация и сертификация»

    Методические указания
    ... ЦИОЛКОВСКОГО Кафедра «Информационные технологии» Методические указания по выполнению лабораторных работ по дисциплине «Метрология, стандартизация и ... компьютерной графики и обработки изображения, соединения оборудования, методов защиты и т.д. Работа ...
  5. Методические указания к выполнению самостоятельной работы по дисциплине «информатика и системология»

    Методические указания
    ... Харьков-2008 Методические указания к выполнению самостоятельной работы по дисциплине «Информатика и ... работа студентов является подготовкой к лабораторным работам, ... файлов по компьютерным сетям. ... со сложной графикой, выполненные в едином ...

Другие похожие документы..