
- •Глава 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
- •Фрактальное сжатие изображений
9.3. Моделирование деформации трехмерных полигональных поверхностей в режиме реального времени
Деформация (или морфинг) трехмерных объектов – это область компьютерной графики, в которой решаются задачи преобразования геометрических характеристик объектов. В качестве примеров задач из этой области можно назвать:
«превращение» трехмерных объектов друг в друга;
анимация — построение промежуточных модификаций объекта (морфопоследовательности) по двум крайним (каждая модификация может отличаться как пространственным положением, так и формой);
произвольная деформация объекта с целью получения новых геометрических форм;
моделирование неупругого взаимодействия физических тел и т.д.
Конкретный алгоритм, по которому осуществляется деформация, зависит от способа задания объекта.
К настоящему времени разработано большое количество методов трехмерной деформации, отличающихся которые отличаются по способу задания деформируемых объектов, степени физической достоверности моделируемого изменения формы, по производительности или по скорости работы. Как правило, деформация тел на основе физических законов требует больших вычислительных затрат, чем свободная деформация, то есть рассчитываемая без учета физических свойств объекта и влияния других тел.
Рассмотрим некоторые из методов трехмерной деформации.
Метод деформации на основе использования неявного задания поверхности объекта
Данный метод деформации использует так называемое неявное задание поверхности объекта. В основе метода лежит моделирование физического тела как набора связанных частиц и ассоциированной с ними неявной поверхности. На частицы могут действовать силы притяжения и отталкивания, а также силы жидкого трения.
Каждая частица является источником поля, напряженность которого убывает по мере удаления от частицы и стремится к нулю. Поверхность тела задается множеством точек Рi.
Этот метод позволяет моделировать изменение объема при столкновении, сложнейшие эффекты взаимодействия аморфных тел с поверхностями (протекание сквозь отверстие, растекание по поверхности) и между собой. Однако вычислительные затраты при применении указанныго метода чрезвычайно высоки.
Метод деформации плоских протяженных объектов
При моделировании деформации плоских протяженных объектов (одежды, поверхности человеческого лица) часто используется классический способ представления трехмерной поверхности в виде связанных треугольных граней. Для расчета используются такие физические характеристики тела, как модуль Юнга, коэффициент Пуассона, плотность и толщина материала. Деформация происходит под действием внешних сил и внутренних напряжений в материале. В данном методе элементарный треугольник рассматривается как жесткий элемент, на который действуют силы кручения и поступательные силы. На их основе вычисляются векторы сил, действующих на все вершины объекта, затем уравнения движения каждой из них интегрируются и вычисляются их новые координаты. При этом деформация под воздействием силы F, меньшей, чем некоторый порог F0, считается упругой и подчиняющейся закону Гука
F(t)=k(x(l)-x(0)),
если F>F0, то деформация считается неупругой.
Указанный метод весьма трудоемок, однако вместе с алгоритмом отслеживания столкновения дает впечатляющие по своей реалистичности результаты при анимации одежды на движущемся человеке, флага на ветру, ряби на поверхности воды.