Методы transform позволяют применять к многоугольнику произвольные линейные и аффинные преобразования. Метод translate служит для переноса многоугольника на заданный вектор и отличается от метода transform только оптимизацией.

Для определения положения многоугольника по отношению к заданной плоскости служит метод classify, который возвращает одно из следующих значений: INFRONT, INBACK, INPLANE и INBOTH.

Метод split строит два многоугольника, являющиеся результатом разбиения данного многоугольника заданной плоскостью, не изменяя при этом исходного многоугольника.

Методы addVertex и delVertex служат для добавления и удаления вершин многоугольника.

Метод intersect проверяет наличие пересечения данного многоугольника другим выпуклым многоугольником, используя алгоритм из гл. 3.

Методы clipByPlane и clipByFrustrum служат для отсечения много-, угольника по заданной плоскости и усеченной пирамиде соответственно. : Метод closestPointToBoundary определяет точку на границе много-! угольника, ближайшую к данной.

\ Метод getCenter возвращает середину многоугольника, вычисляя ее как |.среднее арифметическое из координат вершин.

Метод getSignedArea возвращает площадь многоугольника со знаком, знак определяется ориентацией многоугольника.

Метод getDistEstimate служит для оценки расстояния до многоугольника вдоль заданного вектора.

Метод mapTextureToWorld служит для определения точки на многоугольнике, соответствующей заданным текстурным координатам (при этом используется mapping).

Метод getTextureExtent возвращает минимальные и максимальные значения каждой из текстурных координат для всего многоугольника.

Рассмотрим подробнее отсечение многоугольника по плоскости (рис. 6.1).

Пусть имеется плоскость п

Рис. 6.1

Пусть имеется плоскость п:(р,п) + а" = 0 . Тогда найдем £ = (у,,п) + с1 расстояние со знаком от соответствующей вершины до плоскости к. Если все эти величины имеют одинаковый знак, то данный многоугольник целиком находится по одну из сторон плоскости (какую именно, зависит от знака этих величин).


⇐ Предыдущая| |Следующая ⇒