
- •Глава 9. Описание и характеристика поверхностей 3
- •Глава 14. Трассировка лучей 82
- •Глава 15. Цвет в компьютерной графике 90
- •Глава 16. Сжатие графических изображений 96
- •Глава 9. Описание и характеристика поверхностей
- •9.1. Описание поверхностей
- •Параметрическое описание
- •Описание неявными функциями
- •Поточечное описание
- •Фрактальное описание
- •9.2. Характеристики поверхностей
- •Поверхности 1-го порядка
- •Поверхности 2-го порядка
- •Фрактальные поверхности
- •9.3. Моделирование деформации трехмерных полигональных поверхностей в режиме реального времени
- •Метод деформации на основе использования неявного задания поверхности объекта
- •Метод деформации плоских протяженных объектов
- •Метод деформации тела, заданного полигональной сеткой
- •9.4. Триангуляция поверхностей
- •Уровень детализации (lod)
- •Глава 10. Получение реалистичных изображений
- •10.1. Методы создания реалистических изображений
- •Перспективные проекции
- •Передача глубины яркостью
- •10.2. Перспективные изображения
- •Глава 11. Проецирование
- •11.1. Основные виды проекций
- •Параллельные проекции
- •Центральные проекции
- •11.2. Математическое описание прямоугольных проекций
- •11.3. Математическое описание косоугольных проекций
- •11.4. Математическое описание перспективной проекции
- •11.5. Задание произвольных проекций. Видовое преобразование.
- •Глава 12. Алгоритмы удаления скрытых линий и поверхностей
- •12.1. Общие сведения об удалении скрытых линий и поверхностей
- •12.2. Алгоритм сортировки по глубине (оп)
- •12.3. Алгоритм, использующий z-буфер (пи)
- •12.4. Алгоритм построчного сканирования (пи)
- •12.5. Алгоритм разбиения области
- •12.6. Алгоритм плавающего горизонта
- •12.8. Алгоритм трассировки лучей
- •12.9. Иерархический z—буфер (смешанный тип)
- •Глава 13. Свет в компьютерной графике
- •13.1. Общие сведения о свете.
- •13.2. Модель освещения.
- •Свойства объектов
- •Отражение диффузное
- •Зеркальное отражение
- •Пропускание света (прозрачность)
- •13.3. Закраска полигональных сеток
- •Однотонная закраска
- •Интерполяция интенсивностей (метод Гуро)
- •Интерполяция векторов нормали (метод Фонга)
- •13.4. Тени
- •Источник света в бесконечности
- •Локальный источник
- •13.5. Фактура. Нанесение узора.
- •Нанесение узора на поверхность. Регулярная текстура.
- •Нанесение узора на поверхность. Стохастическая текстура.
- •13.6. Создание неровностей на поверхности.
- •Использование карт высот
- •Метод возмущения нормали
- •Использование фрактальных поверхностей
- •13.7. Фильтрация текстур
- •13.8. Полутоновые изображения
- •Глава 14. Трассировка лучей
- •14.1 Метод прямой трассировки
- •14.2 Метод обратной трассировки
- •Глава 15. Цвет в компьютерной графике
- •15.1. Ахроматический и хроматический цвета
- •15.2. Цветовые модели
- •Системы смешивания основных цветов
- •Цветовая модель hsv
- •Модель hls
- •Цилиндрическая цветовая модель
- •Глава 16. Сжатие графических изображений
- •16.1. Графические форматы
- •16.2. Основные сведения о сжатии изображений
- •16.3. Алгоритмы сжатия файлов без потерь
- •Алгоритм Хаффмана
- •Алгоритм Лемпеля—Зива (lzw)
- •Алгоритм rle (Run Length Encoding)
- •Обрезание хвостов
- •16.4. Сжатие с потерями цветных и полутоновых файлов
- •Сжатие изображения по стандарту jpeg
- •Новый стандарт jpeg 2000
- •Фрактальное сжатие изображений
Пропускание света (прозрачность)
Поверхности могут направленно и диффузно пропускать свет. Направленное пропускание света происходит сквозь прозрачные вещества (стекло). Через них хорошо видны предметы, несмотря на то, что лучи света, как правило, преломляются, то есть отклоняются от первоначального направления. Диффузное пропускание света происходит сквозь просвечивающиеся материалы (замерзшее стекло), в которых поверхностные неоднородности приводят к беспорядочному перемешиванию световых лучей. Поэтому очертания предмета, рассмотренного через такие материалы, размыты.
При переходе из одной среды в другую световой луч преломляется (торчащая из воды палка кажется согнутой) (рис. 13.9). Преломление рассчитывается по закону Снеллиуса: падающий и преломляющий лучи лежат в одной плоскости, а углы падения и преломления определяются по формуле:
,
где
-
показатели преломления двух сред.
Рис. 13.9 Преломление лучей
Моделирование пропускания света осуществляется несколькими способами. В простейшем из них преломление не учитывается совсем, и световые лучи пересекают поверхность без изменения направления. Таким образом все, что видимо на луче зрения при его прохождении через прозрачную поверхность, геометрически также принадлежит этому лучу. При наличии преломления геометрический и оптический лучи зрения не совпадают (рис. 13.10). Без учета преломления виден предмет В, с преломлением – предмет А. На первый взгляд достаточно знать угловые соотношения в точках пересечения луча с объектом. Но это не так, так как длина пути луча в объекте тоже меняется, поэтому не совпадают точки выхода луча из объекта, и меняется количество поглощенного объектом света. Вследствие этого исходящий луч имеет другую интенсивность.
Рис. 13.10 Пропускание света с преломлением и без преломления
Простое пропускание света можно встроить в любой алгоритм удаления невидимых поверхностей, кроме z – буфера, так как поверхности в нем обрабатываются в произвольном порядке. Если используется алгоритм построчного сканирования и передний многоугольник оказывается прозрачным, определяется ближайший из других многоугольников, внутри которых находится сканирующая строка. Уровень закраски определяется как взвешенная сумма уровней, вычисленных для каждого из двух многоугольников:
,
где
— интенсивность
видимой поверхности,
— интенсивность
поверхности за видимой,
— коэффициент
прозрачности первой поверхности (если
,
первая поверхность полностью прозрачна,
если
,
поверхность
полностью непрозрачна).
Если вторая поверхность тоже прозрачна, то алгоритм применяется рекуррентно, пока не встретится непрозрачная поверхность или фон.
При расчете общей интенсивности обычно используется направленный пропущенный свет, поскольку учет диффузного пропускания вызывает много сложностей. Поэтому моделируются только прозрачные вещества.
Общий вид модели освещения:
,
-
рассеяный свет,
-
диффузный свет,
- зеркальность,
- прозрачность
где а – рассеянный свет, d – диффузноотраженный свет, s - зеркальноотраженный свет, t – пропущенный свет.
На рис. 13.11 показаны результаты освещения. На первом рисунке (а) тор закрашен с учетом рассеянного света, на втором (б) – диффузного отражения и рассеянного света, на третьем (в) показано зеркальное отражение, а на четвертом (г) – все три составляющие вместе.
а) б) в) г)
Рис. 13.11 Результаты освещения с разными составляющими отражения