| ПРИМЕР - ШАГ 2 |
Очевидным недостатком изображения, полученного на первом шаге, является явное присутствие всех ребер - в том числе и тех, которые закрываются гранями и потому невидимы. Если мы попытаемся построить изображение куба, выводя все его грани, то получим заведомо неверное изображение (из-за присутствия невидимых граней, которые могут закрывать собой заведомо видимые грани).
Чтобы отбросить хотя бы часть из заведомо невидимых граней, поступают. Если вектор внешней нормали n к грани направлен в сторону камеры, то такая грань называется лицевой. В противном случае грань называется нелицевой. Справедливо следующее утверждение: Нелицевая грань никогда не может быть видна, ребро между двумя нелицевыми гранями никогда не может быть видно. В случае выпуклого тела это два утверждение полностью описываю множество невидимых граней и ребер. Тем самым для вывода каркасного изображения куба достаточно вывести все те его ребра, для которых хотя бы одна из примыкающих к ним граней является лицевой.
Соответствующий фрагмент кода приводится ниже.
| <<Шаг 1 - Проволочная модель | Шаг 3 - Закраска граней>> |
|
Hosted by Graphics & Media Lab.
http://graphics.cs.msu.su |
|
mailto:Laboratory Last modified: 24-Aug-2001 |