
- •Cовременный подход к конструированию (cad/cam/cae/pdm)
- •Технологии cad/cam/cae
- •2. Технологии моделирования в mcad-системах
- •Технологии описания 3d-геометрии
- •Моделирование на основе истории построений
- •Моделирование без истории построений
- •То, что вы видите, не всегда есть то, что вы получаете ...
- •4. Параметрическое и ассоциативное конструирование Способы создания параметризованной геометрической модели
- •Параметрическое конструирование с полным набором связей или “жесткая” параметризация (Parametric Design)
- •Параметрическое конструирование с неполным набором связей или “мягкая” параметризация (Variational Design)
- •Ассоциативное конструирование (Associative Design)
- •Ассоциативная геометрия (Associative Geometry)
- •Объектно-ориентированное конструирование (Feature-Based Modeling)
- •5. Состав и инструменты системы геометрического моделирования (сгм)
- •Геометрическое моделирование
- •Параметрическое и объектно-ориентированное моделирование
- •Сборочное конструирование
- •Анализ свойств модели
- •Создание и оформление чертежей
- •6. Методы создания реалистичных трехмерных изображений
- •Методы представления отношений по глубине
- •Параллельные проекции
- •Перспективные проекции
- •Уровни реалистичности изображений
- •7. Алгоритмы удаления скрытых линий и поверхностей
- •Упрощение сравнения по глубине. Перспективное преобразование.
- •Исключение сравнения по глубине с помощью оболочек
- •Алгоритм сортировки по глубине
- •Алгоритм, использующий z-буфер
- •Алгоритм построчного сканирования
- •Эффективность алгоритмов
- •8. Модели расчета освещенности граней в пространстве
- •Диффузное отражение и рассеянный свет
- •Зеркальное отражение
- •9. Закраска полигональной сетки
- •Однотонная закраска
- •Интерполяция значений интенсивности (метод Гуро)
- •Интерполяция вектора нормали (метод Фонга)
- •Расчет теневых участков
- •Поверхности, пропускающие свет
- •Направленное пропускание света
- •Моделирование пропускания света без преломления
- •Идея алгоритма трассировки лучей
- •Детализация поверхности
- •10. Цвет в компьютерной графике
- •Ахроматический цвет
- •Аппроксимация полутонами
- •Хроматический цвет
- •Физика и физиология цвета
- •Цветовой график мко
- •Цветовые модели для растровой графики
- •Модели rgb (Red, Green, Blue) и cmy (Cyan, Magenta, Yellow)
- •Цветовая модель yiq (ntsc)
- •Цветовая модель yuv (pal)
- •Цветовая модель hsv
- •Цветовая модель hls
- •Цветовая модель l*a*b
Исключение сравнения по глубине с помощью оболочек
Ч
тобы
избежать ненужных сравнений между
объектами, используются экранные
оболочки для исключения лишних отсечений.
Принятие решения основано на том, что если оболочки проекци не пересекаются, то не надо проверять, перекрываются ли ребра одного многоугольника с ребрами другого многоугольника.
На практике же требуется выполнять более подробный анализ, так как оболочки могут пересекаться, а многоугольники – нет.
Можно также использовать пространственные (3D) оболочки, окружающие пространственные объекты.
Можно использовать одномерные оболочки для указания границ в пределах одного измерения, например, чтобы выяснить, перекрываются ли два многоугольника в напрвлении Z.
Перекрытие
по оси Z отсутствует, если
или
.
Во всех этих случаях самым сложным является определить саму оболочку.
Алгоритм сортировки по глубине
В этом алгоритме применяется подход, состоящий из трех шагов:
Упрорядочение всех многоугольников по их наибольшим z-координатам.
Разрешение всех неопределенностей при перекрытии z-оболочек.
Преобразование каждого многоугольника в растровую форму в порядке уменьшения их наибольшей Z-координаты.
Шаг 1. Упорядочение многоугольников.
Основная идея алгоритма – упрорядочить многоугольники в соответствии с их удаленностью от точки зрения и их размещение в буфере регенерации в порядке убывания расстояния. Ближайшие многоугольники преобразуются в растровую форму последними и закрывают более удаленные многоугольники, так как записываются в буфер регенерации поверх старых. При разложении каждого многоугольника в растр, значения его пикселей вычисляются с использованием одного из правил тоновой (цветовой) закраски.
Шаг 2. Разрешение неопределенностей.
Случаи, при которых перекрываются оболочки многоугольников:
Обозначим через P многоугольник, находящийся в конце упорядоченного списка многоугольников. До записи в буфер регенерации этот многоугольник нужно сравнить с каждой гранью Q, z-оболочка которой перекрывает z-оболочку многоугольника P.
Проверка состоит не более чем из 5 шагов (тестов), которые выполняются в порядке возрастания сложности. Как только на любом из шагов получается утвердительный ответ, многоугольник P сразу преобразуется в растровую форму (Шаг 3).
Этими 5 тестами являются:
x-оболочки многоугольников не перекрываются, поэтому сами многоугольники тоже не перекрываются;
y-оболочки многоугольников не перекрываются, поэтому сами многоугольники тоже не перекрываются;
P
целиком лежит с той стороны от плоскости Q, которая дальше от точки зрения; (утвердительный ответ в тесте 3)
Q
целиком лежит с той стороны от плоскости P, которая ближе к точке зрения;
(отрицательный ответ в тесте 3, но положительный в тесте 4)
Проекции многоугольников на экран (плоскость xy) не перекрываются. Это определяется путем сравнения ребер одного многоугольника с ребрами другого многоугольника.
Если во всех 5 тестах получен отрицательный ответ, то предполагается, что P закрывает Q, и надо поменять местами P и Q в списке многоугольников.
Возможны случаи, когда алгоритм зацикливается:
Поэтому повторное перемещение многоугольников в списке не допускается.
Рассмотренный алгоритм работает и в пространстве изображения, и в пространстве объекта.