Алгоритм художника — простейший программный вариант решения «проблемы видимости» в трехмерной компьютерной графике[1].
Название «алгоритм художника» относится к технике, используемой многими живописцами: сначала рисуются наиболее удалённые части сцены, потом части которые ближе[1]. Постепенно ближние части начинают перекрывать отдалённые части более удалённых объектов. Задача программиста при реализации алгоритма художника — отсортировать все полигоны по удалённости от наблюдателя и начать выводить, начиная с более дальних[1].
Проблемы алгоритма
правитьАлгоритм не позволяет получить корректную картину в случае взаимно перекрывающихся полигонов. В этом случае, как показано на рисунке справа, полигоны А, В и С накладываются друг на друга таким образом, что невозможно определить, в каком порядке их следует рисовать[1]. В этом случае, следует разбить конфликтный полигон на несколько меньших, например алгоритмом Ньюэлла[англ.], предложенным в 1972 году.
Второй распространённой проблемой является то, что система прорисовывает также области, которые впоследствии будут перекрыты, на что тратится лишнее процессорное время.
Эти недостатки привели к разработке метода Z-буфера, который можно рассматривать как развитие алгоритма художника.
См. также
правитьПримечания
править- ↑ 1 2 3 4 С. В. Польский. КОМПЬЮТЕРНАЯ ГРАФИКА . bmstu. Дата обращения: 9 июля 2023. Архивировано 9 июля 2023 года.
В статье не хватает ссылок на источники (см. рекомендации по поиску). |