- •Федеральное агентство по образованию
- •Глава 3. Растровая графика. Базовые растровые алгоритмы 37
- •Глава 4. Векторная графика 77
- •Глава 5. Фрактальная графика 90
- •Глава 6. Цветовые модели компьютерной графики 95
- •Глава 7. Методы и алгоритмы построения сложных трехмерных объектов 128
- •Глава 8. Реалистическое представление сцен 146
- •Глава 9. Архитектуры графических систем 172
- •Глава 10. Стандартизация в компьютерной графике 180
- •Глава 11. Форматы графических файлов 196
- •Глава 12. Технические средства кг (оборудование кг) 214
- •Глава 1. Основные понятия
- •1.1 Разновидности компьютерной графики
- •Полиграфия
- •Мультимедиа
- •Сапр и деловая графика
- •Геоинформационные системы (гис)
- •1.2. Принципы организации графических программ
- •Растровые программы
- •Векторные программы
- •Фрактальные программы
- •Глава 2. Координаты и преобразования
- •2.1 Координатный метод
- •2.1.1. Преобразование координат
- •Простейшие двумерные преобразования
- •Однородные координаты и матричное представление двумерных преобразований
- •Композиция двумерных преобразований
- •Матричное представление трехмерных преобразований
- •Композиция трехмерных преобразований
- •Преобразование объектов
- •Преобразование как изменение систем координат
- •2.1.2 Аффинные преобразования на плоскости
- •2.2 Проекции
- •2.2.1 Мировые и экранные координаты
- •2.2.2 Основные типы проекций
- •При повороте на угол β относительно оси у (ординат), на угол α вокруг оси х (абсцисс) и последующем проектировании осиZ (аппликат) возникает матрица
- •Глава 3. Растровая графика. Базовые растровые алгоритмы
- •3.1 Растровые изображения и их основные характеристики
- •3.2 Вывод изображений на растровые устройства
- •3.3 Методы улучшения растровых изображений
- •3.21. Диагональное расположение ячеек 5x5
- •3.22. Диагональные структуры: а - сдвиг строк ячеек, б - ячейки другого типа
- •3.24. Набор чм-ячеек 5x5
- •3.4. Базовые растровые алгоритмы Алгоритмы вывода прямой линии
- •Инкрементные алгоритмы
- •Кривая Безье
- •Алгоритмы вывода фигур
- •Алгоритмы закрашивания
- •Стиль заполнения
- •3.5 Инструменты растровых графических пакетов
- •Инструменты выделения. Каналы и маски
- •Выделение
- •Инструменты выделения и маскирования
- •Гистограммы
- •Тоновая коррекция изображения
- •Уровни (Levels)
- •Цветовая коррекция и цветовой баланс
- •Фильтры (Plug-ins) и спецэффекты (Effects)
- •3.6 Преимущества и недостатки растровой графики
- •Глава 4. Векторная графика
- •4.1 Средства создания векторных изображений
- •4.2 Сравнение механизмов формирования изображений в растровой и векторной графике
- •4.3 Структура векторной иллюстрации
- •4.4 Математические основы векторной графики
- •4.5. Элементы (объекты) векторной графики
- •4.6. Достоинства и недостатки векторной графики
- •Глава 5. Фрактальная графика
- •5.1 Математика фракталов. Алгоритмы фрактального сжатия изображений
- •5.2 Обзор основных фрактальных программ
- •Глава 6. Цветовые модели компьютерной графики
- •6.1 Элементы цвета
- •6.1.1 Свет и цвет
- •6.1.2 Физическая природа света и цвета
- •6.1.3 Излученный и отраженный свет
- •6.1.4 Яркостная и цветовая информация
- •6.1.5 Цвет и окраска
- •6.2 Характеристики источника света
- •Стандартные источники
- •6.2.2 Особенности восприятия цвета человеком
- •Колбочки и палочки
- •Спектральная чувствительность глаза к яркости
- •Спектральная чувствительность наблюдателя
- •6.3 Цветовой и динамический диапазоны
- •6.4 Типы цветовых моделей
- •6.4.1 Аддитивные цветовые модели
- •Почему rgb-модель нравится компьютеру?
- •Ограничения rgb-модели
- •SRgb — стандартизированный вариант rgb-цветового пространства
- •6.4.2 Субтрактивные цветовые модели
- •Цветовая модель cmy
- •Ограничения модели cmyk
- •Возможности расширения цветового охвата cmyk
- •6.4.3 Перцепционные цветовые модели
- •Достоинства и ограничения hsb-модели
- •6.4.4 Системы соответствия цветов и палитры
- •Системы соответствия цветов
- •Назначение эталона
- •Кодирование цвета. Палитра
- •Глава 7. Методы и алгоритмы построения сложных трехмерных объектов
- •7.1 Модели описания поверхностей
- •7.1.1. Аналитическая модель
- •7.1.2 Векторная полигональная модель
- •7.1.3 Воксельная модель
- •7.1.4 Равномерная сетка
- •7.1.5 Неравномерная сетка. Изолинии
- •7.2. Визуализация трехмерных объектов
- •7.2.1 Каркасная визуализация
- •7.2.2 Показ с удалением невидимых точек
- •Глава 8. Реалистическое представление сцен
- •8.1 Закрашивание поверхностей
- •8.1.1 Модели отражения света
- •8.1.2 Вычисление нормалей и углов отражения
- •8.2 Метод Гуро
- •8.3 Метод Фонга
- •8.4. Имитация микрорельефа
- •8.5 Трассировка лучей
- •8.6 Анимация
- •Глава 9. Архитектуры графических систем
- •9.1 Суперстанции
- •9.2 Компоненты растровых дисплейных систем
- •9.3 Подходы к проектированию графических систем
- •9.4 Графические системы на базе сопроцессора i82786
- •9.5 Графические системы из набора сверх больших интегральных схем (сбис)
- •9.6 Растровый графический процессор dp-8500
- •9.7 Графические системы на универсальном процессоре
- •9.8 Высокоскоростные графические системы
- •9.9 Рабочие (супер)станции с использованием универсального вычислителя
- •Глава 10. Стандартизация в компьютерной графике
- •10.2 Международная деятельность по стандартизации в машинной графике
- •Деятельность iso, iec по стандартизации в машинной графике
- •10.3 Классификация стандартов
- •10.4 Графические протоколы
- •10.4.1 Аппаратно-зависимые графические протоколы
- •Протокол tektronix
- •Протокол regis
- •Протокол hp-gl
- •10.4.2 Языки описания страниц
- •Язык PostScript
- •Язык pcl
- •10.4.3 Аппаратно-независимые графические протоколы
- •10.4.4 Проблемно-ориентированные протоколы
- •Глава 11. Форматы графических файлов
- •11.1 Векторные форматы
- •11.2 Растровые форматы
- •11.3 Методы сжатия графических данных
- •11.4 Преобразование файлов из одного формата в другой
- •Преобразование файлов из растрового формата в векторный
- •Преобразование файлов одного векторного формата в другой
- •Глава 12. Технические средства кг (оборудование кг)
- •12.1 Видеоадаптеры
- •12.2 Манипуляторы
- •Дигитайзер
- •12.3 Оборудование мультимедиа
- •12.4 Мониторы
- •Характеристики мониторов
- •Аналоговые мониторы
- •Жидкокристаллические дисплеи
- •Газоплазменные мониторы
- •Видеокарта
- •Функции графического ускорителя
- •Выбор видеокарты под монитор
- •12.5 Видеобластеры
- •12.6 Периферия
- •12.6.1 Принтеры
- •12.6.2 Имиджсеттеры
- •12.6.3 Плоттеры
- •12.7 Модемы
- •12.8 Звуковые карты
- •12.9 Сканеры
- •Планшетные сканеры
- •12.10 Секреты графических планшетов (дигитайзеров)
- •Достоинства и недостатки графических планшетов
- •12.11 Цифровые фотоаппараты и фотокамеры
- •Литература
2.1.2 Аффинные преобразования на плоскости
Это частный случай преобразований, который достаточно часто используется при создании графических пакетов.
Зададим некоторую двумерную систему координат (x,у). Аффинное преобразование на плоскости описывается формулами
где А, В,..., F— константы. Значение(X, Y) можно рассматривать как координаты в новой системе координат.
Обратное преобразование (X, Y) в (х, у) также является аффинным:
Аффинное преобразование удобно записывать в матричном виде. Константы А, В..... F образуют матрицу преобразования, которая, будучи умноженной на матрицу-столбец координат (x,у), дает матрицу-столбец (X, Y). Однако, чтобы учесть константы С иF, необходимо перейти к так называемымоднородным координатам — прибавим еще одну строку в матрицах координат:
Теперь рассмотрим частные случаи аффинного преобразования.
Параллельный сдвиг координат (рис. 2. 9).
Рис. 2.9. Параллельный сдвиг координат
В матричной форме
Обратное преобразование:
Растяжение-сжатие осей координат (рис. 2. 10).
Рис. 2.10. Растяжение-сжатие осей координат
Обратное преобразование:
Коэффициенты kxиkyмогут быть отрицательными. Например,kx = -1 соответствует зеркальному отражению относительно осиy.
Поворот (рис. 2. 11).
Рис.2.11. Поворот
Обратное преобразование соответствует повороту системы (X, Y) на угол (-α).
Свойства аффинного преобразования.
• Любое аффинное преобразование может быть представлено как последовательность операций из числа указанных простейших: сдвиг, растяжение/сжатие и поворот.
• Сохраняются прямизна линии, параллельность прямых, отношение длин отрезков, лежащих на одной прямой, и соотношение площадей фигур.
Трехмерное аффинное преобразование
Запишем в виде формулы:
гдеА, В,..., Ν— константы.
Дадим также запись в матричной форме:
Для трехмерного пространства любое аффинное преобразование также может быть представлено последовательностью простейших операций. Рассмотрим их.
1. Сдвиг осей координат соответственно на dx, dy, dz:
2. Растяжение/сжатие накx, кy, кz.
3. Повороты. Можно сказать, что в трехмерном пространстве существует больше разновидностей поворота, сравнительно с двумерным пространством. Рассмотрим несколько частных случаев поворота.
Поворот вокруг оси x на уголφ (рис. 2. 12).
Рис. 2.12. Поворот вокруг оси X
Поворот вокруг осиу на уголψ (рис. 2. 13, сверху).
Поворот вокруг осиzна уголγ (рис. 2. 13, снизу).
Рис. 2.13. Поворот вокруг осей y и z
2.2 Проекции
При использовании любых графических устройств обычно используют проекции. Проекция задает способ отображения объектов на графическом устройстве. Мы будем рассматривать только проекции на плоскость.
Проецирование - отображение точек, заданных в системе координат с размерностью N, в точки в системе меньшей размерности.
Проекторы (проецирующие лучи) - отрезки прямых, идущие из центра проекции через каждую точку объекта до пересечения с плоскостью проекции (картинной плоскостью).
2.2.1 Мировые и экранные координаты
При отображении пространственных объектов на экране или на листе бумаги с помощью принтера необходимо знать координаты объектов. Мы рассмотрим две системы координат. Первая — мировые координаты, которые описывают истинное положение объектов в пространстве с заданной точностью. Вторая — система координат устройства отображения, в котором осуществляется вывод изображения объектов в заданной проекции. Назовем систему координат графического устройстваэкранными координатами (хотя это устройство и не обязательно должно быть подобно монитору компьютера).
Пусть мировые координаты будут трехмерными прямоугольными координатами. Где должен размещаться центр координат, и какими будут единицы измерения вдоль каждой оси, для нас сейчас не очень важно. Важно то, что для отображения мы будем знать любые числовые значения координат отображаемых объектов.
Для получения изображения в определенной проекции необходимо вычислить координаты проекции. Для синтеза изображения на плоскости экрана или бумаге используем двумерную систему координат. Основная задача — задать преобразования координат из мировых в экранные.