
- •Введение
- •Глава 7. Стандартизация в компьютерной графике 189
- •Глава 8. Форматы графических файлов 216
- •Глава 9. Технические средства кг (оборудование кг) 265
- •Г л а в а 1. Основные понятия
- •Разновидности компьютерной графики
- •1.2. Принципы организации графических программ
- •Г л а в а 2. Растровая графика. Базовые растровые алгоритмы
- •2.1. Растровые изображения и их основные характеристики
- •Разрешающая способность в зависимости от расстояния
- •2.2. Вывод изображений на растровые устройства
- •2.3. Методы улучшения растровых изображений
- •2.21. Диагональное расположение ячеек 5x5
- •2.4. Базовые растровые алгоритмы
- •Характеристики шейдерных возможностей видеоадаптеров
- •2.5. Инструменты растровых графических пакетов
- •2.6. Преимущества и недостатки растровой графики
- •Г л а в а 3. Ве кторная графика
- •3.1. Средства создания векторных изображений
- •3.2. Сравнение механизмов формирования изображений в растровой и векторной графике
- •3.3. Структура векторной иллюстрации
- •3.4. Математические основы векторной графики
- •3.5. Элементы (объекты) векторной графики
- •3.6. Достоинства и недостатки векторной графики
- •Г л а в а 4. Фрактальная графика
- •4.1. Математика фракталов. Алгоритмы фрактального сжатия изображений
- •4.2 Обзор основных фрактальных программ
- •Г л а в а 5. Цветовые модели компьютерной графики
- •5.1. Элементы цвета
- •5.1.1 Свет и цвет
- •5.1.2. Физическая природа света и цвета
- •5.1.3. Излученный и отраженный свет
- •5.1.4. Яркостная и цветовая информация
- •5.1.5. Цвет и окраска
- •5.2. Характеристики источника света
- •5.2.1. Стандартные источники
- •5.2.2 Особенности восприятия цвета человеком
- •5.3. Цветовой и динамический диапазоны
- •5.4. Типы цветовых моделей
- •5.4.1. Аддитивные цветовые модели
- •5.4.2. Субтрактивные цветовые модели
- •5.4.3. Перцепционные цветовые модели
- •5.4.4. Системы соответствия цветов и палитры
- •5.4.5. Триадные и плашечные цвета
- •5.4.6. Цветовые режимы
- •Г л а в а 6. Реалистическое представление сцен
- •6.1 Закрашивание поверхностей
- •6.1.1. Модели отражения света
- •6.1.2. Вычисление нормалей и углов отражения
- •6.2 Метод Гуро
- •6.3 Метод Фонга
- •6.4. Имитация микрорельефа
- •6.6. Пример имитации микрорельефа методом dot3 Bump Mapping
- •6.5 Трассировка лучей
- •6.6 Анимация
- •Глава 7. Стандартизация в компьютерной графике
- •7.2 Международная деятельность по стандартизации в машинной графике
- •7.3 Классификация стандартов
- •7.4 Графические протоколы
- •7.4.1 Аппаратно-зависимые графические протоколы
- •7.4.2 Языки описания страниц
- •7.4.3 Аппаратно-независимые графические протоколы
- •7.4.4 Проблемно-ориентированные протоколы
- •7.4.5 Растровые графические файлы
- •Глава 8. Форматы графических файлов
- •8.1 Векторные форматы
- •8.2 Растровые форматы
- •8.3 Методы сжатия графических данных
- •8.5. Форматы мультимедиа
- •8.6. Преобразование файлов из одного формата в другой
- •Глава 9. Технические средства кг (оборудование кг)
- •9.1 Видеоадаптеры
- •9.2 Манипуляторы
- •9.3 Оборудование мультимедиа
- •9.4 Мониторы
- •9.5 Видеобластеры
- •9.6 Периферия
- •9.6.1 Принтеры
- •9.6.2 Имиджсеттеры
- •9.6.3 Плоттеры
- •9.7 Модемы
- •9.8 Звуковые карты
- •9.9 Сканеры
- •Планшетные сканеры
- •9.10. Цифровые фотоаппараты и фотокамеры
- •Литература
6.2 Метод Гуро
Этот метод предназначен для создания иллюзии гладкой криволинейной поверхности, которая описана в виде многогранников или полигональной сетки с плоскими гранями. Если каждая плоская грань имеет один постоянный цвет, который определен в соответствии с учетом отражения, то разные цвета соседних граней очень заметны, и поверхность выглядит именно как многогранник. Казалось, этот дефект можно замаскировать за счет увеличения количества граней при аппроксимации поверхности. Но зрение человека имеет способность подчеркивать перепады яркости на границах смежных граней - такой эффект называется эффектом полос Маха. Вследствие этого, для создания иллюзии гладкости нужно намного увеличить количество граней, что приводит к существенному замедлению визуализации - чем больше граней, тем меньше скорость рисования объектов.
Метод Гуро основан на идее закрашивания каждой плоской грани не одним цветом, а плавно изменяющимися оттенками, которые вычисляются путем интерполяции цветов прилегающих граней. Закрашивание граней по методу Гуро осуществляется в четыре этапа.
Вычисляются нормали к каждой грани.
Определяются нормали в вершинах. Нормаль в вершине определяется усреднением нормалей прилегающих граней (рис. 6.4).
Рис. 6.4. Нормаль в вершине a
На основе нормалей в вершинах вычисляются значения интенсивностей в вершинах в соответствии с выбранной моделью отражения света. Закрашиваются полигоны граней цветом, который соответствует линейной интерполяции значений интенсивности в вершинах.
Вектор нормали в вершине (а) равняется
Определение интерполированных значений интенсивности отраженного света в каждой точке грани (и, следовательно, цвет каждого пиксела) удобно выполнять во время цикла заполнения полигона. Рассмотрим заполнение контура грани горизонталями в экранных координатах (рис. 6.5).
Рис. 6.5. Заполнение полигона грани
Интерполированная интенсивность I в точке (X, У) определяется, исходя из пропорции
откуда
I =
I1
+
Значение интенсивности I1 и I2 на концах горизонтального отрезка вычислим путем интерполяции интенсивности в вершинах:
,
или:
I1
= Ib
+
I2
= Ib
+
6.3 Метод Фонга
Аналогичен методу Гуро, но при использовании метода Фонга для определения цвета в каждой точке интерполируются не интенсивности отраженного света, а векторы нормалей.
Определяются нормали к граням.
По нормалям к граням определяются нормали в вершинах. В каждой точке закрашиваемой грани определяется интерполированный вектор нормали.
Цвет каждой точки грани вычисляется в соответствии с направлением интерполированного вектора нормали и согласно выбранной модели отражения света.
Метод Фонга сложнее метода Гуро. Для каждой точки (пиксела) поверхности необходимо выполнять намного больше вычислительных операций. Тем не менее, он дает значительно лучшие результаты, в особенности при имитации зеркальных поверхностей.
6.4. Имитация микрорельефа
Пусть нам необходимо показать поверхность, изобилующую мелкими неровностями. Можно попытаться создать полигональную модель, аппроксимирующую все видимые детали рельефа, вплоть до мельчайших бугорков, ямок, трещин и т. п. Однако это может потребовать такого количества треугольников, которое не в состоянии поддержать компьютерная система.
Для визуализации таких поверхностей часто используется следующий метод. Общие очертания поверхности моделируются полигонами, а имитация мелких деталей рельефа производится с помощью текстур.
Рассмотрим один из популярных в настоящее время методов рельефного текстурирования - DOT3. Согласно этому методу, каждый тексел текстуры хранит координаты вектора нормали для соответствующей точки поверхности (рис. 6.6).
Почему
лучше использовать карту нормалей, а
не само изображение в виде текстуры?
Потому что, это дает возможность создавать
иллюзию игры света и тени при смене
ракурса показа
и возможном движении источников света,
и даже при деформациях поверхности.
Обычная
текстура это обеспечить не в состоянии
- она представляет изображение, сделанное
только для одного ракурса показа и
фиксированного положения источников
света.