- •Практикум по компьютерной графике
- •Оглавление
- •Введение
- •1. Лабораторная работа «ОсновыGimp»
- •Основные термины gimp
- •Основные приемы использования gimp
- •Панель инструментов
- •Окно изображения
- •Диалоги и панели
- •Работа с файлами Создание нового изображения
- •Открытие изображения
- •Сохранение изображения
- •Изменение масштаба и навигация по изображению
- •Рисование. Кисти
- •Отмена действий
- •Задание по лабораторной работе
- •2. Лабораторная работа «Фотомонтаж» Выделение областей
- •Прямоугольное и эллиптическое выделение
- •Свободное выделение и работа с быстрой маской
- •Умные ножницы
- •Выделение по цвету
- •Работа со слоями
- •Непрозрачность
- •Видимость
- •Текст вGimp
- •Преобразование изображения в слое
- •Общие свойства инструментов преобразования
- •Инструменты преобразования
- •Фотомонтаж
- •Задание по лабораторной работе
- •Тонирование
- •Яркость и контраст
- •Гистограмма изображения
- •Коррекция цветовых кривых
- •Фильтры
- •Фильтры размытия
- •Фильтры улучшения
- •Задание по лабораторной работе
- •4. Лабораторная работа «ОсновыIncscape» Что такоеIncscape
- •Основы Incscape Перемещение по холсту
- •Изменение масштаба
- •Инструменты Inkscape
- •Работа с документами
- •Основные приемы
- •Прямоугольники
- •Эллипсы
- •Спирали
- •Работа с фигурами Создание фигур
- •Перемещение, изменение размера и вращение
- •Изменение формы при помощи клавиш
- •Выделение нескольких объектов
- •Группировка
- •Заливка и обводка
- •Дублирование, выравнивание, распределение
- •Выделение объектов под объектами и перемещение выделенного
- •Задание по лабораторной работе
- •5. Лабораторная работа «Создание векторного логотипа» Размещение текста вдоль контура
- •Выполнение логических операций над фигурами Сумма
- •Разность
- •Пересечение
- •Исключающее или
- •Разделить
- •Работа с узлами Инструменты для управления узлами
- •Перемещение узлов
- •Горячие клавиши
- •Задание по лабораторной работе
- •6. Лабораторная работа «Программирование графики»
- •Сообщение wm_paint
- •Событие Paint
- •Объект Graphics для рисования
- •Методы и свойства класса Graphics
- •Задание по лабораторной работе
- •7. Лабораторная работа «Простейшая анимация»
- •Работа с таймером
- •Создание анимации
- •Движение по траектории
- •Задание по лабораторной работе
- •8. Лабораторная работа «Работа с растровыми изображениями»
- •Отображение графических файлов
- •Компоненты OpenFileDialog иSaveFileDialog
- •Простой графический редактор
- •Задание по лабораторной работе
- •9. Лабораторная работа «Преобразования на плоскости»
- •Простейшие преобразования на плоскости
- •Преобразование поворота и отражения
- •Однородные координаты
- •Комбинированные преобразования
- •Программная реализация
- •Задание по лабораторной работе
- •Варианты заданий
- •10. Лабораторная работа «3Dпреобразования и получение проекций»
- •Правосторонняя система координат
- •Преобразования в пространстве
- •Трехмерный перенос
- •Получение косоугольных проекций
- •Построение вида спереди
- •Программная реализация
- •Задание по лабораторной работе
- •Варианты заданий
- •11. Лабораторная работа «Построение трехмерных сцен наXaml»
- •Система координат и размещение камеры
- •Освещение сцены
- •Задание объектов трехмерной сцены
- •Применение материалов к модели
- •Трехмерные преобразования
- •Пример описания простой трехмерной сцены
- •Задание по лабораторной работе
- •12. Лабораторная работа «Трехмерные преобразования вWpf»
- •Связь процедурного кода и объектов описанных вXaml
- •Трехмерные преобразования в процедурном коде
- •Применение 3d-преобразований к отдельным элементам 3Dсцены
- •Создание анимации с помощью таймера
- •Задание по лабораторной работе
- •Список использованных источников
- •Практикум по компьютерной графике
- •Издано в авторской редакции
- •Отпечатано в Издательстве ни тпу в полном соответствии с качеством предоставленного оригинал-макета
- •3Аказ . Тираж экз.
Введение
Если заглянуть в историю, то можно проследить, как с момента появления первых ЭВМ люди стремятся разнообразить способы общения человека и машины, приблизившись к уровню общения человека с человеком. Это общение было бы гораздо более ограниченным, если бы не использовало один из наиболее простых способов — язык изображений, образов. Сегодня графические изображения на экране монитора современного персонального компьютера стали для нас нормой, совершенно неотъемлемым атрибутом интерфейса. Спектр применения компьютерной графики, помимо средства интерфейса «человек-машина», чрезвычайно широк: от создания рекламных роликов, компьютерных мультфильмов и игр, кроя одежды, малых и монументальных форм дизайна, компьютерной живописи до визуализации результатов научных изысканий [10]. Можно с уверенностью сказать, что популярность Internet, и в частности WWW, во многом объясняется широким применением графики.
Рынок программного и аппаратного обеспечения компьютерной графики – один из самых динамичных. Об этом можно судить по объему литературы и числу сервисов Internet, посвященных так или иначе компьютерной графике.
Предметом данной работы является обширная область компьютерных наук, посвященная представлению данных в памяти ЭВМ в графической форме. Это самое общее определение, так как под данными можно понимать как непосредственно хранящееся в виде файла изображение в одном из графических форматов, так и протокол обмена командами между пользователем и ЭВМ (то, что мы называем графическим интерфейсом), и битовую последовательность, сформированную для вывода на экран или печатающее устройство. Методы и способы представления и манипуляции этим видом данных относятся к компетенции компьютерной графики.
В работе рассматриваются различные способы представления изображений в памяти ЭВМ, методы и алгоритмы растеризации и обработки растровых изображений, матричные преобразования на плоскости и в пространстве, методы и алгоритмы удаления скрытых линий и поверхностей. Кроме того, приводятся основы использования графической библиотеки OpenGL, а также описываются базовые аппаратные средства, используемые при работе с изображениями.
Программный код, приведенный в пособии, создан в MS Visual Studio 2010 на языке C#.
1. Лабораторная работа «ОсновыGimp»
GIMP— многоплатформенное программное обеспечение для редактирования растровых изображений (GIMP—GNUImageManipulationProgram). РедакторGIMPпригоден для решения множества задач по изменению изображений, включая ретушь фотографий, объединение и создание изображений.
Одной из сильных сторон GIMPявляется его доступность из многих источников для многих операционных систем.GIMPвходит в состав большинства дистрибутивовGNU/Linux.GIMPтакже доступен и для других операционных систем вродеMicrosoftWindows™ илиMacOSX™ отApple(Darwin).GIMP— свободное программное обеспечение, выпускаемое под лицензиейGPL(GeneralPublicLicense).GPLпредоставляет пользователям право доступа к исходному коду программ и право изменять его.
Будучи весьма мощным продуктом, GIMPспособен стать незаменимым помощником в таких областях, как подготовка графики дляWeb-страниц и полиграфической продукции, оформление программ (рисование пиктограмм, заставок и т.п.), создание анимационных роликов, обработка кадров для видеофрагментов и построение текстур для трехмерной анимации. Очень полезна функция создания и обработки анимационных роликов, позволяющая накладывать анимацию на объект как текстуру и выполнять определенные финишные операции после рендеринга.