
- •Глава 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
- •Фрактальное сжатие изображений
12.5. Алгоритм разбиения области
Алгоритм разбиения области относится к алгоритмам, работающим в пространстве изображения.
В основе лежит гипотеза о способе обработки информации глазом и мозгом. Области, более насыщенные информацией, дольше приковывают к себе взгляд.
Широко используется когерентность (однородность смежных областей), которая позволяет снизить трудоемкость алгоритмов, работающих в пространстве изображения.
Основной принцип алгоритма: оласть разбивается на части, и в каждом части решается вопрос о том, достаточно ли она проста для визуализации; если это не так, то часть разбивается дальше до тех пор, пока не станет простым или ее размер не достигнет размера пиксела.
Обычно достаточно около 10 разбиений.
Конкретная реализация алгоритма зависит от метода разбиения и критерия определения простоты изображения в части.
Вариант 1:
Область разбивается последовательно на четыре равные прямоугольные части (рис.12.6). Критерий простоты — объекты не попадают в область.
Рис. 12.6 Разбиение области
Первоначальное разбиение делит область на 4 части, не удовлетворяющие критерию простоты (в каждую часть попадают объекты). Поэтому необходимо деление дальше (на примере показано деление нижней левой четверти). Из вновь полученных новых четырех частей нижняя левая удовлетворяет критерию простоты. Далее она не рассматривается. А оставшиеся три делятся еще.
Вариант 2:
Существует четыре способа расположения объекта по отношению к части (рис. 12.7).
а б в г
Рис. 12.7 Способы расположения объекта по отношению к части
а – охватывающий, б – внутренний, в – пересекающий, г – внешний.
Область разбивается последовательно на четыре равные прямоугольные части. Критерий простоты — одна из четырех ситуаций:
Не один многоугольник не пересекает область. Цвет части равен цвету фона.
Есть один внутренний или пересекающий многоугольник. Цвет части складывается из двух цветов - цвета фона и цвета многоугольник
Есть один охватывающий многоугольник. Цвет части равен цвету этого многоугольника.
Есть несколько внутренних, пересекающих многоугольников и, как минимум, один охватывающий, расположенный ближе всех. Цвет части равен цвету охватывающего многоугольника.
Результат разбиения представлен на рис. 12.8.
Рис. 12.8 Разбиение области
Части, не требующие дальнейшего деления, помечены номером, соответствующим номеру ситуации критерия простоты. Разбиений становится меньше, но расчетов больше.
Вариант 3: область разбивается относительно вершин многоугольника (рис. 12.9).
Рис. 12.9 Разбиение области
В этом случае разбиений становится меньше, хотя и сами они реализуются медленнее.
Можно заметить, что трудоемкость алгоритмов по-разному зависит от количества примитивов. Так, алгоритм сортировки по глубине, работающий в объектном пространстве, становится медленным в сложных сценах. Его удобнее использовать в случае работы с небольшим количеством примитивов. Алгоритмы, работающие же в пространстве изображения, меньше зависят от количества объектов в сцене (их трудоемкость – ). Уменьшить время работы алгоритмов еще позволяет использование принципа когерентности.