(63*i)/15 );
cube.draw ();
bioskey (0 ); closegraph ();
>
Компьютерная графика. Полигональные модели
Хотя в общем случае предложенный подход и не решает задачи удаления полностью, но тем не менее позволяет примерно вдвое сократить количество рассматриваемых граней вследствие того, что нелицевые грани всегда не видны; что же касается лицевых граней, то в общей ситуации части некоторых лицевых граней могут быть закрыты другими лицевыми гранями (рис. 10.13).
Ребра между нелицевыми гранями также всегда не видны. Однако ребро между лицевой и нелицевой гранями вполне может быть и видимым.
10.2.2. Ограничивающие тела (Bounding Volumes)
При удалении невидимых линий и поверхностей постоянно возникает необходимость сравнения граней и объектов друг с другом. Такие задачи часто оказываются сложными и трудоемкими. Одним из средств, позволяющим заметно упростить подобные сравнения, является использование так называемых ограничивающих объемов (тел).
Опишем вокруг каждого объекта тело достаточно простого вида. Если эти тела не пересекаются, то и содержащиеся внутри них объекты пересекаться не будут. Налицо несомненный выигрыш (рис. 10.14).
Следует, однако, иметь в виду, что если описанные тела пересекаются, то сами объекты при этом пересекаться не обязаны (рис. 10.15).
В качестве ограничивающих тел чаще всего используются прямоугольные параллелепипеды с ребрами, параллельными координатным осям. Тогда ограничивающее тело (в данном случае его называют bounding box) описывается шестью числами:
(х min ' У min > zmin )' (xmax » У max » zmax )» где первая тройка чисел задает одну вершину параллелепипеда, а вторая - противоположную. Сами числа представляют собой покоординатные значения минимума и максимума из координат точек исходного объекта.
Проверка на пересечение двух тел сводится просто к проверкам на пересечения промежутков
[х min ' х max 1 [Утт » У max 1 [zmin » zmax ]
10. Удаление невидимых линий и поверхностей одного тела с соответствующими промежутками другого. В'случае если пересечение хотя бы одной пары промежутков пусто, то можно сразу заключить, что тела, а следовательно, и содержащиеся внутри их объекты, не пересекаются.