ИСМ-06-2:
7. а) Алгоритмы компьютерной графики (удаление невидимых линий и граней, художника)Удаление невидимых линий и поверхностей
Алгоритмы удаления невидимых граней могут быть условно поделены на два класса:
1) алгоритмы, работающие в пространстве объекта (для определения видимости данной грани сравнивается ее взаимное расположение со всеми остальными гранями в сцене)
2) алгоритмы, работающие в пространстве изображения (основаны на нахождении точки ближайшей грани, которую пересекает луч зрения, проходящий через заданную точку в растре)
Удаление невидимых линий заключается в блокировании отображения отрезков, скрытых от наблюдателя. Удаление невидимых поверхностей есть то же самое по отношению к поверхностям.
Алгоритм удаления невидимых граней.
Основан на том, что грань объекта может быть видимой только в том случае, если вектор внешней нормали к этой грани направлен в сторону наблюдателя. В противном случае, грань невидима.
Этот алгоритм легко применим к объекту, ограниченному плоскими гранями (выпуклому), поскольку вектор нормали постоянен в пределах поверхности. Однако, к вогнутому объекту алгоритм неприменим.
Алгоритм художника.
Алгоритм сортировки по глубине – поверхности объектов сортируются по удаленности от наблюдателя и заполняются соответствующими цветами, начиная с самой дальней.
Алгоритм удаления невидимых линий
Алгоритм сортировки по глубине используется для удаления невидимых поверхностей. Алгоритм невидимых граней позволяет построить рисунок со скрытыми линиями, но имеет множество ограничений в общем случае. При применении алгоритма невидимых граней к множеству объектов удалено будет лишь около 50% невидимых линий. Нужен алгоритм, который удалял бы все невидимые линии независимо от количества объектов, их выпуклости и наличия криволинейных поверхностей.
Один из таких алгоритмов действует следующим образом. Для каждого ребра (ребром объекта называется кривая пересечения соседних поверхностей, ограничивающих внутренний объем объекта [1]) каждого объекта производится проверка, не закрыто ли оно гранями (гранями называются поверхности, ограничивающие объем объекта; площадь любой грани конечна, потомку что все грани ограничиваются ребрами [1]) каких-либо объектов. Закрытые части ребер последовательно исключаются до тех пор, пока не останется непроверенных поверхностей. Оставшиеся части ребер выводятся на экран.Реализация алгоритма включает несколько этапов.
Приминение – модули черчения
© ism-06-2.ru