nearestvertex

Запросите самую близкую вершину polyshape

Синтаксис

[vertexid,boundaryid,ind] = nearestvertex(polyin,x,y)
[vertexid,boundaryid,ind] = nearestvertex(polyin,P)

Описание

пример

[vertexid,boundaryid,ind] = nearestvertex(polyin,x,y) находит вершину скалярного объекта polyshape, который является самым близким к каждой 2D точке запроса. Координаты точек запроса заданы в x и y. Вывод содержит три вектора:

  • vertexid содержит номер строки в polyin.Vertices, соответствующем самой близкой вершине для каждой точки запроса.

  • boundaryid содержит граничный индекс polyin, соответствующего самой близкой вершине для каждой точки запроса.

  • ind содержит самый близкий индекс вершины в контуре boundaryid для каждой точки запроса.

[vertexid,boundaryid,ind] = nearestvertex(polyin,P) задает точки запроса как матричный P с 2 столбцами, первый столбец которого содержит x - координаты и чей второй столбец содержит соответствующий y - координаты.

Примеры

свернуть все

Создайте объект polyshape и вычислите самую близкую вершину polyshape к точке запроса (2 1.8).

P = [1 1; 3 1; 2 2];
polyin = polyshape(P);
[vertexid,boundaryid,ind] = nearestvertex(polyin,2,1.8);

Постройте polyshape и точку запроса черного цвета цвета.

plot(polyin)
hold on
plot(2,2.5,'k*')

Теперь постройте самую близкую вершину красного цвета. Значение vertexid позволяет вам индексировать в строку polyin.Vertices, соответствующего самой близкой вершине, получая доступ к ее координатам.

plot(polyin.Vertices(vertexid,1),polyin.Vertices(vertexid,2),'r*')
hold off

Входные параметры

свернуть все

Введите polyshape, заданный как скалярный объект polyshape.

Введите координаты 2D точек запроса, заданных как скаляры или векторы. x и y должны иметь ту же длину.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Введите вершины 2D точек запроса, заданных как матрица с 2 столбцами. Первый столбец P содержит x - координаты и второй столбец содержат соответствующий y - координаты.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Выходные аргументы

свернуть все

ID вершины, возвращенный как скаляр или вектор. vertexid содержит номер строки во входе polyshape, соответствующем самой близкой вершине для каждой точки запроса. vertexid является той же длиной как векторы точки запроса или массив.

Типы данных: double

Граничный ID, возвращенный как скаляр или вектор. boundaryid содержит граничный индекс входа polyshape, соответствующего самой близкой вершине для каждой точки запроса. boundaryid является той же длиной как векторы точки запроса или массив.

Типы данных: double

Индексируйте, возвращенный как скаляр или вектор. ind содержит самый близкий индекс вершины в контуре boundaryid для каждой точки запроса.

Типы данных: double

Смотрите также

| | |

Введенный в R2018a