Главная » 2014 » Сентябрь » 23 » Методы и алгоритмы компьютерной графики в примерах на Visual C++
11:43
Методы и алгоритмы компьютерной графики в примерах на Visual C++
Методы и алгоритмы компьютерной графики в примерах на Visual C++ - В книге представлен курс компьютерной графики. Основное внимание уделяется вопросам прикладного программирования с использованием языка Visual C++ и библиотеки MFC. Рассмотрены математические основы компьютерной графики: преобразования на плоскости и в трехмерном пространстве, методы построения кривых и поверхностей, которые могут быть использованы для визуализации результатов научных расчетов. Значительный раздел книги посвящен работе с растровой графикой. Описывается формат BMP, функции сохранения и загрузки растровых изображений. Обсуждается создание и применение графических фильтров для обработки изображений. Отдельно рассматривается назначение библиотек OpenGL и DirectX, приводится пример использования OpenGL для визуализации трехмерной сцены. Весь изложенный материал иллюстрируется программами, написанными с использованием объектно-ориентированного стиля.
Название: Методы и алгоритмы компьютерной графики в примерах на Visual C++ Автор: Алексей Поляков Издательство: БХВ-Петербург Год: 2002 Страниц: 409 Формат: PDF Размер: 8,73 МБ ISBN: 5-94157-136-4 Качество: Отличное Серия или Выпуск: Мастер Язык: Русский
Содержание:
Предисловие На кого рассчитана эта книга Структура книги Обратная связь Благодарности Часть 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. Реализация функций рисования примитивов Создание базового класса иерархии фигур Создание производных классов иерархии фигур Модификация класса документа CPainterDoc Включение в меню команд добавления фигур 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.4. Рисование фигур произвольных размеров 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 6.12. Заключение Глава 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.7. Вывод изображений на печать 11.8. Листинг программы 11.9. Заключение Часть IV. Назначение графических библиотек Глава 12. Библиотеки OpenGL и DirectX 12.1. Библиотека OpenGL 12.2. Библиотека DirectX 12.3. Пример использования библиотеки OpenGL 12.3.1. Модификация класса облика 12.3.2. Модификация класса документа 12.3.3. Модификация класса приложения 12.4. Заключение Заключение Часть V. Приложение Приложение. Описание содержимого компакт-диска Список литературы Интернет-ресурсы Предметный указатель