Сообщений 4    Оценка 238 [+2/-0]         Оценить  
Система Orphus

Методы и алгоритмы компьютерной графики в примерах на Visual C++

Авторы: Алексей Поляков
Виталий Брусенцев
Издательство: "BHV", 2003
560 страниц

Материал предоставил: Алексей Кирюшкин
Найти в магазинах
Купить в Озоне (215 руб.)

Аннотация

Содержание

Аннотация

В книге последовательно, "от простого к сложному", рассматриваются понятия, алгоритмы и методы компьютерной графики, а также средства программирования. Описаны особенности платформ Windows и .NET, разработка программ в среде Visual C++ с использованием объектно-ориентированного стиля программирования, возможности, предоставляемые библиотекой MFC и архитектурой Document-View, создание многопоточных приложений с MDI-интерфейсом. Подробно анализируются возможности библиотеки нового поколения GDI+ рисование векторных примитивов сложной формы с градиентной заливкой, управление прозрачностью вектор-ных и растровых объектов, поддержка форматов графических файлов (BMP, GIF, TIFF, JPEG и др.), отрисовка растров с наложением альфа-канала, масштабированием, растяжением, искажением и поворотом. К книге прилагается компакт-диск с примерами программ и изображений.

Содержание

Предисловие к первому изданию
На кого рассчитана эта книга
Благодарности
Отзывы читателей на первое издание книги 'Методы и алгоритмы компьютерной графики на VISUAL C++'
Предисловие ко второму изданию
Обратная связь
Благодарности

ЧАСТЬ I. ОСНОВЫ КОМПЬЮТЕРНОЙ ГРАФИКИ И СРЕДСТВ ПРОГРАММИРОВАНИЯ

Глава 1. Основные понятия компьютерной графики
1.1. Цели и задачи компьютерной графики
1.2. Основные понятия и определения
1.2.1. Графический формат
1.2.2. Элементы графического файла
1.2.3. Преобразование форматов
1.2.4. Сжатие данных
1.2.5. Пикселы и цвет
1.2.6. Палитры цветов
1.2.7. Цвет. Цветовые модели
1.3. Заключение

Глава 2. Особенности программирования 'под Windows'
2.1. Типы данных в Windows
2.2. Структура Windows-приложения
2.3. Создание приложения в MS Visual C++
2.4. Основные понятия и принципы объектно-ориентированного программирования
2.5. Библиотека Microsoft Foundation Class Library
2.6. Обработка сообщений
2.7. Заключение

Глава 3. Создаем первое 'графическое' приложение
3.1. Генератор приложений AppWizard. Создание приложения 'Painter'
3.2. Добавление функций рисования
3.3. Использование генератора классов ClassWizard
3.4. Сохранение рисунков в файл
3.5. Создание нового рисунка
3.6. Вывод рисунков на печать и предварительный просмотр
3.7. Заключение

ЧАСТЬ II. РАБОТА С ВЕКТОРНОЙ ГРАФИКОЙ

Глава 4. Архитектура приложений Document-View
4.1. Архитектура приложений Document-View
4.2. Контекст устройства, графические методы класса CDC
4.3. Модификация программы Painter
4.3.1. Решение проблемы вывода на принтер
4.3.2. Установка режима отображения
4.3.3. Установка размеров листа
4.3.4. Реализация функций рисования примитивов
4.3.5. Сохранение рисунков
4.3.6. Очистка памяти
4.4. Заключение

Глава 5. Математический аппарат алгоритмов компьютерной графики
5.1. Векторы
5.1.1. Свойства векторов
5.1.2. Скалярное произведение векторов
5.1.3. Векторное произведение векторов
5.2. Детерминанты
5.2.1. Свойства детерминантов
5.3. Однородные координаты
5.4. Использование однородных координат
5.5. Преобразования на плоскости
5.6. Матричная форма записи двумерных преобразований
5.7. Заключение

Глава 6. Реализация функций редактирования рисунков
6.1. Выбор фигуры
6.2. Маркировка активной фигуры
6.3. Рисование полигональных фигур
6.5. Рисование инверсным цветом
6.6. Реализация преобразований на плоскости
6.7. Определение реакций на нажатие клавиш
6.8. Изменение порядка наложения фигур
6.9. Удаление фигур
6.10. Преобразование формата
6.11. Листинг программы
6.11.1. Файл PainterDoc.h
6.11.2. Файл PainterDoc.cpp
6.11.3. Файл PainterView.h
6.11.4. Файл PainterView.cpp
6.11.5. Файл Shapes.h
6.11.6. Файл Shapes.cpp
6.11.7. Файл Global.h
6.11.8. Файл Global.cpp

Глава 7. Преобразования в трехмерном пространстве
7.1. Перенос и поворот в трехмерном пространстве
7.2. Параллельная проекция
7.2.1. Видовое преобразование
7.2.2. Перспективные преобразования
7.3. Два основных подхода к удалению невидимых линий и поверхностей
7.3.1. Алгоритм отсечения нелицевых граней
7.3.2. Алгоритм Робертса
7.3.3. Алгоритм z-буфера
7.3.4. Алгоритм Варнака
7.3.5. Алгоритм построчного сканирования
7.4. Программная реализация преобразований в трехмерном пространстве
7.5. Рисуем трехмерную поверхность
7.5.1. Построение линий уровня на поверхности
7.6. Заключение

Глава 8. Построение кривых
8.1. Определения
8.2. Параметрическое задание кривых
8.3. Сплайновые кривые
8.3.1. Интерполяционная кривая Catmull - Rom
8.3.2. Элементарная бета-сплайновая кривая
8.3.3. Сплайновая кривая Безье
8.4. Построение сплайновой кривой Безье с помощью средств MFC
8.5. Программная реализация построения сплайновых кривых
8.6. Заключение

