- •«Национальный исследовательский томский политехнический университет»
- •Введение
- •Способы представления изображений в эвм
- •Растровое представление изображений
- •Параметры растровых изображений
- •Векторное представление изображений
- •Представление изображений с помощью фракталов
- •Геометрические фракталы
- •Алгебраические фракталы
- •Системы итерируемых функций
- •Представление цвета в компьютере
- •Свет и цвет
- •Цветовые модели и пространства
- •Цветовая модель rgb
- •Субтрактивные цветовые модели
- •Модели hsv и hsl
- •Системы управления цветом
- •Графические файловые форматы
- •Растровые алгоритмы
- •Алгоритмы растеризации
- •Растровое представление отрезка. Алгоритм Брезенхейма
- •Растровая развёртка окружности
- •Кривые Безье
- •Закраска области, заданной цветом границы
- •Заполнение многоугольника
- •Методы устранения ступенчатости
- •Метод увеличения частоты выборки
- •Метод, основанный на использовании полутонов
- •Методы обработки изображений
- •Яркость и контраст
- •Масштабирование изображения
- •Преобразование поворота
- •Цифровые фильтры изображений
- •Линейные фильтры
- •Сглаживающие фильтры
- •Контрастоповышающие фильтры
- •Разностные фильтры
- •Нелинейные фильтры
- •Преобразования растровых изображений
- •Векторизация с помощью волнового алгоритма
- •Построение скелета изображения
- •Оптимизация скелета изображения
- •Сегментация изображений
- •Методы, основанные на кластеризации
- •Алгоритм разрастания регионов
- •Компьютерная геометрия
- •Двумерные преобразования
- •Однородные координаты
- •Двумерное вращение вокруг произвольной оси
- •Трехмерные преобразования
- •2. Трехмерное изменение масштаба
- •3. Трехмерный сдвиг
- •4. Трехмерное вращение
- •Проекции
- •Математическое описание плоских геометрических проекций
- •Изображение трехмерных объектов
- •Видимый объем
- •Преобразование видимого объема
- •Представление пространственных форм
- •Полигональные сетки
- •Явное задание многоугольников
- •Задание многоугольников с помощью указателей в список вершин
- •Явное задание ребер
- •Удаление невидимых линий и поверхностей
- •Классификация методов удаления невидимых линий и поверхностей
- •Алгоритм плавающего горизонта
- •Алгоритм Робертса
- •Определение нелицевых граней
- •Удаление невидимых ребер
- •Алгоритм, использующий z–буфер
- •Методы трассировки лучей
- •Алгоритмы, использующие список приоритетов
- •Алгоритм Ньюэла-Ньюэла-Санча для случая многоугольников
- •Алгоритм Варнока (Warnock)
- •Алгоритм Вейлера-Азертона (Weiler-Atherton)
- •Методы закраски
- •Диффузное отражение и рассеянный свет
- •Зеркальное отражение
- •Однотонная закраска полигональной сетки
- •Метод Гуро
- •Метод Фонга
- •Поверхности, пропускающие свет
- •Детализация поверхностей
- •Детализация цветом
- •Детализация фактурой
- •Библиотека OpenGl
- •Особенности использования OpenGl в Windows
- •Основные типы данных
- •Рисование геометрических объектов
- •Работа с буферами и задание цвета объектов
- •Задание графических примитивов
- •Рисование точек, линий и многоугольников
- •Преобразование объектов в пространстве
- •Преобразования в пространстве
- •Получение проекций
- •Задание моделей закрашивания
- •Освещение
- •Полупрозрачность. Использование α-канала
- •Наложение текстуры
- •Аппаратные средства машинной графики
- •Устройства ввода
- •Сканеры
- •Основные характеристики
- •Фирмы-производители
- •Дигитайзеры
- •Принцип действия
- •Основные характеристики
- •Фирмы-производители
- •Цифровые фотокамеры
- •Принцип действия
- •Фирмы-производители
- •Литература
- •Оглавление
- •Отпечатано в Издательстве тпу в полном соответствии с качеством предоставленного оригинал-макета
-
Зеркальное отражение
Зеркальное отражение можно получить от любой блестящей поверхности. Осветите ярким светом яблоко – световой блик на яблоке возникает в результате зеркального отражения, а свет, отраженный от остальной части, появится в результате диффузного отражения. Отметим также, что в том месте, где находится световой блик, яблоко кажется не красным, а скорее белым, т. е. окрашенным в цвет падающего цвета.
Если мы изменим положение головы, то заметим, что световой блик тоже сместится. Это объясняется тем, что блестящие поверхности отражают свет неодинаково по всем направлениям. От идеального зеркала свет отражается только в том направлении, для которого углы падения и отражения совпадают. Это означает, что наблюдатель сможет увидеть зеркально отраженный свет только в том случае, если угол (рис. 6.2.) равен нулю.
Рис. 9.100. Зеркальное отражение
Для неидеальных отражающих поверхностей, таких, как яблоко, интенсивность отраженного света резко падает с ростом . В модели предложенной Фонгом, быстрое убывание интенсивности описывается функцией cosn , где n обычно лежит в диапазоне 1–200, в зависимости от вида поверхности. Для идеального отражателя n бесконечно велико. В основе такой модели лежит эмпирическое наблюдение, а не фундаментальное понимание процесса зеркального отражения.
Количество падающего света, которое зеркально отражается в случае реальных материалов, зависит от угла падения . Обозначим зеркально отражаемую долю света через W(), тогда
Id = Ia ka + [ kd cos + W() cosn ].
Если векторы направления отраженного света и направления к точке зрения и нормированы, то cos = ( ). Часто в качестве W() служит константа ks, которая выбирается таким образом, чтобы получающиеся результаты были приемлемы с эстетической точки зрения. В этом случае уравнение с учетом зеркального отражения можно записать так:
Id = Ia ka + [ kd () + ks ()n].
Для цветного изображения описываются три уравнения: для голубого, пурпурного и желтого цветов:
Idc = Iac kac + [ kdc () + ks ()n];
Idm = Iam kam + [ kdm () + ks ()n];
Idy = Iay kay + [ kdy () + ks ()n].
Если источник света расположен в бесконечности, для заданного многоугольника произведение () является константой, а () меняет значение в многоугольнике.
Кроме эмпирической модели Фонга, для зеркального отражения разработана модель Торрэнса-Спэрроу, которая представляет собой теоретическую обоснованную модель отражающей поверхности. В этой модели предполагается, что поверхность является совокупностью микроскопических граней, каждая из которых – идеальный отражатель. Ориентация любой грани задается функцией распределения вероятностей Гаусса.
-
Однотонная закраска полигональной сетки
Существует три основных способа закраски объектов, заданных полигональными сетками. В порядке возрастания сложности ими являются:
-
однотонная закраска;
-
метод Гуро (основан на интерполяции значений интенсивности);
-
метод Фонга (основан на интерполяции векторов нормали).
В каждом из этих случаев может быть использована любая из моделей закраски, описанная выше.
При однотонной закраске вычисляют один уровень интенсивности, который используется для закраски всего многоугольника. При этом предполагается, что:
-
Источник света расположен в бесконечности, поэтому произведение () постоянно на всей полигональной грани.
-
Наблюдатель находится в бесконечности, поэтому произведение () постоянно на всей полигональной грани.
-
Многоугольник представляет реальную моделируемую поверхность, а не является аппроксимацией криволинейной поверхности. Если какое-либо из первых двух предположений оказывается неприемлемым, можно воспользоваться усредненными значениями и , вычисленными, например, в центре многоугольника.
Последнее предположение в большинстве случаев не выполняется, но оказывает существенно большее влияние на получаемое изображение, чем два других. Влияние состоит в том, что каждая из видимых полигональных граней аппроксимированной поверхности хорошо отличима от других, поскольку интенсивность каждой из этих граней отличается от интенсивности соседних граней. Различие в окраске соседних граней хорошо заметно вследствие эффекта полос Маха.