exponenta event banner

ispolycw

True, если вершины многоугольников расположены по часовой стрелке

Синтаксис

tf = ispolycw(x,y)

Описание

tf = ispolycw(x,y) возвращает значение true, если многоугольные контурные вершины представлены x и y упорядочены в направлении по часовой стрелке. x и y декартовы векторы с одинаковым числом элементов.

В качестве альтернативы, x и y может содержать несколько контуров, либо в NaN-отделенная векторная форма или в форме массива ячеек. В этом случае ispolycw возвращает логический массив, содержащий одно значение true или false для каждого контура.

ispolycw всегда возвращает значение true для многоугольных контуров, содержащих две или меньше вершин.

Порядок вершин плохо определен для самопересекающихся многоугольных контуров. Для таких контуров, ispolycw возвращает результат, основанный на порядке или вершинах непосредственно перед и после самой левой из самых низких вершин. Другими словами, из вершин с самой низкой y значение, найти вершину с самым низким x значение. Для нескольких особых случаев самопересекающихся контуров упорядочение вершин не может быть определено с помощью только самых левых из самых нижних вершин; для этих случаев, ispolycw использует тест подписанной области для определения порядка.

Поддержка классов

x и y может быть любым числовым классом.

Примеры

Ориентация квадрата:

x = [0 1 1 0 0];
y = [0 0 1 1 0];
ispolycw(x, y)                     % Returns 0
ispolycw(fliplr(x), fliplr(y))     % Returns 1

Совет

Вы можете использовать ispolycw для географических координат, если многоугольник не пересекает Антимеридиан или содержит полюс. Многоугольник содержит полюс, если данные долготы охватывают 360 градусов. Использовать ispolycw с географическими координатами укажите вектор долготы как x и вектор широты как y.

Представлен до R2006a