Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_na_ekzamen (2).doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
661.5 Кб
Скачать
  1. Алгоритм Вейлера – Азертона.

Алгоритмы, использующие список приоритетов, основаны на предварительной сортировке по глубине/приоритету. Цель – получить окончательный список элементов сцены, упорядоченный по приоритету глубины. Если такой список окончательный, то можно последовательно визуализировать элементы, начиная с самых дальних. Более близкие к наблюдателю элементы будут затирать информацию о более дальних в буфере кадров.

И дея этого алгоритма схожа с алгоритмом Варнока. Разбиение экранной плоскости может проходить не только прямыми, параллельными координатным осям, но и по границам проекций граней.

Шаги алгоритма:

  1. Сортировка граней по глубине z;

  2. Из полученного списка берется ближайшая к наблюдателю грань A;

  3. Все остальные грани обрезаются по краям грани, выбранной в пункте 2 (A). Таким образом, получается множество граней: F(in) – грани, внутренние по отношению к A – это B1; и грани F(out) – внешние, т.е. B

  4. Удаляем все грани, входящие в подмножество F(in), и прорисовываем саму грань A

  5. Выбирается следующая грань, по границам которой происходит разбиение

  1. Алгоритм Галимберти – Монтанари.

Алгоритмы, использующие список приоритетов, основаны на предварительной сортировке по глубине/приоритету. Цель – получить окончательный список элементов сцены, упорядоченный по приоритету глубины. Если такой список окончательный, то можно последовательно визуализировать элементы, начиная с самых дальних. Более близкие к наблюдателю элементы будут затирать информацию о более дальних в буфере кадров.

Работает в пространстве объектов.

Исторически является одним из первых алгоритмов.

Для каждого ребра производится сравнение с каждой гранью сцены. По результатам сравнения можно получить одну из трех ситуаций:

  1. Ребро полностью находится в полупространстве, включающем также и наблюдателя. В этом случае ребро вносится в список;

  2. Ребро полностью лежит в полупространстве, не включающем в себя наблюдателя. В этом случае необходима дополнительная проверка взаимного расположения проекций ребра и остальных граней;

  3. Ребро попадает в оба полупространства. С данном случае ребро разбивается на две части, одна из которых далее обрабатывается по пункту 1, другая – по пункту 2.

  1. Алгоритм генерации отрезков (симметричный цда).

Общие требования к изображению отрезков:

    1. Концы отрезков должны находиться в заданных точках

    2. Отрезки должны выглядеть прямыми

    3. Яркость вдоль отрезка должна быть постоянной и не зависеть от длины и наклона отрезка.

Концы отрезка расположены на пикселях лишь наиболее близких к требуемым позициям; только в частных случаях координаты концов отрезка будут совпадать с координатами пикселя.

Линия аппроксимируется набором пикселей и в итоге не имеет ничего общего с прямой линией. Только в частных случаях отрезок будет выглядеть прямым (строго вертикально ли строго горизонтально, в крайнем случае – под углом в 45 градусов).

Яркость страдает из-за того, что расстояние между пикселями неравномерное.

ЦДА – цифровой дифференциальный анализатор.

Алгоритм позволяет растризовать отрезок, заданный двумя точками, используя при этом вычисления с вещественными числами (с плавающей точкой).

С имметричный ЦДА. - начало и конец отрезка соответственно. Необходимо решить дифференциальное уравнение .

Суть алгоритма заключается в параллельном приращении X и Y – увеличении координат x и y на некоторую величину Δ. Сначала определяется количество узлов N→∞, использующихся для аппроксимации отрезка, затем за N циклов вычисляются координаты очередных узлов.

. Обычно принимают

Недостаток: необходимы вычисления с плавающей точкой; много лишних действий.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]