ЧАСТЬ III. РАБОТА С РАСТРОВОЙ ГРАФИКОЙ

Глава 9. Работа с растровыми ресурсами
9.1. Ресурсы
9.2. Пиктограммы приложения
9.3. Изображение панели инструментов
9.4. Курсор
9.5. Растровое изображение Bitmap
9.6. Универсальная функция загрузки графических ресурсов
9.7. Заключение

Глава 10. Экспорт изображений в BMP-файл
10.1. Общее описание формата BMP
10.2. Структура файла
10.3. Экспорт рисунков в растровый файл формата BMP
10.4. Заключение

Глава 11. Просмотр и редактирование растровых изображений
11.1. Создание многодокументного приложения
11.2. Класс CRaster для работы с растровыми изображениями
11.3. Модификация класса документа для обеспечения работы с изображениями
11.4. Использование виртуального экрана
11.5. Модификация класса облика
11.6. Редактирование изображений
11.6.1. Гистограмма яркости изображения
11.6.2. Программная схема выполнения преобразований. Графические фильтры
11.6.3. Таблица преобразования
11.6.4. Класс 'Фильтр'
11.6.5. Использование гистограммы яркости для повышения контрастности изображения. Фильтр 'Гистограмма'
11.6.6. Фильтр 'Яркость/Контраст'
11.6.7. Фильтр 'Инверсия цветов'
11.6.8. Фильтр 'Рельеф'
11.6.9. Фильтр 'Размытие'
11.6.10. Фильтр 'Контур'
11.6.11. Фильтр 'Четкость'
11.6.12. Фильтр 'Удаление шума'
11.6.13. Применение фильтров
11.7. Вывод изображений на печать
11.8. Листинг программы
11.9. Заключение

ЧАСТЬ IV. ИСПОЛЬЗОВАНИЕ БИБЛИОТЕКИ GDI+

Глава 12. Технологии .NET и GDI+: новые стандарты, новые возможности
12.1. Краткое знакомство со средой .NET Framework
12.1.1. Общая среда выполнения
12.1.2. Метаданные
12.1.3. Библиотека классов (.NET Framework Class Library)
12.1.4. Первые программы
12.2. Введение в GDI+
12.2.1. Что новенького?
12.2.2. Требования к среде выполнения
12.2.3. Поддержка GDI+ в Windows 95
12.2.4. Поддерживаемые технологии разработки
12.2.5. Иерархия классов GDI+
12.2.6. Инициализация и завершение
12.3. Создаем первые приложения
12.3.1. Используем GDI+ в WINAPI
12.3.2. Типичные трудности при компиляции и сборке проектов на C++
12.3.3. Облегчаем себе жизнь: класс для автоматической инициализации библиотеки
12.3.4. Пример WinForms - приложения с использованием GDI+

Глава 13. Работа с растрами и графическими файлами в GDI+
13.1. Основные понятия
13.2. Класс Bitmap - контейнер растровых изображений
13.2.1. Поддержка основных графических форматов
13.2.2. Загрузка из файлов и потоков (IStream)
13.2.3. Создание растров из ресурсов программы
13.2.4. Более сложные варианты загрузки изображений
13.3. Графические форматы файлов
13.3.1. Лирическое отступление: 4 основных графических формата
13.3.2. Работа со списком кодеков
13.3.3. Сохранение изображений
13.4. Специфические возможности файловых форматов
13.4.1. Сохранение GIF с прозрачностью
13.4.2. Загрузка и сохранение многокадровых файлов
13.4.3. Эскизы изображений
13.4.4. Работа с метаданными изображений
13.5. Использование растров при работе с объектом Graphics
13.5.1. Вывод изображений и геометрические преобразования
13.5.2. Качество изображения
13.5.3. Устранение мерцания
13.5.4. Несколько слов о производительности
13.5.5. Демонстрационные приложения
13.6. Прямая работа с растровыми данными
13.6.1. Класс Color
13.6.2. Прямой доступ к пикселам
13.6.3. Поддержка прозрачности
13.6.4. Растровые операции

Глава 14. Построение векторных изображений средствами GDI+
14.1. Графические объекты
14.1.1. Stateful model в GDI
14.1.2. Stateless model в GDI+
14.1.3. Кисти, краски, перья: и прочий 'мусор'
14.1.4. Разделение методов закраски и отрисовки
14.1.5. Семейство Brush: набор кисточек на любой вкус
14.1.6. К штыку приравняли перо:
14.2. Векторные примитивы
14.2.1. Программа GDI+ Clock
14.2.2. Сплайны
14.2.3. Кривые Безье
14.3. Настройка устройства вывода
14.3.1. Устранение контурных неровностей
14.3.2. Координатные преобразования GDI+
14.3.3. Регионы и траектории
14.4. Метафайлы
14.4.1 Загрузка метафайлов
14.4.2. Воспроизведение
14.4.3. Создание и сохранение нового метафайла
14.4.4. Преобразование в растровое изображение
14.4.5. Изучение команд метафайла
14.4.6. Перечисление записей: специфика .NET

ЧАСТЬ V. НАЗНАЧЕНИЕ ГРАФИЧЕСКИХ БИБЛИОТЕК

Глава 15. Библиотеки OpenGL и DirectX
15.1. Библиотека OpenGL
15.2. Библиотека DirectX
15.3. Пример использования библиотеки OpenGL
15.3.1. Модификация класса облика
15.3.2. Модификация класса документа
15.3.3. Модификация класса приложения
15.4. Заключение

Заключение
Описание содержимого компакт-диска
Список литературы
Интернет-ресурсы
Предметный указатель
    Сообщений 4    Оценка 238 [+2/-0]         Оценить