Рассмотрим многогранник, для каждой грани которого задан вектор внешней нормали (рис. 12.5). Несложно заметить, что если вектор нормали грани
(
) составляет с вектором
, задающим направление проектирования, тупой угол, то эта грань заведомо не может быть видна. Такие грани называются не лицевыми. В случае, когда соответствующий угол является острым, грань называется лицевой.
| |
| Рис. 12.5 | Рис. 12.6 |
Пусть
– угол между вектором нормали
к некоторой грани и направлением проектирования
, которые заданы в мировой системе координат.
Так как для случая параллельного проектирования направление проектирования не зависит от грани (значение вектора
не зависит от номера грани
), то условие отбора лицевой грани с номером
можно записать в виде
, (12.1)
что говорит о том, что угол
является острым и его значение принадлежит отрезку
. Поскольку знаменатель в (12.1) всегда положителен, то условие (12.1) можно заменить на более простое
(12.2)
Рассмотрим случай центрального проектирования (рис. 12.6). Пусть для этого случая в видовой системе координат заданы:
– произвольная точка на некоторой грани с номером
,
– вектор внешней нормали к этой грани,
– точка, определяющая центр проектирования,
– направление проектирования для точки
,
– угол между вектором нормали
и направлением проектирования
. В отличие от случая параллельного проектирования значение вектора
зависит от положения точки
на выбранной грани.
(12.3)
Теперь можно записать условие отбора лицевой грани
(12.4)
или более просто
(
) (12.5)
Знак этого скалярного произведения в (12.5) не зависит от выбора точки на грани, а определяется тем, в каком полупространстве относительно плоскости, содержащей данную грань, лежит центр проектирования. Поэтому, определения того, является заданная грань лицевой или нет, достаточно взять произвольную точку на этой грани и проверить выполнение условия (12.5)
В случае, когда фигура представляет собой один выпуклый многогранник, удаление не лицевых граней полностью решает задачу удаления невидимых граней.
В общем случае предложенный подход хотя и не решает задачу полностью, но позволяет примерно вдвое сократить количество рассматриваемых граней [].






