
- •Глава 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.20 Схема анесение стохастического узора на поверхность
Кусок поверхности разбивается на фрагменты. Для того, чтобы фрагмент покрывал центр только одного пиксела, надо 4 разбиения. В ПИ этот фрагмент имеет прямоугольную форму. Пределы изменения и в ОП:
С
помощью функции обратного отображения
из ОП
в ФП
:
,
получим координаты углов фрагмента в ФП:
,
,
,
,
,
,
, ,
В
ФП это квадрат. На растре 64
64
часть1/16 соответствует 4 пикселам.
Интенсивность пиксела в ПИ определяется
путем усреднения интенсивностей пикселей
в соответствующей части ФП. Кусок
фрагмента 4
4
пиксела содержит 7 черных пикселей,
поэтому в ПИ интенсивность равна
.
Недостатком метода является поточечная выборка, которая приводит к сильному лестничному эффекту.
Нанесение стохастического узора на аппроксимированную поверхность тора (рис. 13.21) может быть выполнено по-разному. Рисунок, заданный на растре, может полностью наносится на каждую грань без учета ее размеров, а может определяться часть узора для некоторого полигонального многоугольника.
Рис. 13.21 Пример нанесения стохастического узора на поверхность
Если же добавить освещение объекта по рассмотренной ранее модели расчета интесивности света, то можно получить достаточно реалистичные изображения (рис. 13.22). На первом рисунке (а) показан шар, освещенный рассеянным светом, на втором (б) – с рассеянным светом и наложенным стохастическим рисунком, на третьем (в) – с рассеянным светом, зеркальным и диффузным отражением, на четвертом (г) - с рассеянным светом, зеркальным, диффузным отражением и наложенным стохастическим рисунком.
а б
в г
Рис. 13.22 Пример закраски а) с рассеянным светом ; б) с текстурированием и рассеянным светом; в) с диффузным, зеркальным отражением и рассеянным светом; г) с текстурированием, диффузным, зеркальным отражением и рассеянным светом
В качестве еще одного примера закраски ниже рассмотрен тор (рис. 13.23). На первом рисунке (а) на поверхность тора нанесен рисунок, на втором (б)– добавлено диффузное отражение, на третьем (в) – добавлено зеркальное отражение.
а) б) в)
Рис. 13.23. Пример закраски а) с рассеянным светом; б) с диффузным отражением и рассеянным светом; в) с диффузным, зеркальным отражением и рассеянным светом