Алгоритм Уайлера

Алгоритм Уайлера

Алгоритм Уайлера — Атертона (Вейлера — Азертона, Weiler — Atherton) используется в компьютерной графике для клиппинга (нахождения области пересечения) отсекаемого многоугольника по отсекающему многоугольнику, также называемому окном. Отсекаемый и отсекающий многоугольники могут быть невыпуклыми. Алгоритм применим только для плоских фигур.

Входные многоугольники должны иметь фиксированное направление обхода границы (допустим, по часовой стрелке), и не иметь самопересечений. Алгоритм может обрабатывать многоугольники с дырками (дырки задаются как многоугольники с противоположным направлением обхода), но требует дополнительных алгоритмов для определения, какие из многоугольников являются дырками.

Алгоритм может быть модифицирован для объединения двух многоугольников.

Алгоритм

  • Из координат вершин многоугольников A и B составляются два списка.
  • Вершины в каждом из списков помечаются в соответствии с тем, находятся ли они внутри другого многоугольника или нет.
  • В оба списка добавляются точки пересечения многоугольников; между совпадающими точками в разных списках устанавливаются двусторонние связи.
  • Если ни одного пересечений не найдено, возникает одна из следующих ситуаций:
    • A внутри B — вернуть A при отсечении, B при объединении.
    • B внутри A — вернуть B при отсечении, A при объединении.
    • A и B не пересекаются — вернуть пустое множество при отсечении, A&B при объединении.
  • Составляется список точек пересечения, в которых граница многоугольника A при обходе входит в многоугольник B. Следуя из каждой такой точки по часовой стрелке вдоль границ обоих многоугольников A и B, можно найти множество областей пересечения. В случае, когда A и B выпуклы, многоугольник пересечения только один. Таким же образом можно найти и объединение многоугольников, в этом случае обход нужно начинать с выходных точек.

См. также

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Полезное


Смотреть что такое "Алгоритм Уайлера" в других словарях:

  • Алгоритм Уайлера — Атертона — (Вейлера Азертона, Weiler Atherton) используется в компьютерной графике для клиппинга (нахождения области пересечения) отсекаемого многоугольника по отсекающему многоугольнику, также называемому окном. Отсекаемый и отсекающий многоугольники могут …   Википедия

  • Алгоритм Коэна — Сазерленда — (англ. Cohen Sutherland) алгоритм отсечения отрезков, то есть алгоритм, позволяющий определить часть отрезка, которая пересекает прямоугольник. Был разработан Дэном Коэном и Айвеном Сазерлендом в Гарварде в 1966 1968 гг., и опубликован на… …   Википедия

  • Алгоритм Коэна — Сазерленда (англ. Cohen Sutherland) алгоритм отсечения отрезков, то есть алгоритм, позволяющий определить часть отрезка, которая пересекает прямоугольник. Был разработан Дэном Коэном и Айвеном Сазерлендом в Гарварде в 1966 1968 гг., и… …   Википедия

  • Список алгоритмов — Эта страница информационный список. Основная статья: Алгоритм Ниже приводится список алгоритмов, группированный по категориям. Более детальные сведения приводятся в списке структур данных и …   Википедия

  • Клиппинг (компьютерная графика) — Отсечение или клиппинг (англ. clipping) метод оптимизации в рендеринге и компьютерной графике, когда компьютер прорисовывает только ту часть сцены, которая может находиться в поле зрения пользователя. В двухмерной графике, если пользователь… …   Википедия

  • Отсечение — или клиппинг (англ. clipping) метод оптимизации в рендеринге и компьютерной графике, когда компьютер прорисовывает только ту часть сцены, которая может находиться в поле зрения пользователя. В двухмерной графике, если пользователь увеличил… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»